2012-10-23 4 views
0

Если нам нужно получить данные от отправителя как кусок бит (например, 8 бит).Код ошибки для потерянного бита

Но передача ненадежна, что приводит к потере бит. (Не бит-флип) Это означает, что любой бит в куске может отсутствовать, а приемник получит только 7 бит.

Я изучил некоторое кодирование с исправлением ошибок, такое как «код Хэмминга». Но в этой ситуации код предназначен для восстановления fliped-bit, а не потерянного бита.

+0

Вы счастливы с (8, 4) код, который может исправить любое удаление? –

+0

и, что более важно, вы можете обнаружить, что вы читаете менее 8 бит или читаете мусор в конце? –

ответ

0

Если вы довольны низким энтропийным кодом, и вы можете обнаружить окончание сообщения, вы можете просто отправить каждый бит дважды.

Этот код можно восстановить из любого числа удалений, которые происходят в разных экспозициях:

Получив, найти все нечетные размера пробегов и продлить их на один бит. Если вы закончите с меньшим ожидаемым количеством бит, вы не сможете восстановить несколько удалений.

Если вы хотите обеспечить фиксированную частоту ошибок, которую можно восстановить, используйте бит-начинку.

Пример:

0110 

encoded as: 
00 11 11 00 

a double error occurs: 
0x 11 x1 00 

received: 
011100 

'0' and '111' are odd-sized runs. Fix: 
00111100 

we have 8 bits, and have recovered from a double error. 
decode: 
0110 

Пример 2:

0101 

encoded as 
00110011 

transmitted as 
0xxx0011 

received as 
00011 

corrected as 
000011 

decoded as 
001 

which is shorter than expected. A transmission error has occured. 

Пример 3 (вставка битов после запуска 3 бита):

0000 1111 

stuffed as 
00010 11101 

sent as 
0000001100 1111110011 

 Смежные вопросы

  • Нет связанных вопросов^_^