Скляр Б. Цифровая связь (2003) (1151859), страница 85
Текст из файла (страница 85)
Для исправления однобитовых ошибок декодер может реализовываться с логическими элементами 141, подобными приведенным на рис. 6.!2, где принятый вектор кода г поступал в схему в двух точках. В верхней части рисунка принятые символы поступают на логический элемент исключающего ИЛИ, который и определяет синдром. Для любого принятого вектора синдром рассчитывается согласно уравнению (6.35). 1= 1 2л-' Б,=г,Н 379 6.6.
Полезность нормальной матрицы Нормальная матрица Синдромы Рис. б.15. Синдромы и исрмильиия матрица йю кода ГВ, гг Глава 6. Канальное кодироаан нес часть 1 со оооо ниса сои» Ссссо! осоою Ооасса со!оса о!оооо !ааааа иоан »ИО1 !и!ю !ноас ио!Оо !анас о!»со Оан 10 Са»ас соса» соси ! о!ии 10!И! асса» СООЮ1 санса! о!оса! ЮСОО1 аооис Оа!010 акоса !соо!о ос»ос, О!О!СО юо!со оиооа юнаса ! !сосо Иоана 1!оси !»ои сосо» о!сои иии 1»оо! !Юга! !оио! ои!о! ос ию !оню !оо!о! сне» иао01 оною о!вю саана г, юю!о ююо! сао»1 Оса» ! о!о!о! оио» 1Ю!Ю 1»аю ююи 1. 2. 3. 4 5. Б. г.
в. 9 са и 12 12. 14. 15 15. о, 1В. 19 20 21 22. гз. 24. 25, гв. 25 23. 29. 30. 31. Зг. 23. 34. 35. ЗБ зг 35. Зв 40 41. 42 43. 45. 45 т 49 50. 51. 52. 53. 54 55. ва 57. ю. 50. 51. вг. вз. 54 осооооао Саоаасас оасооою соаоос со ОСО01000 саос оооо са!Оосоо о ссоосоо ! оооасоо аоосоои ссаоосос Саса!Са! Саасооа! оаюосос о!Оооов ювюсо! соссаио самкою Влсааса со!оса!о О!СОООЮ юсоаою ССООИОО сао!асса сасоосоо а!оаасос 1ЮВЛОО оса»ооо аоюсаоо а!аосоао сосассоа аоиоосо осо!оооо таа!оооо онсоооо 10!ааааа 1!Ооосао 00000111 Оаасаас! снлооои О1ОВЮИ !ааааа и СОСО»а! соо!аю! ОВасга! а соооюг КНКЮ Юс о!Осана !оаооиа юо!Окю онаос со иоелоо о! ю!асо о!анею гсоиаоа 10ЮКЮО сасоасоа юкнюю о! !вюю осасасоа ваюаю оосасоос 000»00! 10ОЛЮ!О и исоа! 11!1СООО Инсан »носа! милю! и !оооо! и окннл наноса! Ос ! КЮО! »ив»о »»асса 1» Иааа 1110авю 1Ю1ОООО юн оооо Ос»ОООО И»0»1 и!»аи Нсоаан 1!ОКОН юнас» аиюои »»нас И !Сага! ИВО!Ос са»аса! анна!01 исаи» на»сан 1ОИ ссас ан»ао! Исассас Юсаоаас а!сеню! 100!ел! Всссаа! Оаисаас »!сова нссоа!о »010010 санса!о в»со!о ии!юо 1»оосао »О! ОЮО 1ОНОЮО о!на!оо !анси! 01»ан! Ос!ОСЮ! !00!Оса! ел юю! 100 И 00 1 !а!асса! В 10!СО! о!анас! ОЮЮса! о юнас! ! саассас ! !а!СО!а! !О!ОООН ! юнаса ! »оюсо ОНОСО11 со! и но Оас Исн Оа! И 1СО Оа!Иана ов юио сосо! »о ооон»о анина !Ос»1Ю ОВ И сас оос ион Оана»1 ООЮ!1И оса и и 1 О!И»И ю!и!и сан стааа в!на!00 оо!оиао ОСО1110О 0»»юо !оси !оо Оас ЛЮса 00101010 ЕЮ»аса 0»»осо со» сана оолюно оаосоиа ои!оно !анана оооо! »о ос!в»о сана! Иа о!анно !саина и!»ио Оа! И Оас ааю! юс ОСОИ сас он ию! Ю1ИЮ1 001 1Сон осюсон сооиои сина» юнион о»исаа !о!»соо 10101010 оюною 1»»аса оююно онаоио юноа но сао!аио гоаносо !сан !со оюн!оо ОНО!а!а о!юноа аело! ! ! аосоо! и сага!!СО исаи» ! !СОИ 10 »СО! Ю! ! !Саган »000»1 сюит» 1»оси! соса! н ! о!сони ! 1ОО! 1СО ! 1С01ОЮ ! КЮО1 !а !юнна !ио!»а сосо!»с оюосна ! 10асоас ! 1ССО101 1ЮИЮ1 сиона! !оооио! О!Са! Юс ! !сооои 1!анан И!Осси !осою! ! асса!ОИ Исса» ! Инеи» ! асса И 1 Отаоас И инин !сан»1 о!оии! !Осанн 0»а»и оооои и сна!ею »а»!оо »!а! КЮ юао! 1со о!вл !Оо ! кнюо!о наива 1»о!О!О КЮО!Оса О1ВЛО!О !ВЮ!Сас асса!ос! о!анан !о!о!аи аооосои !ОКЮ»1 !ООЮИ1 осою»1 анели О1ЮЮИ онана! саго»01 клио!1 !ЕЛ »01 и люи о На!ОНО аюнсас С помощью значений Н для кода (8, 2), необходимо так соединить элементы схемы (подобно тому, как это было сделано на рис.
6.12), чтобы вычислялось следующее; 1 0 О 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 О 0 0 0 0 1 0 Я = [(ГЗ 7'2 Гз ГВ ГЗ ГВ Г7 ГВ ] 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 !(аждая из цифр 57 (( = 1, „,, 6), определяющая синдром Б, (7'= 1, ..., 64), связана с вход- ным принятым вектором кода следующим образом: В,=Г,+Г, 54 — Г4+ ГЗ+ ГВ 52 = 7'2 + ГВ 55 Г5+ 77 55= ГЗ4 Г7+ГВ 54 = ГВ+ Г7 В.б.б. Взгляд на код сквозь нормальную матрицу н контексте рнс.
6.!5 код (8, 2) удовлетворяет пределу Хэмминга. Иными словами, из ззормальной матрицы можно видеть, что код (8,2) способен исправлять все модели олно- и двухбитовых ошибок. Рассмотрим следующее: пусть передача происходит по 6.6. Полезность нормальной матрицы 381 Для реализации схемы декодера для кода (8, 2), подобной представленной на рис. 6.12, необходимо, чтобы восемь принятых разрядов соединялись с шестью сумматорами по модулю 2 (см. выше), выдающими цифры синдрома. Соответственно, потребуются и другие модификации схемы, прияеденной на рисунке.
, Если декодер реализован так, чтобы исправлять только однобитовые ошибки (т.е. а= 1 и )) =3), это эквивалентно ограничению матрицы на рис. 6.15 девятью первыми классами смежности, а исправление ошибок происходит, только когда один из восьми синдромов соответствует появлению однобитовой ошибки. Затем схема декодирования (подобная изображенной на рис. 6.12) преобразует синдром в соответствующую модель ошибки. Далее модель ошибки прибавляется по модулю 2 к "потенциально" искаженному принятому вектору, т.е. происходит исправление ошибки. Для проверки ситуаций, когда синдром не равен нулю, а схемы коррекции нет, нужно вводить дополнительные логические элементы (например, для однобитовых ошибок, соответствующих синдромам 10 — 64).
Если декодер реализован так, чтобы исправлять одно- и двухбитовые ошибки (а зто означает, что обнаруживается, а затем исправляется )) = 2 ошибки), это эквивалентно ограничению матрицы (рис. 6.15) 37 классом смежности. Хотя код (8,2) может исправлять некоторые модели трехбитовых ошибок, соответствующие образующим элементам классов смежности под номерами 38 — 64, декодер чаще всего реализуется как декодер с ограничениым расстоялиеи; это означает, что он исправляет все искаженные символы, содержащие ошибку только в 7 или меньшем числе бит.
Нереализованные возможности используются лля некоторого улучшения процесса обнаружения ошибок Клк и ранее, реализация декодера подобна схеме, изображенной на рис. 6.12. каналу, который всегда вносит ошибки в виде пакета 3-битовых ошибок, и, следовательно, нет необходимости в исправлении одно- или двухбитовых ошибок. Можно ли настроить образующие элементы классов смежности так, чтобы они соответствовали только трехбитовым ошибкам? Нетрудно определить, что в последовательности из 8 бит существует (, ~ = 56 возможностей произвести трехбитовую ошибку. Если единст- венным нашим желанием является коррекция только этих 56 моделей трехбитовых ошибок, то кажется, что в нормальной матрице достаточно места (достаточное количество классоя смежности), поскольку всего в ней имеется 64 строки. Ьудет ли это работать? Однозначно, нет.
Для любого кода главным параметром, определяющим способности кода к коррекции ошибок, является Ы, . Для кода(8, 2) и', =5, а это означает, что возможно исправление только 2-битовых ошибок. Как нормальная матрица может помочь разобраться, почему эта схема не будет работать? Чтобы осуществить исправление х-битовых ошибок для группы х-битовых моделей ошибки, полная группа векторов с весовым коэффициентом х должна быть классом смежности, т.е. они должны находиться только в крайнем левом столбце. На рис. 6.15 можно видеть, что все векторы с весовым коэффициентом 1 и 2 находятся в крайнем левом столбце нормальной матрицы и нигде более.
Если мы даже и втиснем все векторы с весовым коэффициентом 3 в строку со второго номера по 5?-й, увидим, что некоторые из этих векторов снова появятся в матрице где-нибудь еше (что нарушит основное свойство нормалыюй матрицы). На рис. 6.15 затененные блоки обозначают те 56 векторов, которые имеют весовой коэффициент 3. Взгляните на образующие элементы классов смежности, представляющие 3-битовые модели ошибки, в строках 38, 41-43, 46-49 и 52 нормалыюй матрицы.
Потом посмотрите на позиции в тех же строках в крайнем правом столбце, где затененные блоки показывают другие векторы с весовым коэффициентом 3. Видите некоторую неопределенность, сушестяуюшую для каждой строки, о которых говорилось выше, и понятно ли теперь, почему нельзя исправить все 3-битовые модели ошибки с помощью кода (8,2)? Допустим, декодер принял вектор с весовым коэффициентом 3 — 11001000, размещенный в строке 38 в крайнем правом столбце.
Это искаженное кодовое слово могло появиться, во-первых, при передаче кодового слова 1 1 00 1 1 1 1, искаженного 3-битовой модели ошибки 00000111, а во-вторых, при передаче кодового слова 00000000, искаженного 3-битовой моделью ошибки 1 1 00 1 0 00. 0.7. Циклические коды Важным подклассом линейных блочных кодов являются двоичные циклические коды (сус11с сог)ез). Код легко реализуется на регистре сдвига с обратной связью; на подобных регистрах сдвига с обратной связью вычисляется синдром; алгебраическая структура циклического кода естественным образом позволяет эффективно реализовать методы декодирования. Итак, линейный код (и, к) называется циклическим, если он обладает следующим свойством. Если и-кортеж () = (и,, иь иь ..., и„,) является кодовым словом в подпространстве Я, тогда ()(1) = (и„ь и,, иь кь ..., и„,), полученный из () с помощью циклического сдвига, также является кодовым словом в Я.
Или, вообще, Щ) = (и„„и„„ь ..., и„ь и,, иь ..., и„,,), полученный! циклическими сдвигами, является кодовым словом в Б. 382 Глава б. Канальное кодирование:часть 1 Компоненты кодового слова 1) = (ие, иь иь ..., и„,) можно рассматривать-как коэффициенты полинома ЩХ): С(Л) = ие + и,Х+ и,Х + „. ь и„,Л (6.54) Полиномиальную функцию ~1(Х) можно рассматривать как "заполнитель" разрядов кодового слояа 1)„т.е, вектор и-кортежа описывается полиномом степени и-1 или меньше. Наличие или отсутствие каких-либо членов в пслиноме означает наличие 1 или О в соответствующем месте л-кортежа.