Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
a4.doc
Скачиваний:
45
Добавлен:
19.12.2018
Размер:
11.89 Mб
Скачать

6.4.6. Итеративные коды

Их называют также многомерными. Простейший вариант – двумерный итеративный код. Исходный -разрядный код представляется в виде двумерной матрицы, в которой производятся независимые проверки на четность (нечетность) по строкам и столбцам. Приведем пример для : 101011100. Представим его в виде двумерной матрицы 33 с дополнением контрольными разрядами с контролем на четность (см. рис. 6.60). Как правило, код считывается построчным сканированием и принимает вид: 1010011010010101. На приемном конце осуществляются аналогичные проверки.

Рис. 6.60. Итеративный код (15, 9)

Предположим, что произошла ошибка во втором разряде, т. е. код принимает вид: строим 110011010010101 матрицу и проводим проверки (см. рис. 6.61). Из рисунка видно, что контроль на четность не выполняется для первой строки и второго столбца. Ошибка исправляется.

Рис. 6.61. Обнаружение ошибки

Рис. 6.62. Исправление двойной ошибки

Предположим, произошла двойная ошибка, причем ошибки по строкам и столбцам не совпадают (см. рис.6.62). Вид матрицы показывает, что независимые ошибки исправляются, причем количество конфигураций таких ошибок достаточно велико. Мы сталкиваемся с новым фактом: декодирование не абсолютно, но зависит от конфигурации ошибок. Ошибки могут не только исправляться, но и обнаруживаться. Предположим, произошла пачка ошибок, т. е. исказилось подряд 3 разряда. Введем их во вторую строку (см. рис. 6.60) – получим матрицу, изображенную на рис. 6.63. В результате при контроле по столбцам ошибки обнаруживаются, но исправлять их нельзя.

Рис. 6.63. Обнаружение трёхкратных ошибок

Наконец, самая уязвимая точка – это расположение ошибок в узлах любого прямоугольника. Такие 4-кратные ошибки проходят незамеченными.

Возможно увеличение мерностей; при этом кодовое расстояние возрастает. Итеративные коды часто называют «коды - произведения» из следующих предпосылок. Если по нескольким измерениям кодовые расстояния равны (), то результирующее кодовое расстояние:

(6.59)

Так, для простейшей двумерной матрицы с контролем по строкам и столбцам (контроль на четность/нечетность обеспечивает ) в результате . В данном случае это должно интерпретироваться достаточно обобщенно, так как вмешивается фактор конфигурации ошибок.

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

6.5. Непрерывные коды

В отличие от блочных, непрерывные коды образуют непрерывный поток, в котором информационные разряды перемешаются с контрольными. Таких кодов существует достаточно много; в связи с ограниченностью объема рассмотрим две их разновидности: рекуррентные и сверточные.