Разработка основных элементов системы передачи дискретной информации (скорость передачи данных 600 и 1200 бит/с), страница 7

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

 


                                                       М2                            М2                                     выход        

Вход              М2         1                                 2                               3             4                

                                           Р   е   г   и   с   т   р          с    д    в    и    г    а

Рисунок 3.10 – Вторая часть схемы декодера.

Первая часть декодера должна корректировать ошибки в принятом сообщении. В ее основе лежит схема, идентичная второй части декодера. К ней добавлен сдвиговый регистр, в который заносится принимаемое сообщение. Схема первой части декодера показана на рисунке 3.11. Признаком наличия ошибки является ненулевой остаток в регистре RG2.

Рассмотрим работу декодера на примере. Пусть передается сообщение А(х)=101=х2+1. После умножения на g(х) получим код  F(х)=1001011=х63+х+1. Предположим, что сигнал был передан правильно и на декодер поступил без ошибок. Тогда после семи тактовых импульсов в регистре  RG2 будет код 0000, а в регистре RG1 - принятый код. После следующих семи импульсов код с регистра  RG1 поступит на вторую часть декодера, с выхода которого мы получим переданное сообщение 101.

Теперь предположим, что код был передан с ошибкой в старшем бите: F`(х)=0001011. Тогда после семи импульсов в регистре RG2 будет ненулевой остаток  х3+х+1=1011, а на выходе опознавателя №1 будет единица. Благодаря сумматору она повлияет в следующем такте на значение старшего бита, хранимого в регистре RG1. Остальные биты изменены не будут. Далее уже исправленная комбинация поступает на вторую часть декодера, где мы получаем  переданное значение.

Если бы ошибка была в другом бите, то и остаток в RG2 конечно был бы другой. Но особенность циклического кода в том, что через несколько тактов мы обязательно получим код 1011. За эти несколько тактов  содержимое регистра RG1 сдвинется и неверный бит будет в его старшем разряде. То есть, он будет исправлен.

                      Р   е   г   и   с   т   р       с   д    в   и   г   а     RG1

 


Вход          1             2           3           4            5            6          М2        7               М2    Выход

 


     Р   е   г   и   с   т   р      с   д   в   и   г   а    RG2    ТИ

                                                                                                    Опозн. 1              

                                М2                      М2      3              4                &

    М2                   1                           2                                                                     

                                                                                        1   

                                                                                        1          Опозн. 2  

                                                                 1                                       &

                                                                               ТИ         

Рисунок 3.11  – Первая часть схемы декодера.

Теперь предположим, что принятое сообщение имеет ошибки в двух старших битах: А` (х)=0101011=х53+х+1. Тогда остаток в регистре RG2 снова будет ненулевой:

х53+х+1         х42+х+1

х532+х        х

          х2+1

х2+1=0101

При таком остатке сработает опознаватель №2 и в следующем такте будут исправлены биты х6 и х5, находящиеся в ячейках 6 и 7 регистра RG1. При других комбинациях смежных ошибок мы будем получать остатки, которые через соответствующее число тактов перейдут в код х2+1=0101. Порядок такого перехода для ошибки вида 0001100 приведен в таблице 3.