Циклические коды.ppt
- Количество слайдов: 11
Циклические коды.
Коды БЧХ очень важны, поскольку при блоках, длина которых равна порядка несколько сотен бит, коды БЧХ превосходят своими качествами все другие блочные коды с той же длиной блока и степенью кодирования. В наиболее часто применяемых кодах БЧХ используется двоичный алфавит и блок кодового слова
Таблица 3. 3 Параметры кодов БЧХ k t n k t 7 4 1 63 30 6 127 64 10 255 207 6 255 99 23 15 11 1 24 7 57 11 199 7 91 25 7 2 18 10 50 13 191 8 87 26 5 3 16 11 43 14 187 9 79 27 26 1 10 13 36 15 179 10 71 29 21 2 7 15 29 21 171 11 63 30 120 1 22 23 163 12 55 31 11 5 113 2 15 27 155 13 47 42 6 106 3 8 31 147 14 45 43 57 1 99 4 247 1 139 15 37 45 51 2 92 5 239 2 131 18 29 47 45 3 85 6 231 3 123 19 21 55 39 4 78 7 223 4 115 21 13 59 36 5 71 9 215 5 107 22 9 63 n 31 16 3 63 7 127 255
Таблица 3. 4 Порождающие многочлены кодов БЧХ n k t Порождающий полином многочлен Двоичный код Восьмеричный код 7 4 1 1011 13 15 11 1 10011 23 15 7 2 111010001 721 15 5 3 10100110111 2467 31 26 1 100101 45 31 21 2 11101101001 3551 Так, коэффициентами порождающего полинома для кода (15, 5, 3) в восьмеричной форме является число 2467, что соответствует двоичной форме. В результате перехода от записи двоичной формы представления порождающего полинома к записи многочлена получим
Коды Рида-Соломона (Reed-Solomon codes – RS codes) – это широко используемый подкласс недвоичных кодов БЧХ. При использовании кодов Рида. Соломона данные обрабатываются порциями по m бит, именуемыми символами. Код (n, k) характеризуется следующими параметрами Таким образом, алгоритм кодирования расширяет блок k символов до размера n , добавляя (n – k) избыточных контрольных символов. Как правило, m > 1 является степенью 2, широко используется значение m = 8.
Преимущества недвоичных кодов, подобных кодам Рида. Соломона, можно показать следующим образом. Рассмотрим двоичный код (n, k) = (7, 3). Полное количество кодовых слов в нем равно 2 n = 27 = 128, из которых 2 k = 23 = 8 (или 1/16 часть всех кодовых слов) являются разрешенными кодовыми словами. Теперь рассмотрим недвоичный код (n, k) = (7, 3), где каждый символ состоит из m =3 бит. Полное количество кодовых слов в таком коде равно 2 nm = 221 = 2 097 152 , из которых 2 km =29 = 512 (или 1/4096 часть всех кодовых слов, т. е очень небольшая часть) являются разрешенными кодовыми словами. Из сравнения двоичных и недвоичных кодов следует, что в последних используется только незначительная часть полного количества кодовых слов, и это дает возможность достичь большего значения dmin.
Рассмотрим на примере способность кода Рида-Соломона исправлять пакеты ошибок, которые могут быть вызваны либо импульсными помехами, либо глубокими замираниями сигнала в радиотракте. Возьмем для примера код (n, k) = (255, 247), в котором каждый символ состоит из т = 8 бит (такие символы принято называть байтами). Поскольку n – k = 8, из уравнений (3. 33) и (3. 34) можно видеть, что этот код может исправлять любые 4 -символьные ошибки в блоке длиной до 255 символов. Пусть блок длительностью 25 бит в ходе передачи поражается помехами, как показано на рисунке 3. 16. В этом примере импульсная помеха или глубокое замирание сигнала попадает на 25 последовательных битов и исказит точно 4 символа. Декодер для кода (255, 247) исправит любые 4 -символьные ошибки без учета характера повреждений, причиненных символу. Другими словами, если декодер исправляет байт (заменяет неправильный правильным), то ошибка может быть вызвана искажением одного или всех восьми битов. Поэтому, если символ неправильный, он может быть искажен на всех двоичных позициях.
Это дает коду Рида-Соломона огромное преимущество при наличии импульсных помех или замираний сигнала по сравнению с двоичными кодами (даже при использовании в двоичном коде чередования). В этом примере, если будет наблюдаться воздействие аддитивного белого гауссовского шума, 25 -битовая случайная ошибка может исказить более чем 4 символа (искаженными могут оказаться до 25 символов). Конечно, исправление такого числа ошибочных символов окажется вне возможностей кода (255, 247).
Систематическое кодирование с помощью (n-k) разрядного регистра сдвига. Как показано на рис. 3. 19, кодирование последовательности из 3 -х символов в систематической форме на основе кода Рида-Соломона (7, 3), определяемого генератором Р(X) из уравнения (3. 49), требует реализации регистра сдвига с обратными связями (LFSR). Нетрудно убедиться, что элементы умножителя на рис. 3. 19, взятые справа налево, соответствуют коэффициентам полинома в уравнении (3. 49). Этот процесс кодирования является недвоичным аналогом циклического кодирования, которое описывалось выше. Здесь, в соответствии с алгоритмом кодирования для кода Рида-Соломона ненулевые кодовые слова образованы символами, и каждый символ состоит из т = 3 бит.
Следует отметить сходство между рисунками 3. 19 и 3. 8. В том и другом случаях количество разрядов в регистре равно п - k. Рисунок 3. 8 для циклического кодирования отображает пример двоичного кодирования, где каждый разряд содержит 1 бит. В данном разделе приведен пример недвоичного кодирования, так что каждый разряд регистра сдвига, изображенного на рис. 3. 19, содержит 3 -битовый символ. На рис. 3. 8 коэффициенты, обозначенные А 1, А 2, . . . , являются двоичными. Поэтому они принимают одно из значений 0 или 1, просто указывая на наличие или отсутствие связи в LFSR. На рис. 3. 19 каждый коэффициент является 3 битовым, так что они могут принимать одно из 8 значений.
Циклические коды.ppt