Основы теории передачи информации


Синдромное декодирование линейных блочных кодов


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

Пусть U = ( U0 , U1 , …, Un-1 ),  = ( е0 , е1, …, еn-1

) и  =  ( r0 , r1, r2 , …, rn-1) являются передаваемым кодовым словом, вектором-ошибкой и принятым вектором  соответственно. Тогда

r   =  U  + e                                                      (1.25)

и синдром

   S = r×HT = (U + e )× HT = U× HT + e× HT = 0 + e× HT =  e× HT ,                     (1.26)

поскольку для любого кодового слова  U × HT  = 0.

Таким образом, синдром принятой последовательности  r  зависит только от ошибки, имеющей место в этой последовательности, и совершенно не зависит от переданного кодового слова.  Задача декодера,  используя эту зависимость,  определить элементы (координаты) вектора ошибок.  Найдя вектор ошибки можно восстановить кодовое слово как

                                            U*  =  r  + e .                                                        (1.27)

На примере одиночных ошибок при кодировании с использованием линейного блочного (7,4)-кода покажем, как вектор ошибки связан с синдромом, и как, имея синдром, локализовать и устранить ошибки, возникшие при передаче.

Найдем значения синдрома для всех возможных одиночных ошибок в последовательности из семи символов:

e_ = ( 0000000

),

1011100

T

 e_ × HT  =  ( 0000000 ) ×

1110010

= (000);

 

0111001

 

e0 = ( 1000000 ),

 

1011100

T

 e0× HT  =  ( 1000000 ) ×

1110010

= (110);

 

0111001

 

e1 = ( 0100000 ),

 

1011100

T

 e1× HT  =  ( 0100000 ) ×

1110010

= (011);

 

0111001

e2 = ( 0010000 ),

 

1011100

T

 e2× HT  =  ( 0010000 ) ×

1110010

= (111);

 

0111001

 

 

e3 = ( 0001000




Начало  Назад  Вперед