Учебное пособие разработал



бет13/50
Дата17.05.2020
өлшемі6.68 Mb.
түріУчебное пособие
1   ...   9   10   11   12   13   14   15   16   ...   50
Пример. Последовательность из n = 10 битов можно представить степенным полиномом, например вида Р(х) = х9 + х5 + х2 + 1, который представляет собой информационное кодовое слово 1000100101. Разделим теперь Р(х) на порождающий полином, называемый также генераторным полиномом G(x). Результатом деления будут частное Q(x) и остаток R(х).

Возьмем в качестве генераторного полинома G(x) = х5 + x4 + + х2 + 1, представляющий двоичное число 110101. Перемножим Р(х) и первый член полинома G(x), имеющий наивысшую степень, а полученный результат затем разделим на G(x):



Выполним эти вычисления




P(x)x5

=

1

0

0

0

1

0

0

1

0

1

0

0

0

0

0

G(x)

+

1

1

0

1

0

1





































1

0

1

1

1

0




























+




1

1

0

1

0

1





































1

1

0

1

1

1

























+







1

1

0

1

0

1














































1

0

0

1

0

0













+



















1

1

0

1

0

1





































1

0

0

0

1

0










+






















1

1

0

1

0

1





































1

0

1

1

1

0







+

























1

1

0

1

0

1





































1

1

0

1

1

0




+




























1

1

0

1

0

1

Остаток R(x)











































1

1

Передаваемое кодовое слово D(x) в этом случае имеет вид



в примере соответственно 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1. Декодирующее устройство делит эти биты данных на G(x), и если новый остаток R'(x) = 0, то передача свободна от ошибок (без ошибок). В противном случае из остатка можно локализовать ошибку.



В качестве примера на рис. 1.23 показаны структурные схемы кодирующего и декодирующего устройств с использованием циклического кода (29,24). Порождающий многочлен этого кода имеет вид F1(x) = x5 + x2 + 1. Первоначально (рис. 1.23, а) ключ К замкнут и на вход схемы последовательно подаются информационные символы. Одновременно эти же символы поступают на выход. Кодер представляет собой здесь многотактный линейный фильтр Хаффмена, состоящий из элементов 1 — 5 сдвигового регистра и двух сумматоров C1 и С2. Данное устройство выполняет деление полинома x5G(x) на порождающий полином F1(x). После 24-х тактов работы кодера в его регистре образуется остаток q(x) от деления. На 25-м такте ключ К перебрасывается в верхнее положение, и символы остатка (поверочные символы) один за другим поступают на выход кодера. За пять тактов на выход поступают пять поверочных символов и происходит обнуление регистра. Затем происходит кодирование следующей группы информационных символов.


Рис. 1.23 — Пример структурных схем кодера (а) и декодера (б)

с использованием циклического кода (29,24)


Принятый декодером (рис. 1.23, б) входной сигнал запоминается регистром сдвига PC и одновременно через ключ К поступает на устройство деления УД, подобное тому, которое имеется в кодере. После поступления в УД 29-ти символов (блок данного кода) ключ К перебрасывается в нижнее положение и поступление входного сигнала на УД прекращается. Одновременно с выхода УД сигнал поступает на детектор ошибки. Если принятое кодовое слово не имеет ошибок, то на выходе УД имеется нулевой сигнал, что и фиксирует детектор, разрешая без коррекции информационным символам покидать PC через сумматор С3. Если принято ошибочное кодовое слово, то на выходе УД имеется ненулевой сигнал. В этом случае продолжающийся тактовый сдвиг разрядов сигнала в регистре УД приводит к появлению кодового слова, соответствующего эталонному полиному. В тот же момент в детекторе формируется исправляющий сигнал, который соответствует положению ошибки в информационных символах, проходящих через сумматор С3. Исправляющий символ, поступающий от детектора ошибок, исправляет ошибочный информационный символ.

Подклассом циклических кодов являются широко распространенные коды БЧХ (Боуза–Чоудхори–Хоквингема). Для них справедливо правило: для любых значений s и q < (2s – 1)/2 существует двоичный циклический код длиной n = 2s – 1, исправляющий все комбинации из q или меньшего числа ошибок и содержащий не более чем sq проверочных символов. Так, код БЧХ (63,44), используемый в системе спутникового цифрового радиовещания, позволяет исправить две или три ошибки, обнаружить и замаскировать пять или четыре ошибки на каждый кодовый блок из 63-х символов. При вероятности ошибки рош = 10–3 это означает появление одной необнаруженной ошибки в час. Избыточность данного кода составляет R = (63 – 44)/63 = 0,33 (33 %). Такой же избыточностью обладают и циклические коды Рида–Соломона. Двойной код Рида–Соломона с перемежением символов (CIRC-код) как наиболее эффективный при исправлении ошибок большой кратности нашел применение в системе компакт-диска и цифровой магнитной записи.

В последнее время стали использоваться также сверточные коды. В них обрабатывается непрерывная последовательность символов без разделения ее на независимые блоки. Поверочные символы в каждой группе из n0 символов сверточного кода определяются не только k0 информационными символами этой группы, но и информационными символами предшествующих групп. Поэтому он не является блочным кодом длины n0. Недостатком сверточных кодов является возможное размножение ошибок, т.е. появление нескольких ошибок на выходе декодера, если одиночные ошибки оказались не исправленными при декодировании. Сверточные коды в сочетании с двойным кодом Рида–Соломона с перемежением символов предлагается использовать в системе непосредственного цифрового радиовещания.




Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   ...   50


©netref.ru 2019
әкімшілігінің қараңыз

    Басты бет