- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •2.2. Структуры оптимальных приемников различения двух сигналов (оптимальность по В.А. Котельникову)
- •2.3. Анализ помехоустойчивости оптимальных приемников различения двух сигналов
- •3. ОБЩИЕ ПРИНЦИПЫ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ ОШИБОК ИЗБЫТОЧНЫМИ КОДАМИ
- •3.1. Мера избыточности кода
- •3.2. Оценка помехоустойчивости при передаче дискретных сообщений
- •4. ПРИНЦИПЫ ПОСТРОЕНИЯ И РЕАЛИЗАЦИЯ КОМБИНАТОРНЫХ КОДОВ
- •4.2. Избыточные комбинаторные коды
- •4.2.1. Код на некоторые сочетания (четные или нечетные)
- •4.3.2. Проектирование многоступенных комбинаторных узлов
- •4.4. Проектирование декомбинаторных устройств
- •4.4.1. Проектирование одноступенных матричных декомбинаторных узлов
- •5. ПРИМЕНЕНИЕ ГРУППОВЫХ КОДОВ В КАНАЛАХ И ТРАКТАХ СИСТЕМ ПЕРЕДАЧИ ДАННЫХ
- •6.1.6. Матричный способ представления циклического кода
- •6.1.7. Циклические систематические коды
- •6.2.1. Кодирование при помощи порождающего полинома £(дс)
- •6.2.1.1. Общие принципы кодирования
- •6.2.1.2. Кодирующие устройства БЧХ-кодов, построенные при помощи порождающего полинома g(x)
- •7.3.2. Кодирование циклических кодов исправляющих пакеты ошибок
- •7.З.2.1. Независимое декодирование перемежаемых (л, /я)-кодов
- •7.3.3.2. Декодирование циклических кодов Файра
- •8.1. Краткая характеристика методов повышения помехоустойчивости
- •8.4. Использование обратной связи в системах передачи на базе протокола HDLC
- •8.4.1. Основные возможности протокола HDLC
- •8.4.4. Кодонезависимость и синхронизация HDLC
- •8.4.5. Управляющее поле HDLC
- •9.2. Арифметические коды, использующие контроль по модулю простого числа
- •9.2.1. Контроль арифметических операций
- •9.2.2. Контроль логических операций
- •9.5.2. Арифметические систематические (n,m,dА)-коды, обнаруживающие и исправляющие ошибки
Может оказаться желательным укоротить код, исправляющий паке ты ошибок, либо потому, что пакеты ошибок появляются слишком часто, либо потому, что общая длина или число их информационных символов в коде ограничены другими требованиями, накладываемыми на систему передачи данных. Если нельзя найти полный код (или, говорят, «код под ходящей естественной длины»), то можно укоротить код, заменяя некото рые из его информационных символов высших порядков (старших степе ней) нулями и отбрасывая их. Это не потребует изменения методов коди рования и структуры кодера. Однако переход к укороченному цикличе скому коду потребует изменения структуры декодера, полностью анало гичной тем правилам, которые рассматривались в подразд. 5.3 при анализе структуры декодера Меггита для укороченных БЧХ-кодов.
7.3.3.2. Декодирование циклических кодов Файра
Структура декодера циклического кода Файра, реализующего син дромное декодирование, аналогична структуре декодера, приведенной на рис. 7.5. Процедура декодирования занимает 2п тактов. В течение первых п тактов принятый из канала связи полином кода Файра У'(х) записывается
вбуферный регистр (БР) и поступает на вход генератора синдрома (ГС)
ввиде х к • V(x) (предварительное умножение полинома V \ x ), соответст
вующего вектору V , на х к). ГС вычисляет синдром, т. е. вычет
х к •P’,(^)mod(g(x)). В следующие л-тактов (цикл исправления пакета ошибок) V выталкивается на выход БР, а ГС вычисляет вычеты по моду лю g(x). В момент появления пакета ошибок в Ъ старших разрядах БР со стояние ГС, как отмечалось в подразд. 7.2, таково: в старших Ь разрядах ГС находится исправляемый пакет ошибок, а ( к - Ь) младших разрядов ГС находятся в нуле. Данное состояние (нули в (к - Ь) в младших разрядах ГС) выделяет селектор ГС на основе {к - 6)-входового дизъюнктора. Слож ность селектора не зависит от длины исправляющего пакета ошибок. Это главное достоинство декодеров, реализующих синдромное декодирование всех рассмотренных выше подходов к исправлению пакетов ошибок цик лическими кодами.
Декодеры неукороченных кодов Файра строятся аналогично рас смотренным в подразд. 7.3.2. Поэтому более подробно рассмотрим деко дирование укороченных кодов Файра.
Пример 7.8. Построим декодер укороченного кода Файра (214, 200), используя код Файра (279, 265), исправляющего пакеты ошибок длиной 5 и меньше, если заменить в нем 65 информационных символов высших разрядов нулями и отбросить их. Структура декодера укороченного кода приведена на рис. 7.10.
Рис. 7.10. Декодер укороченного кода Файра (214, 200), исправляющего пакеты ошибок длиной 5 и меньше
Выберем для циклического кода (279, 265) следующий порождаю щий полином: g(x) = (1 0 * 2 0 х 5)(1 0 х 9) = 10дс2 0 JC5 0 х 9 0 jc n 0дс14
Декодер укороченного кода Файра строится аналогично декодеру Меггита для укороченных циклических БЧХ-кодов. В частности, при вводе в ГС требуется провести дополнительное автоматическое умножение по
линома, соответствующего вектору V' на х 1 (где / - число отбрасываемых информационных символов). Таким образом, требуется в ГС отыскать вы
чет х 1+к • Vf(x) по модулю g(x). В нашем примере следует отыскать вычет d{x) = xl+k modg(jc) = х 7 9 modg(;t). В результате получим
d(x) = 10 х 0 *2 0 *4 0 X 10 JC9 0 х10 0 х 110 д:13
Анализируя степени полиномов d(x) и g(;t), построим декодер (214, 200)-кода Файра, структура которого приведена на рис. 7.10.
В заключение отметим, что циклические коды можно укорачивать, сохраняя корректирующую способность исходного циклического кода, но можно и удлинять (это касается, в частности, и рассмотренных кодов, ис правляющих пакеты ошибок), применяя посимвольное (или поблочное) перемежение степени /. При этом удлинять указанным способом можно как полные, так и укороченные циклические коды. Корректирующая спо собность удлиненных кодов возрастает, т.е. если исходный код исправляет пакеты длиной Ъ и меньше, то удлиненный циклический код исправляет пакеты длиной b-i и меньше (/ - степень перемежения удлиненного кода).
Способы построения структур кодеров и декодеров полных, укоро ченных и удлиненных циклических кодов были рассмотрены в настоящем разделе.
Контрольные вопросы к главе 7
1.Построить код, исправляющий пакеты ошибок, на основе БЧХкода (6,2), заданного полиномом g(x) = 1 0 х 0 х2 0 JC4, степень перемеже ния i = 2, привести полиномиальное представление кода.
2.Построить код Файра с использованием полинома g(x) = 1 0 JC0 JC3, длина исправляемого пакета ошибок Ь = Ъ.
3.Разработать кодер с независимым кодированием для перемежае мого (л,т)-кода со степенью перемежения / = 2, код строки - (6,2), задан
ный полиномом g(x) = 1 0 х 0 х2 0 х4, исправляет пакеты ошибок длиной
Ь = 2.
4. Разработать кодер с кодированием при помощи полиномаg(х ) для перемежаемого (л,т)-кода со степенью перемежения i = 2, код строки-
(6.2) , заданный полиномом g(jt) = 1 0 х 0 х2 0 дг4, исправляет пакеты оши бок длиной Ь - 2 .
5. Разработать декодер с независимым декодированием для переме жаемого (/7,ш)-кода со степенью перемежения i = 2, код строки - (6,2), за данный полиномом g(x) = 1 Ф х © х2 Ф дс4, исправляет пакеты ошибок дли ной b = 2.
6. Разработать декодер с декодированием при помощи полинома g(jt') для перемежаемого (/7,ш)-кода со степенью перемежения i = 2, код строки - (6.2) , заданный полиномом g(x) = 1 Ф х Ф х2 Ф х4, исправляет пакеты оши бок длиной Ь = 2 .
7.Спроектировать кодер для кода Файра, построенного с использо ванием полинома g(x) = 1 Ф х Ф ^ 3 (см. п.2), длина исправляемого пакета ошибок Ь- Ъ.
8.Спроектировать декодер для кода Файра, построенного с исполь зованием полинома g(x) = 1 Ф х Ф х3 (см. п.2), длина исправляемого пакета ошибок Ъ = Ъ.