-►
Проблемы передачи и обработки информации
УДК 621.391
О.С. Когновицкий
ЦИКЛИЧЕСКИЕ КОДЫ РИДА — СОЛОМОНА КАК РЕКУРСИВНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ И ИХ ДЕКОДИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ДВОЙСТВЕННОГО БАЗИСА
Одно из наиболее эффективных средств борьбы с ошибками при передаче данных — применение избыточных кодов. Широкое применение в различных системах находят циклические коды, используемые как для обнаружения, так и для испраатения ошибок. В протоколах канального уровня, как правило, используются циклические коды для обнаружения ошибок, вследствие чего их реализация довольно проста. Требуемая эффективность при этом достигается за счет применения обратной связи. Однако во многих системах применение обратной связи неприемлемо, так как приводит к существенным задержкам. Особенно это характерно для трафика реального времени. В таких системах находят широкое применение более мощные помехоустойчивые коды — циклические эквидистантные (коды максимальной длины), Рида — Маллера, Боуза — Чоудхури — Хоквингема (БЧХ), Рида — Соломона, обеспечивающие исправление ошибок в принятой комбинации 111.
Среди циклических кодов, исправляющих ошибки, наибольшее применение в настоящее время находят коды Рида — Соломона (РС), которые представляют собой недвоичные циклические коды БЧХ. К примеру, коды РС применяют в системах с широкополосным беспроводным доступом (стандарт 1ЕЕЕ 802.16), в системах беспроводной связи с кодовым уплотнением (стандарт 15-95), для цифровой видеозаписи и т. п.
Для декодирования кодов БЧХ и РС, в частности во временной области, используются алгебраические процедуры, в результате которых находятся синдромы и определяются номера ошибочных позиций путем решения многочлена
локаторов ошибок по алгоритму Ченя, адля кодов РС определяются еще и значения ошибок.
Ценное свойство циклических кодов РС заключается в том, что они имеют максимально возможное минимальное кодовое расстояние и поэтому обладают наибольшей корректирующей способностью. Это свойство и послужило основным фактором тому, что коды РС находят сегодня широкое применение, несмотря на сложность их реализации.
В работах |2-4| описана разработанная автором данной статьи эффективная процедура алгебраического мажоритарного декодирования эквидистантных циклических кодов и эквивалентных кодов БЧХ, основанная на использовании двойственного базиса поля Галуа СР(2к). При этом кодовые комбинации циклических кодов рассматриваются как рекурсивные последовательности.
По аналогии с эквивалентными кодами БЧХ как рекурсивными последовательностями над простым полем <7^(2) могутбыть построены эквивалентные (двойственные) коды Рида — Соломона над полем (7/г(2А)с некоторым порождающим поле многочленом (7(х) £-й степени, корнем которого будет в общем случае первообразный элемент ее (7^(2*). Для построения эквивалентного циклического кода Рида — Соломона (далее — РСЭ), выберем образующий
т
многочлен Я(х) = ]"^(.х: + е, ), который будет ха-рактеристическим многочленом
Pix) = р0хт + Р]хт-] + р2хт'2 + ...+ рт_\Х + />т;
PieGF(2k), (1)
порождающим возвратные рекурсивные последовательности {51} =(505,5253 2) с периодом л = 2* -1 и элементами, принадлежащими
полю GF(2k).
В соответствии с видом характеристического многочлена Р(х), у которого всегда р0 =1, любая возвратная последовательность {5} будет удовлетворять рекуррентному уравнению
S, =P\Si-i +P2Si-2 + + Pm-\Si-m+l +PmSi т « (2)
где i>m и, кроме того, индекс / приводится по
модулю 2к -1.
С другой стороны, произвольный элемент возвратной последовательности, как известно, может быть выражен через корни £1,е2,...,ет характеристического многочлена Р(х) и соответствующие корням элементы поля А, Ä,..., Скак
Sj = Ае\ + ße2 +...+С£'т. (3)
Сами же элементы А, В,..., Смогут быть определены, как это показано при рассмотрении кодов БЧХЭ с разложимым характеристическим многочленом [4], по любому m-элементному безошибочному участку возвратной последовательности {5} в соответствии с выражениями
A = Ej"'(a,5, +а25ы + „. + ат5Ьш.,),
В = е2'(ß15/ + р25,f, +... + ßm5,,), (4) с=*я<хА +yisM +-+Г
Постоянные коэффициенты a(,ß,,...,y, / = 1,2,...,/и зависят от характеристического многочлена Р(х) и определяются, как показано в [4], через корни е, и коэффициенты Pj многочлена Р(х), а именно коэффициенты а, для корня £|, ß( —для корня е2 ит. д., коэффициенты — для корня еш.
Принципы построения кодирующих и декодирующих устройств РСЭ. Исходя из вышеизложенного, кодирующее устройство эквивалентного кода Рида — Соломона может строиться по принципу систематического или несистематического кода.
В случае систематического циклического кода РСЭ информационными элементами кода (п, т) будут начальные т элементов последовательности {5}, т. е. 505'1 ...5тОстальные избыточные элементы кодовой комбинации как рекурсивной последовательности будут находиться по рекуррентной формуле (2). Кодирующее устройство такого систематического кода реализуется довольно просто в соответствии с блок-схемой, представленной на рис. 1, а.
Другой вариант кодирующего устройства для несистематического циклического кода РСЭ реализуется в соответствии с выражением (3). Блок-схема такого кодирующего устройства представлена на рис. 1, б. Информационные элементы А, В, ..., С, записанные как исходные в к-разрядные ячейки памяти с обратной связью, порождают на выходе последовательность {5}.
Выбор варианта построения кодирующего устройства следует произвести после анализа сложности реализации декодирующего устройства для обоих вариантов кода. Однако даже без подробного анализа процессов декодирования кодов РСЭ очевидно, что реализация декодирования несистематического кода более проста, чем систематического. Действительно, в результате декодирования систематического кода РСЭ по принятой комбинации сначала определяются элементы А, В,..., С по формуле (4), а затем в соответствии с (3) находятся информационные элементы 50,51,...,5'от_). При декодировании несистематического кода РСЭ достаточно определить в соответствии с (4) только элементы А, В,.... С, которые и являются информационными.
Таким образом, следует рекомендовать применение несистематического кода РСЭ как более простого по реализации.
Реализация декодирующего устройства несистематического кода РСЭ мало чем отличается от реализации декодирующего кода БЧХЭ. Отличие втом, что элементы рекурсивной последовательности {5} будут при надлежать не простому полю ОТ(2), а расширенному полю (//"(2*).
а)
К„_2
| Sp
•Ь'м •Ь',-2
t
• 1 4 л
б)
Рис. 1. Блок-схема кодирующего устройства систематического (а) и несистематического (б) кодов РСЭ
Рассмотрим простой пример построения несистематического кода Рида — Соломона, комбинации которого будут рекурсивными последовательностями.
Построим циклический несистематический код Рида — Соломона (и, т) = (7,3) с образующим код многочленом Р(х) = (х +1)(х + е)(х + е2), который порождает рекурсивную последовательность
над расширенным полем С/г(23).
Пусть полином, образующий поле, имеет вил С(х) -1 + л: + х3. корнем которого будет первообразный элемент поля е. После перемножения сомножителей полином Р(х) будет иметь следующий вид:
Р(х) = р0х* + р^х2 + р2х + ръ =
= х3 +е5х2 +е6х + е3. (5)
Учитывая, что мы рассматриваем несистематический код РСЭ, выберем в качестве информационных элементов произвольные элементы поля GF(23), например /4 = е5, /? = е4, С = 0. Эти элементы в соответствии с (3) формируют следующую рекурсивную последовательность с периодом (23 — 1) = 7:
{5} = (адздзд^ ) = (10е е4е6е3е2 ).
При этом корнями многочлена Р(х) будут элементы, равные е, =1,е2 =е, е3 =е2.
Блок-схема кодирующего устройства рассматриваемого несистематического кода будет иметь вид, представленный на рис. 2.
Можно проверить, что полученная на выходе последовательность {5} будет удовлетворять рекурсивному уравнению, которое соответствует характеристическому многочлену Р(х) (5), т. е.
Рис. 2. Блок-схема кодирующего устройства несистематического кода РСЭ (7, 3)
5, = />,5, , + />25,_2 + =
/23
= е55,м+е65/_2+е35,. 3. (6)
Для сравнения приведем схему рекурсивного кодирующего устройства, соответствующего уравнению (6) и порождающего ту же кодовую последовательность (рис. 3).
Как видно из рис. 3, схема кодирующего устройства систематического кода (7,3) отличается тем, что в ячейки регистра в качестве исходных данн ых должны быть записаны элементы I, О и е, которые в данном варианте и будуг информационными элементами выходной кодовой комбинации.
Кроме того, из уравнений обоих вариантов видно, что вариант КУ систематического кода (7,3) имеет более сложную реализацию.
Наконец, приведем схему кодирующего устройства классического кода Рида — Соломона (7, 3) надполем (7/г(23) с проверочным многочленом
х7-1
4 5 3 4 2 4
= х +е x" + б x +х + в ,
Р(х)
где е — первообразный корень образующего поле многочлена (7(х) = 1+х + х3.
Схема кодирующего устройства, реализующего деление многочлена хл"т/(х) = х4/(*), где /(х) — многочлен исходных информационных элементов, на проверочный многочлен Q(x) и получение остатка отделения /?(х), представлена на рис. 4.
Легко проверить, что после подачи на вход исходной комбинации /(х) = е + х2 в ячейках регистра деления будет содержаться остаток:
Выход
lOeeVeV
Рис. 3. Блок-схема кодирующего устройства систематического кода РСЭ (7, 3)
50
Г
кода Рида— Соломона (7, 3)
R(x) = r0+r] х + г2х2 + г3х3 =
= е2 + е3х + е6;с2 + е4х3.
Таким образом, на выходе кодирующего устройства будет сформирована такая же кодовая
комбинация: 10ее4б6е3е2.
В результате сравнения с предыдущими вариантами кодирующего устройства можно сделать вывод, что последний вариант имеет наиболее сложную реализацию (так как п-т>т).
Задачей декодирования кода РСЭ на основе двойственного базиса является определение информационных элементов/1, В и Спо/л-элемент-ным участкам принятой последовательности в соответствии с выражениями (4). Для этого по формуле, приведенной в |4|, предварительно определим постоянные коэффициенты а,, ß, и у( , /' = 1,2,3 соответственно для различных корней б,=1, е2=е и б3=б2 характеристического многочлена:
а| =ё, а2 =б2, а3 =е5;
ß,=E2, ß2=E6, ß3 = l;
У|=Е5, у2=1, у3=е4.
Покажем, что по любому безошибочному /л-элементному участку последовательности {5} могут быть определены элементы А, В и С, что и позволяет организовать мажоритарное декодирование.
Пусть выделен участок (5,45556) = (е6б;!е2), т. е. /=4. Тогда в соответствии с (4) имеем:
А = ej"4(a,£4 + a2S5 + а356) = Е5;
Ä = E24(ß154+ß255+ß356) = £4;
С = £^(у,54 +у255 +у356) = 0.
Возьмем другой участок (565'75'8) = (565п5,) = = (е210) замкнутой в кольцо последовательности {5'},т. е. /'=6, и так же вычислим элементы Л, йи С:
А = (а,56 + а250 + а35,) = е • е2 + е2 Т = е5;
В = Б 6(Р156+Р25'0+Р351) = = е~6(б2 £3 +£6 т) = е4;
С = £-,2(у,56 + у250 + у35,) = £ V • е2 +1) = 0.
В случае наличия ошибок в принятой комбинации процедура декодирования и сложность реализации не меняются. Результатом декодирования будет совокупность элементов А, В к С, имеющая наибольшее количество значений, вычисленных по выражениям (4).
Корректирующие свойства (я, т) кода Рида — Соломона определяются минимальным кодовым расстоянием которое будет для кода РС равно = п -т +1. Для рассматриваемого в примере кода (7, 3) с1т[п =5, и поэтому такой код РС должен исправлять до двух ошибок.
Используя выражения (4) для определения элементов А, В и С по /л-элементным участкам комбинации несистематического кода (7,3), легко убедиться, что данный код с мажоритарным декодированием замкнутой в кольцо рекурсивной последовательности исправляет любую однократную ошибку и часть двукратных. В то же время определенные двукратные ошибки, например в элементах Л', и 5, +3, рассматриваемый код
исправить не может.
Для усиления корректирующих свойств кода РСЭ можно, как и в кодах БЧХЭ [4|, использовать децимации с индексами 9 = 2;, гдеу'= 1,...,
Однако возможность применения децимаций по отношению к принятой кодовой последовательности предъявляет определенные требования к характеристическому многочлену Р(х), которые можно сформулировать в виде следующего свойства эквивалентного кода Рида — Соломона:
Комбинации циклического кода РСЭ над полем GF( pk) могут быть мажоритарно декодированы с использованием децимаций, если характеристический многочлен Р(х) представляет собой
один или произведение нескольких полиномов /¡(х),
к ,
входящих в разложение двучлена (х -1) на неприводимые полиномы деления круга.
Предположим, что это требование по отношению к многочлену Р(х) выполнено. Тогда справедливыми будут две теоремы, одну из которых назовем теоремой идентичности, а другую—теоремой однозначности. (Напомним, что выше и далее по тексту символ р без нижних индексов обозначает характеристику простого поля GRp).)
Теорема идентичности
Беги характеристический многочлен Р(х) представляет собой один или произведение нескольких минимальных мнoгoчJleнoв, входящих в разложение двуч.1ена (хр* -1), то исходная рекурсивная последовательность [S] = (SQS]S2Si ...Spl 2),
образованная по многочлену Р(х), и последовательности{U} =(U0UyU2U3 ...Upi 2), полученныеиз{5}
путем децимаций с индексом q - jr, где у = 1,2,..., (к — 1), будут удовлетворять одному и тому же рекуррентному уравнению (соотношению).
Доказательство этой теоремы строится по тому же принципу, что и доказательство ан&ю-гичной теоремы для кодов БЧХЭ [4J с той лишь разницей, что при доказательстве этой теоремы для кодов Рида — Соломона рассматривается
расширенное поле GF(pk) с произвольной характеристикой р простого поля. Во всем остальном доказательство остается тем же. Поэтому здесь более подробное доказательство теоремы идентичности приводить не будем.
Сформулируем теперь и докажем другую теорему.
Теорема однозначности
Если элементы Л, В, С,... е СР(рк), соответствующие сомножителям характеристического многочлена Р(х), однозначно опреде.1яют начальную фазу рекурсивной последовательности {51}, то начальная фаза последовательностей {и} , полученных из последовательности |5} путем ее
децимации с индексом <7 = р], где у = 1,2,..., (к — 1), также будет однозначно определяться теми же элементами А, В, С,..., но имеющими циклический сдвиг вправо на у шагов.
Доказательство этой теоремы основано на свойствах /7-сопряженных корней. Пусть корнями минимального многочлена /■(■*) будут £|,е2,...,е(/_|,егде й— степень многочлена
/¡(х), которая применительно к полю СР(рк) будет числом к или его меньшим делителем. Если наименьший по степени корень е,. равен элементу поля е', то остальными корнями будут эле-
• ¡ 2 , 4- 2
менты е2 =(е ) , е3=(е) , ..., е(/_) =(е у ,
Следовательно, подмножество показателей степени /', ¡р, ¡р2, ..., ¡р представляет собой цик-лотомический класс с образующим элементом (представителем) /.
Если теперь ряд корней характеристического многочлена /¡(х) возвести каждый в степень р, то, учитывая теорему Ферма, получаем тот же ряд корней, но циклически сдвинутых на один шаг влево, т. е.
'•"•> Е(/ I'еаГ} =
= {<е'У, (€'/,.. (£'/} =
Аналогично, если каждый из ряда корней /(х) возвести в степень р] , то получим тот же ряд корней с циклическим сдвигом на у шагов влево.
Покажем, что именно такие преобразования происходят в случае применения децимаций. Для
упрощения записи примем, что индекс децимации <? = /?, т. е.у = 1.
В результате децимации из исходной рекурсивной последовательности{5} = (5'05|5'25з5455 ...Spk ,) получим последовательность
{U} = (U0UiU2U,U4U5...Up^2) =
= (SaSpSjpSjpS^p...).
В соответствии с теоремой идентичности обе последовательности являются возвратными, удовлетворяющими одному и тому же рекуррентному уравнению. Отличие между ними состоит лишь в различных начальных участках обеих последовательностей или в различных коэффициентах А, В.....С, А по которым образуются
эти последовательности.
Если предположить, что Р(х) = /¡(х), то любой произвольный элемент исходной последовательности {J?} может быть определен как
S„ = Ас" + Ве"2 + ... + Csnd , + Dz"d.
Аналогично элементу (Jn последовательности {U} р будет соответствовать выражение
U„=Apel + Bpsn2+...+Cpend_i+DpCnd.
А так как Un = S„p, то последнее выражение может быть переписано:
Un = Snp = ten> + B£> +...+СеУ, + Dzf =
Выше было показано, что для //-сопряженных корней полинома /¡(х) степени d справедливо
следующее: е/ = е2, г2р =е3, ...,zpd , = ed, е/ = е,.
Тогда последнее выражение для элемента Un можно записать как
U я = De" + Ас2 + Bc"+... + C£nd = = Ape4 + BpEn2+... + DpEnd.
Отсюда коэффициенты АрЛ Вр,.... Dp, соответствующие последовательности {U} с индек-
сом децимации q- /?, однозначно определяют коэффициенты А, В,..., С, О исходной последовательности {5}, но имеющие циклический сдвиг вправо на один шаг, т. е.
Л, = А Вр - А,..., Оп =С.
Аналогично можно показать, что в общем виде коэффициентам АЧ.ВЧ, ..., Сч,Оч, соответствующим последовательности {£/}, полученной из {5} путем децимаций с индексом <7 = р\ где у = 1,2,..., (к — 1), будут соответствовать коэффициенты/1, В,..., С, А имеющие циклический сдвиг вправо на у шагов.
Если характеристический многочлен Р(х) состоит из произведения нескольких минимальных многочленов, например Р(х) = /¡(х).../](х),
то можно также показать, что доказанное выше распространяется и на подмножество других коэффициентов Е,..., Р, соответствующих корням других минимальных полиномов, например
/у(х). При этом циклическому сдвигу на у шагов вправо будут подвергаться подмножества коэффициентов, соответствующих каждому из минимальных полиномов в отдельности.
Таким образом, мы доказали теорему однозначности, по которой в поле вР(рк) коэффициенты А1},ВЧ,...,ЕЧ,РЧ, соответствующие рекур-сивной последовательности {£/}, полученной из исходной последова тельности {5} путем децимаций с индексом I? = /?7, где у = 1, 2, ..., (к — 1), однозначно определяют коэффициенты А, В, С, ..., Р, соответствующие исходной рекурсивной
последовательности {5}, удовлетворяющей характеристическому многочлену Р(х), состоящему из одного или произведения нескольких минимальных многочленов по отношению к полю СР(рк).
Именно эта особенность и позволяет усилить корректирующие свойства кода РСЭ при мажоритарном декодировании кодовых комбинаций как рекурсивных последовательностей.
Рассмотрим несколько примеров, поясняющих приведенные выше теоремы и механизм ма-
жоритарного декодирования с применением децимаций.
Рассмотрим эквивалентный код Рида — Соломона (7,3), комбинации которого будут представлять рекурсивные последовательности над
полем GF(2~), удовлетворяющие характеристическому многочлену />(х) = 1 + х + х3.
Очевидно, что этот многочлен является минимальным, соответствующие корни его будут
е, = е, е2 = е2, е3 = е4. Так как многочлен Р{х) является примитивным, то его корни первообразны, т. е. имеют порядок, равный семи.
Наконец, будем считать, что поле GF{2') образовано тем же многочленом G(x) = 1 + х + х3. Будем рассматривать, как и ранее, несистематический циклический код.
Пусть принята безошибочная комбинация такого кода:
(505, ) = ( 1 Об 1 eev).
Легко проверить, что эта комбинация является рекурсивной и удовлетворяет рекуррентному уравнению 5, = Sr_2 + Sj з, соответствующему заданному характеристическому многочлену Р(х).
Имея характеристический многочлен Р(х) = />()х3 + />,х2 + р2х + />з = х3 + х +1 (р0 = Р2 = = />3 = 1,/?! =0), найдем коэффициенты {<Х|,а2, а3} как двойственный базис поля GF( 23) по отношению к левому степенному базису j 1,е, е21:
9 1
а,=1, а2=е, а3=е; GF(2).
Зная коэффициенты а,, а2 и а3, мы можем, воспользовавшись выражением (6) из [4|, по любому /я-элементному участку (т = 3) последовательности определить информационные элементы А, В» С несистематического (7, 3)-кода, которые соответствуют принятой рекурсивной последовател ьности.
Например, если выделен начальный участок (505|52) = (10£), i — 0, то коэффициенты А, В и С будут равны:
/4 = 1 -а, + еа3 = 1+б2 =е6; В = 1а1 + еа2 =1 + е3 =е; С = I а4 + £-а4 =1 + е5 = г4.
Возьмем другой участок, например (565758) = = (56505, ) = (е310) . Аналогично имеем:
Л=е,6(е3а,+а2) = е 6(е3+б2) = е 1 =е6;
В = б26(б3<х2 + а]) = е"5(е3 + е4) = е;
С = £36(£3а4 +а4) = £'3(£3 + £) = е4.
Покажем теперь, что те же коэффициенты можно получить, обработав последовательность
{5}, подвергнув ее децимации с индексами q = 2\ гдеу = 1,2.
Пусть у = 1, т. е. q = р = 2 . Тогда вместо ¡5} получим последовательность {¿/}:
=(и0и]и2и^и4и5и6) = (1еее30 1е3 ).
Выберем, например, участок (¿/,(/21/3) = = (ее£3 ). Тогда в соответствии с теоремой однозначности дляу' = 1 получим:
А2 =е["'(£01| +£а2 +£3а3) = = е '(Б + £3 + £4) = £4 = С\
В2 =Е2'(£а^ +£а2 +£3а2) = = £ 2(е + е5+е5) = е6 =А;
С2 = е3 1 (Ба4 + Ба4 + Б3а4) =
= £ 4(е + е2 + ]) = £ = В.
Таким образом, мы имеем те же коэффициенты/4, В и С, но только сдвинутые циклически на у = 1 шаг.
Наконец, продемонстрируем обработку последовательности ¡К}, полученную из{5} путем
ее децимации с индексом д = 2], гдеу'=2:
{^} = (ЗД5,55525653) =
=()= (1е0е3ее31).
Выделим произвольный /п-элементный участок, например (К,Н2 ) = (еОе3). Тогда аналогично предыдущему примеру получим:
Д, =£, '(еа, +е3а3) = £_1(е + £4) = £ = В\
В4 = Е2 1 (£а? + £3а3) = е-2 (Е + Е5 ) = Е4 = С;
С4 = Ез^Еа/ +£3а4) = е~4(е +1) = е6 = А.
Как видим, получены те же значения информационных элементов А, В и Се С/г(23), но циклически сдвинутых на ]=2 шага.
Покажем теперь, что мажоритарное декодирование как основной последовательности с
ошибками {А} = {5} + {е}, так и ее децимаций усиливает корректирующие свойства кода.
Как следует из теории кодов Рида — Соломона, код (7,3) имеет минимальное кодовое расстояние ётт = 5 и поэтому такой код может исправлять до двух ошибочных элементов в кодовой комбинации.
Пусть в переданной кодовой комбинации
{5}, рассматриваемой в примере, возникли две ошибки в элементах 50 и 53, при этом принятая
комбинация {А} с ошибками будет иметь вид:
{А}=(ЛЬА1А2А3А4А5/%) = (е5ОЕ£5Е£3£3).
Обработав по /и-элементным участкам (т = к = 3) последовательность {А} и две ее децими-рованные последовательности с индексами децимации д = 2 и q = 4 так, как показано выше, получим коэффициенты А, В и С, значения которых приведены в таблице.
Анализ данных таблицы показывает, что обработка только одной последовательности {А} без
децимаций не позволяет правильно определить коэффициенты А, В и С. В то же время после обработки всех трех последовательностей уверенно по большинству правильно определяются информационные элементы: А = е6, В = £ и С = е4.
Блок-схема кодирующего устройства несистематического кода РСЭ (7, 3) представлена на рис. 5.
Схема, как видим, состоит из трех трехразрядных ячеек памяти, в которые в начальный момент записываются информационные элементы в виде двоичных векторов А = %axa2, В = b^b^t^
и С =С0С|С2. Эти векторы затем считываются и поэлементно складываются по mod 2 в сумматоре. При этом на выходе сумматора будет сформирован элемент 50 =d0d]d2.
Значения коэффициентов А, В и С
Количество сочетаний А, В, С при обработке Суммарное
Значения коэффициентов рекурсивных последовательностей количество во
с индексом децимации q сочетании
А В С q= 1 0 = 0) <7=2(/=1) i = 4(/=2) коэффициентов А, В, С
6 с Б 4 Е 1 2 3 6
1 4 Е £ 1 1 1 3
3 Е г Е 0 2 2
Е 2 Е 1 1 1
Е 0 5 Е 2 2
г Е 1 £ 2 2
ь Е 2 Е 1 £ 1 1
5 £ 3 Е 1 1 1
0 0 1 1 1
1 S £ J £ 1 1
4 Ё Е 1 1 1
Wi {5} = S0
Рис. 5. Блок-схема кодирующего устройства несистематического кода РСЭ (7, 3) и степени характеристической матрицы Р
В цепях обратной связи ячеек памяти кодирующего устройства включены умножители на матрицы, которые имеют вид
О 1 О
0 0 1
1 1 0
рА =
р2 =
0 0
1 1 О 1
В результате умножения на указанные матрицы будут получены векторы:
умножение на Р. (а0а|О2)- Р ~(о2,а0 н-а^а,); умножение на Р : (ЬпЬ]Ь2) Р= +
+гь А '
умножение на РА: (с0с1с2)-Р4 =(с, +с2,с0 + +с,,с0+с,+с2).
Сложение полученных векторов в выходном сумматоре вочередной тактовый момент времени формирует следующий элемент кодовой комбинации ит. д.
Рассмотрим другой пример кода РСЭ (15,4),
элементы которого принадлежат полю С/г(24), образованному примитивным многочленом
(7(х) = 1+х + х4. Будем представлять комбина-
56
ции такого кода как рекурсивные последовательности с характеристическим многочленом Р(х) = (7(х), т. е. характеристический многочлен будет минимальным многочленом с первообразными корнями.
Тогда в соответствии с выбранным Р(х) элементы кодовой комбинации (50Л-|52...5|35|4) будут удовлетворять рекуррентному уравнению
При этом индексы /' при S, приводятся по модулю 15. Многочлен Р(х) имеет своими сопряженными корнями элементы е, =е, е2 = е2, е3=е4 и е4=е8. Следовательно, по аналогии с предыдущим примером схема кодирующего устройства будет иметь вид, представленный на рис. 6.
Если в четырехразрядные ячейки памяти записать исходные информационные элементы,
как показано на рис. 6, А=е7, В-е", С = е5 и D = г., то на выходе будет сформирована следующая рекурсивная кодовая последовательность:
{5} = (5,05l52J3545556575ii5g5105|1J125135'14) = = (1eW4e9ee,4e4eVeVe41).
Рассмотрим теперь процедуру мажоритарного декодирования. Как следует из теории кодов
Г
В
D-
С——»
хе
хе
Входы
сумматора
1 е7 е' е' е'°
2 е" £13 1 е*
3 е3 е* е11 е2
4 с е' б2 е'°
Выход 1 е' е 0
сумматора S,
Рис. 6. Кодирующее устройство для кода РСЭ (15, 4)
Рида — Соломона, код (15, 4) имеет <1тп =12, и поэтому он должен исправлять до пяти ошибочных элементов в комбинации.
Пусть была передана кодовая комбинация {5}, указанная выше, а принятая комбинация имеет вид
{А} = (А,, А, Л2А3А4 А¡ДА? А^ А10А|, А, 2 А, 3Л14) = = (10£0е|40ее140е30£9£701).
Видим, что в принятой комбинации {А} ошибки имеют место в элементах А,. А^, А,,, иАп (для наглядности над этими элементами поставлены черточки).
Декодирование будем вести по /л-элемент-ным (т = к = 4) участкам принимаемой послело-вагельности. При этом, как показано в [2],
двойственный базис многочлена Р(х) равен а| = е14, а2 = б2, а3 = е, а4 = 1.
Проведя декодирование последовательности {А} и еетрехдецимированных последовательностей с индексами децимации ^ = 2^, гдеу'= 1,2,3, получаем в результате, что истинные информационные элементы А, В, С и О в совокупности появятся шесть раз, пять других сочетаний появятся по три раза каждое, шесть сочетаний по два раза каждое и еше 27 сочетаний по одному
разу. Как видим, из общего числа обработанных /л-элементных участков, равного 60, наибольшее количество раз появятся правильные информационные элементы: А = £7. S = б", C = e^ и £) = е.
Таким образом, принятая комбинация {А} кода (15,4) с пятикратной ошибкой будет декодирована правильно по большинству выделенной совокупности элементов/1, В. Си D.
Заметим, что в данном примере обработка по /л-элементным участкам только одной принятой последовательности {А} не дасг вообще ни одного сочетания правильных элементов А, В, Си D.
Рассмотрим теперь более общий пример, когда характеристический многочлен Р(х) кода РСЭ будет состоять из произведения нескольких минимальных многочленов, а элементы рекурсивной последовательности {£} будут принадлежать расширенному полю GF{pk) с характеристикой р простого поля больше двух.
Еще пример. Рассмотрим процедуры кодирования и мажоритарного декодирования комбинаций кода РСЭ (8,4) над полем GF(З2).
Выберем для построения поля примитивный многочлен G(x) = x2 +х + 2, корнями которого будут сопряженные элементы поля е и е3.
Построим циклический код РСЭ (8,4) по характеристическому многочлену Р(х), равному
произведению двух минимальных функций
/¡(х) = х2+х + 2 И /2(х)-х2 +1,т. е.
Р(Х) = /, (x)f2(x) = (х2+х + 2)(х2 +1) = = р0Х4 + /)|Х3 + />2х2 + />3х + /?4 = х4 + Х3 +Х + 2.
Корнями многочлена />(х) являются сопряженные корни минимального многочлена /¡(х) — элементы б, =е; е2 =е3 и сопряженные корни минимального многочлена /2(х) — эле-
■у 6
менты ПОЛЯ е3 = £ И £4 = Е .
Кодирующее устройство несистематического циклического кода РСЭ (8,4) над полем GF(32 ) (схема абсолютно аналогична схемам из рассмотренных выше примеров) будет формировать
на выходе сумматора по mod 3 комбинации {.S1}, элементы которых удовлетворяют уравнению
РЛ + М-1 + PlSi 2 + РА-! + = 0 •
Из этого уравнения следует, что произвольный элемент замкнутой в кольцо последовательности {5} удовлетворяет в соответствии с полиномом Р(х) рекурсивной формуле
с _ Р\ С fto Pi о
¿i - i ¿i-2 3
Po Po Po
Pi о --
Po
(7)
Тогда на выходе кодирующего устройства будет сформирована следующая последовательность {5}:
{5} = (зд5253здзд ) = (1 е 1е2 0 е6 1 е5 )•
Легко проверить, что элементы последовательности удовлетворяют рекуррентному уравнению^).
Например, элемент
S7 =2S6 + 2S4 + 53 = 2 + е2 = 2 +1 + 2E = 2E = Е5 или
5, = 2S0 + 2 S_2 + 5_3 = 250 + 2S6 + Ss =
= 2 + 2 + £6=1 + 2 + £ = е.
Теперь рассмотри м процедуру декодирован ия по /л-элементным участкам (т — степень многочлена Р(х) ). Для этого найдем коэффициенты двойственного базиса в зависимости от значения коэффициентов многочлена Р(х) и его корней.
Так, для корня е, =е имеем:
а4= —— = е3; а-, =—+ а3£ = £3;
4 Р'(е) ' РЬ)
РI 2 Pi
a-, =—■—h ct4E — £ ; а, =—:— + а0£ = £ .
3 P'(z) 4 1 /"(£) 2
С учетом того, что значения коэффициентов многочлена Р(х) равны /?„ = рх = р^ = 1; р2= 0; рА = 2, рекурсивное уравнение примет вид
5,< =-5ы-5/_З-25,.4 = 25/.1+25(._З+5/ 4. (8)
С другой стороны, произвольный элемент S, последовательности {5} будет удовлетворять уравнению
S, = Ае\ + Ве'2 + Се'3 + /)е'4 , GF(З2), (9)
где А. В, С и D— информационные элементы, порождающие последовательность {5}.
Пусть информационные элементы имеют вид: А=1, В = 1, С = £7, D = е2.
Для корня е2 =е? коэффициенты а,' равны
соответственно коэффициентам а,, возведенным встепень/? = 3.
Коэффициенты для корня £3 =£2. вычисленные по аналогичным выражениям, имеют значения: р, =е5, р2 =2, р3 =£2, Р4 =£7.
Для второго сопряженного корня е4 = е6 коэффициенты р/ являются коэффициентами р,, возведенными встепень/? = 3.
Покажем, что полюбому /^-элементному безошибочному участку рекурсивной последовательности {5} можно определить информационные элементы.
Пусть будет выделен участок (,5,455565'7) = = (0 е6 I б5 ). Тогда информационные элементы будут равны:
для е, = е
А = е 4(0 а, +£6а2 + 1а3 +£5а4) = = е4(е + е2 + 1) = 2-2 = 1;
для е2 =£
В = (е3^(О а,' + Е6а2' +1 • а3' + £5а4') = = е~4(е6 -е+1-86 +е5 -е) = 1;
ДЛЯ Е3 = £
С = (£2)Л0Р,+ебр2+1р3+е5р4) =
= 2е6 +е2 +е4 =1 + 2е + 1 + 2е + 2 = 1+е = £7;
для е4 = £6
0 = (£6 И(0 • Р/ + £6Р2' + I • Рз' + Е5Р4') -= 2е6 + е6 +е2 = е2.
Подвергнем последовательность {5} децимации с индексом ц-р- 3 и получим последовательность
{и}=(и0и1и2и3и4и5и6и7)=
= здзд) = (1е2 1 £ о б51е6).
Возьмем /я-элементный участок (6/)6/26г3(/4) = = (е21 еО) и найдем по нему коэффициенты А', В', С и />':
для £, =£
/1' = £"|(£2а, +1 а2 +£а3) = = е_1(е4 + е3 + е3) = 1 = я;
для е2 =£
й' = Е_3(£2а|' + 1а2' +£а3') = = е5(1 + б + е7) = е5е3 = 1 = /1; для е3 =е2
С' = £ 2(£2р|+1р2+£р3) = — е 2 (е7 + 2 + £3) = 2е6 = 1 + 2е = е2 = о;
ДЛЯ £4 = £6
0' = е-6(£2Р1'+1Р2'+£Р3') = = е2(е + 2 + е7 ) = 2е3 = 1 + е = е7 =С.
При этом пара элементов А' и В' циклически сдвинута на один шаг элементами А и В, т. е. А' = В, В' = А. Аналогично пара элементов С' и й' также циклически сдвинута на один шаг
элементами Си Д т. е. С'= й; £>' = С.
Таким образом, можно сделать следующие выводы:
1. Представление комбинаций циклических кодов Рида — Соломона рекурсивными последовательностями над полем СР(рк) и использование двойственного базиса позволяют осуществить мажоритарное декодирование с простой реализацией декодера.
2. Применение децимаций приводит к усилению корректирующих свойств кодов Рида — Соломона при мажоритарном декодировании
принятой последовательности {Л}.
3. Сложность реализации декодера практически не зависит от кратности исправляемых ошибок.
СПИСОК ЛИТЕРАТУРЫ
1. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи: Пер. с англ. М.: Радио и связь, 1987.
2. Когновицкий О.С. Об одном алгоритме мажоритарного декодирования кодов максимальной длины // Девятая Всссоюз. конф. по теории коди-
рования и передачи информации: Тез. докл. Ч. 1. Одесса, 1988.
3. Когновицкий О.С., Кукунин Д.С. Метод декодирования эквидистантных кодов с использованием двойственного базиса поля Галуа // Труды учебных заведений связи № 174 / СПбГУТ. СПб., 2006. С. 45-52.
4. Когновицкий О.С. Циклические коды БЧХЭ как рекурсивные последовательности // Там же / СПбГУТ. СПб., 2006. С. 53-63.