Васин В.И. Информационные технологии в радиотехнических системах. Под ред. И.Б.Федорова (2003) (1092038), страница 115
Текст из файла (страница 115)
9.29. Схема каскадного кодирования 588 Легко показать, что кодовое расстояние этого кода равно 4. Код исправляет все однократные ошибки. Их координаты определяются по номерам строк и столбцов, в которых не выполняется проверка на четность. Одновременно код обнаруживает все двухкратные ошибки. Итеративные коды характеризуются большой длиной, большим кодовым расстоянием и сравнительно простой процедурой декодирования. Недостатком их является малая скорость /с/и при заданной исправляющей способности. Каскадные коды получаются комбинированием двух или более кодов и в некоторой степени похожи на итеративные. Кодирование осуществляется следующим образом 1133]. Множество /с,/г, информационных символов (в дальнейшем предполагают, что они двоичные) разбивается на /ст подблоков по /с~ символов.
Каждый подблок из /с~ символов рассматривается как символ из алфавита объемом 2ч. Затем /гт подблоков кодируются кодовыми комбинациями внешнего кода (рис. 9.29), составленными из пт подблоков по /г1 двоичных символов, Наконец, каждый из пт подблоков кодируется кодовыми комбинациями внутреннего кода (пь 1,). Полученное множество пт кодовых слов внутреннего (и„ /с,)-кода является кодовым словом каскадного (п,пъ /с~/ст)-кода. Обычно в качестве внешнего используют код Рида — Соломона с основанием 2 ', обеспечивающий максимальное кодовое расстояние при заданных л, и /г„пт < 2ч, а в качестве внутреннего — двоичный (пь /с,)-код.
Декодирование осуществляется следующим образом. Сначала декодируется внутренний код, При этом получается пт подблоков, содержащих по /е~ символов, которые декодируются внешним кодом. В результате на выхоЛе внешнего декодера появляются /с, подблоков по /г, символов. Декодирование двумя отдельными декодерами позволяет существенно снизить сложность по сравнению с той, которая потребуется для получения 9.5. Помехоустойчивое кодирование и декодирование той же вероятности ошибки при одном уровне кодирования. Каскадные коды, как и итеративные, имеют большую длину и большое кодовое расстояние.
Во многих случаях они являются наилучшими среди блочных кодов. В частности, для двоичного симметричного канала при любой скорости передачи, не превосходящей пропускной способности канала, существует каскадный код, при котором вероятность ошибки может быть сколь угодно мала. 9.5.3. Непрерывные (сверточные) коды Сверточный код — это линейный рекуррентный код. В общем случае он образуется следующим образом. В каждый 2'-й тактовый момент времени на вход кодирующего устройства поступает «в символов сообщения ала,....ах Выходные символы ЬлЬ,....Ь, фоРмиРУютсЯ с помощью Рекуррентного соотношения из К символов сообщения, поступивших в данный и предшествующие тактовые моменты времени: к~ко-1 Ь, = ~(В~Юс „ар „), т=1,2,...,ло, =о где с — коэффициенты, принимающие значения 0 или 1.
Символы сообщения, из которых формируются выходные символы, хранятся в памяти кодирующего устройства. Величина К называется длиной кодового ограничения. Она показывает, на какое максимальное число выходных символов влияет данный информационный символ, и играет ту же роль, что и длина блочного кода. Сверточный код имеет избыточность у = 1 — /со/но и обозначается ко/по. 'Типичные параметры сверточного кода: /со, но = 1, 2, "., 8; /2о/но = = 1/4, ..., 7/8; К = 3, ..., 10 11331. Кодирующее устройство сверточного кода может быть реализовано с помощью сдвигающего реги- ы2 стра и сумматоров по модулю 2.
Для схемы, показанной на ьа рИС. 9.30, На КаждЫй СИМВОЛ Вход Г~ Гх Гх сообщения вырабатываются о, /Нх ВЫХОД два символа, которые последовательно во времени через ы2 ы2 коммутатор подаются в канал. Выходные символы являются линейными функция- Рис. 9ЗВ. Структурная схема кодера сверточми поступающего информа- ного кода(/оо/но=!/2,К/ 3) 589 9. Радиотехнические системы передачи информации ционного символа и комбинации, записанной в первых двух разрядах регистра (логического состояния регистра).
Связь между ячейками сдвигающего регистра и сумматорами по модулю 2 удобно описывать порождающими много- членами 9;(х), у = 1, 2, ..., по. Для рассматриваемого случая 9~(х) = хз Ю 1 (описывает связи верхнего сумматора) и 9з(х) =хз ео х Ю 1 (описывает связи нижнего сумматора). Наличие члена х', 1 = О, 1, 2, ..., в порождающем много- члене означает, что (1 + 1)-й разряд регистра сдвига соединен с сумматором. Счет разрядов регистра ведется слева направо. Сверточный код получается разделимым, если в каждый тактовый момент ко выходных символов совпадают с символами сообщения.
На практике обычно используются несистематические сверточные коды. Различают прозрачные и непрозрачные сверточные коды, Первые характеризуются свойством инвариантности по отношению к операции инвертирования кода, которое заключается в следующем: если значения символов на входе кодера поменять на противоположные, то выходная последовательность символов также инвертируется. Соответственно, декодированная последовательность символов будет иметь такую же неопределенность в знаке, что и принятая последовательность символов, а следовательно, неопределенность знака последовательности можно устранить после декодирования сверточного код» (рис.
9.31). Указанное свойство прозрачных кодов особенно важно для СПИ, использующих противополоясные фазоманипулированные сигналы, которым свойственно явление обратной работы. Для непрозрачного кода неопределенность знака последовательности символов приходится устранять до сверточного декодирования, что приводит к увеличению вероятности ошибок. Нетрудно показать, что сверточный код будет прозрачным, если каждый его порождающий многочлен содержит нечетное число членов. Помимо рассмотренного способа задания сверточного кода, возможны и другие.
В частности, выходные символы можно рассматривать как свертку импульсной характеристики кодера с информационной последовательностью (отсюда происходит название кода). декодер Разнесений кодер Рис. 9.31. Схема СПИ при использовании прозрачных сверточных колов 590 9.5. Помекоустойчивое кодирование и декодирование Начальное состояние ~ОО] [О2~ Я Я О ! 2 1l Такты Рис. 9.32. Решетчатая диаграмма для кода 1/2 с К = 3 Для пояснения процессов кодирования и декодирования часто используют решетчатую диаграмму, представляющую собой одно из возможных изображений кодового дерева. Такая диаграмма для кодера на рис.
9.32 состоит из узлов и ветвей (ребер). Число ветвей, исходящих из узла, равно основанию кода. Число узлов равно 2к '. Единичному символу сообщения приписываются штриховые линии, а нулевому — сплошные. Выходные символы записываются над ветвями. Надписи около узлов характеризуют логическое состояние кодирующего устройства. Каждой информационной последовательности символов соответствует определенный путь (определенная траектория) на диаграмме. Кодовая последовательность формируется путем считывания комбинаций над ветвями при прослеживании данного пути.
Соответственно, процесс кодирования заключается в выборе одного из путей диаграммы. Корректирующая способность сверточного кода зависит от так называемого свободного расстояния И„, которое, по существу, содержит ту же информацию о коде, что и кодовое расстояние для блочных кодов. Оно определяется как минимальный вес (минимальное число единиц) пути на решетчатой диаграмме, начинающегося и заканчивающегося в нулевом узле. Например, для кода ка/нс = 1/2, К = 3 имеем Н„= 5.
В табл. 9.1 приведены порождающие многочлены оптимальных сверточных кодов с относительной скоростью передачи 1/2 и кодовым ограничением длины 3...8, а также значения свободных расстояний этих кодов. 591 9. Радиотехнические системы передачи информации Таблица 9.1 Порождающие многочлены оптимальных сверточиых кодов Сверточные коды можно декодировать различными методами. Различают декодирование с вычислением и без вычисления проверочной последовательности. Декодирование с вычислением проверочной последовательности применяется только для систематических кодов.
Оно ничем не отличается от соответствующего метода декодирования блочных кодов. На приемной стороне из принятых информационных символов формируют проверочные символы по тому закону, что и на передающей стороне, которые затем сравнивают с принимаемыми проверочными символами. В результате сравнения образуется проверочная последовательность, которая при отсутствии ошибок состоит из одних нулей.