книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования
.pdfНапряженность поля, воздействующего на иепыбирлемые сер дечники, равна:
Н*=[ (6—2d*) /0 шо—/г. м w с м]//с р,
где d*— расстояние Хэмминга между словом, соответствующим вы бираемому сердечнику, и словом, соответствующим рассматриваемо му невыбираемому сердечнику. Коэффициент 2 перед d* поставлен потому, что d* обмоток в рассматриваемых сердечниках имеют про тивоположное направление прошивки. Так как d*^d (d—минималь ное расстояние кода), то параметры схемы должны быть выбраны таким образом, чтобы выполнялось неравенство
[ (6—2d) /0 а>о—/с м о>с м]Дс Р < # о |
|
|
где # 0 — коэрцитивная сила. |
|
характеристику |
Теперь можно ввести в рассмотрение важную |
||
ПД, а именно минимальное |
отношение распознавания. |
Минимальное |
отношение распознавания равно отношению минимальной величины суммарных ампер-витков от формирователей, воздействующей на вы бираемый сердечник, к максимальной величине суммарных ампервитков, воздействующей на другие сердечники. При отсутствии оши бок в информации и аппаратуре П Д это отношение равно:
n!0Wol (п—2d) loWo—п/ (п—2d).
Например, для схемы на рис. 2-7 это отношение равно 6:0, т. е. алгебраическая сумма ампер-витков в невыбираемых сердечниках
равна нулю или имеет тот же знак, что и ампер-витки |
смещения. |
|
В общем случае при наличии |
q ошибок в кодовом |
слове и t отка |
зов в самой схеме дешифратора |
(типа «обрыв» или «короткое за |
|
мыкание» выходной обмотки формирователя) минимальное отноше |
ние распознавания равно:
(n—2q—t)/(n—2d+2q+t).
Заметим, что в П Д мощность, трансформируемая в нагрузку, распределяется между п формирователями. В связи с этим, как уже упоминалось, их называют дешифраторами с распределенной на грузкой.
При использовании принципа суммирования напряжений П Д со стоит из п многообмоточных импульсных трансформаторов, каждый из которых содержит 2h вторичных обметок. Коммутирование вто ричных обмоток трансформаторов производится таким образом, что бы при отсутствии ошибок суммарное напряжение на возбуждаемом выходе дешифратора равнялось лио, где «о — амплитуда импульса на вторичной обмотке трансформатора. Тогда будут справедливы приведенные выше формулы для минимального отношения распозна вания, которое в данном случае равно отношению минимального зна чения суммарного напряжения на выбираемом выходе к максималь ному значению суммарного напряжения на невыбираемых выходах. Роль пороговых элементов з таких схемах обычно выполняют диод ные ограничители.
60
f* л а в а т р е т ь я
ЦИКЛИЧЕСКИЕ КОДЫ И ИХ РЕАЛИЗАЦИЯ
3-1. АЛГЕБРАИЧЕСКОЕ ОПИСАНИЕ ЦИКЛИЧЕСКИХ КОДОВ
Важнейшим частным видом линейных групповых ко дов являются циклические коды, которые допускают
сравнительно простую |
техническую |
реализацию |
с по |
|||
мощью регистров сдвига с обратными связями. |
|
|||||
При |
изложении теории |
циклических |
кодов |
вектор |
||
А = (ао, |
a i , . . .,ап-0 |
отождествляется |
с полиномом |
|||
(многочленом) |
|
|
|
|
|
|
|
А (х) = а0+aiX |
+ |
агх2+... |
+ а п - \ Х п ~ 1 , |
|
коэффициентами которого являются компоненты вектора. Понятия равенства, суммы и произведения полиномов вводятся следующим образом.
Пусть
A(x)=a0 |
+ aiX+a2Xz+.. |
. + а п х п , |
|
B(x) |
= |
b0+b1x+b2x2+. |
. . + b m x m |
— произвольные |
полиномы над двоичным полем, т. е. |
их коэффициенты могут принимать только два значения
(О или 1). |
|
|
|
|
|
|
|
|
|
|
Полиномы А(х) |
и В(х) |
считаются |
равными только |
|||||||
тогда, когда |
полином А (х) |
состоит из тех же членов, что |
||||||||
и полином |
В ( х ) , |
кроме |
членов с коэффициентами, рав |
|||||||
ными нулю. Под суммой |
|
А ( х ) |
+ В ( х ) |
будем |
понимать |
|||||
полином |
С (х) |
|
со+ Cix |
|
|
|
|
|
|
|
|
= |
+ Сгх*+... |
+ |
CkXk, |
|
|||||
где k есть наибольшее из чисел п и т, a с * |
+ |
|||||||||
Под произведением А(х)В(х) |
будем |
подразумевать |
||||||||
полином |
|
|
|
|
|
|
|
|
|
|
а0Ь0+ |
(ооЬ1 + аф0)х+ |
|
|
|
(aob2+aibi+a2b0)xz+... |
|||||
|
|
|
. . . + а п Ь т х ъ + т . |
|
|
|
|
|||
Складывая и перемножая полиномы |
с |
коэффициен |
||||||||
тами из двоичного |
поля, |
однозначно |
получаем |
полином |
||||||
с коэффициентами из того же лоля. |
|
|
|
|
||||||
Сложение двух векторов соответствует сложению по |
||||||||||
линомов. Поэтому |
сумма |
двух полиномов, |
соответствую- |
61
щйх кодовым словам, равКа полиному, соответствующе му некоторому кодовому слову.
Однако произведение полиномов, .каждый из которых имеет степень не больше (п—1), в общем случае не со ответствует вектору длины п, так как его степень может
быть |
больше |
(п—1). |
Для того чтобы произведение не |
|||
содержало степеней |
больше (п—1), будем |
полагать |
фор |
|||
мально xns=l, |
т. е. |
хп—1=0. |
|
|
||
Можно |
показать, |
что множество полиномов степени |
||||
(п—1) |
и |
менее над |
двоичным полем, для |
которых |
вве |
дены указанным выше образом операции сложения и
умножения |
(последняя по модулю |
|
хп—\), |
образует ли |
||||||||||
нейную |
алгебру. |
|
|
|
|
|
|
|
|
|
|
|
||
|
Например, элементами алгебры многочленов над |
|||||||||||||
двоичным полем |
по |
модулю (х3—1) |
являются: |
0, |
1, |
х, |
||||||||
\+х, |
х2 |
\+х2 |
х+х2, |
\+х+х\ |
Тогда |
(х+х2) |
(I +х+х2) |
|
= |
|||||
=х+х2+х3+х2+х3+х'' |
|
= |
х+х'*= |
|
|
х+х-х3=х+х-\=х+ |
||||||||
+х=(1 |
+ 1)х = 0. |
|
|
|
|
|
|
|
|
|
|
|||
Циклическим |
сдвигом |
вектора |
|
А = (а0, |
Сь а2,.. |
.,ап-0 |
||||||||
назовем |
вектор |
ТА = |
(ап-и |
|
ао, ait.. |
|
.,an-i), |
тогда |
Т2А |
= |
||||
— Т(ТА) |
= (ап-2, |
fln-i, |
а0 > .. .,ап _з), |
и т. д. |
|
|
|
|
||||||
С позиций введенной выше операции умножения по |
||||||||||||||
линомов |
(по модулю хп—1) |
циклическому сдвигу |
век |
|||||||||||
тора |
Л соответствует |
умножение |
полинома |
А (х) |
на |
х: |
||||||||
xA(x)=x(ao+Qix+a2x2jr.. |
|
.-\-ап~2хп-2-\-ап-1Хп~^) |
|
= |
|
|||||||||
|
= |
an-i |
+ a0x + aix2+.. |
|
. + |
|
|
ап-3хп-2+ап-2хп-1. |
|
|
|
|||
Код |
называется |
циклическим |
|
(соответственно |
под |
пространство называется циклическим), если вместе с А
коду |
принадлежит ТА |
и, следовательно, |
TiA, где i= |
||
= 1, |
2,.. .,п—1. |
Другими |
словами, если |
А(х)—кодовый |
|
полином, то полиномы xiA (х) |
также принадлежат коду. |
||||
Циклический код однозначно задается с помощью так |
|||||
называемого |
порождающего |
полинома |
G(x)=go+ |
||
+giX+ |
. . . +grxr. |
При |
этом |
многочлен |
А(х) степени |
меньше п принадлежит коду в том и только в том слу
чае, если он делится на G(x). Другими словами, |
для |
|
кодовых полиномов, имеет место сравнение |
|
|
/1(х)==0 |
по модулю G(x); |
(3-1) |
отсюда |
|
|
х1А(х)5=0 |
по модулю G(x). |
|
62
Если в кодовом слове возникнет |
ошибка, то А*(х) — |
|||||||||||
=А |
(х) +Е(х), |
где |
Е(х)—полином |
|
ошибки. |
Пусть |
||||||
Е(х)=х1, |
г'=0, |
1, ..., |
п—1, т. е. возможны |
только |
одно |
|||||||
кратные ошибки. Тогда полином G(x), |
порождающий |
|||||||||||
код с минимальным расстоянием d—2, |
может быть най |
|||||||||||
ден из условия |
|
|
|
|
|
|
|
|
|
|||
|
|
х1фО, |
по модулю |
G(x), |
/ = 0 , |
1 |
п—1. |
|
||||
В |
этом |
случае обнаруживается |
|
любая |
одиночная |
|||||||
ошибка, |
так |
как не выполняется |
сравнение (3-1): |
|
||||||||
|
|
А*(х) |
|
==х*Ф0 .по модулю |
G(x). |
|
||||||
Полином |
минимальной |
степени, |
|
удовлетворяющий |
||||||||
условию |
(3-1), |
равен |
\+х. |
Таким |
образом, |
полином |
||||||
G(x) |
— l+x |
порождает корректирующий |
код с |
минималь |
||||||||
ным |
расстоянием |
d=2. |
Длина п этого кода |
произвольна, |
||||||||
количество информационных разрядов |
k=n—1 |
(см. ни |
же процедуру кодирования). Рассматриваемый код по своим параметрам является 'аналогом кода с проверка
ми на четность или |
нечетность |
количества |
единиц |
в слове. |
|
|
|
Покажем, например, |
что данный |
циклический |
код не |
обнаруживает любую ошибку кратности 2. Ошибка крат
ности два |
имеет вид: |
|
|
|
|
|
|
|
|
|
|
Е(х)=х1+хк |
|
|
|
||
Пусть для определенности |
i>j, |
тогда |
|
|||||
|
|
E(x)=xi(l |
|
+xt-i) |
=х* (1 |
+х1), |
|
|
где l = i—/. Так как |
при |
любом |
1^=0 |
полином |
1+х' де |
|||
лится на G(x) = \+x, |
то |
|
|
|
|
|
||
E(x) |
= |
xi(\4-^0 |
= |
0 п о |
модулю |
G(x)=\-\-x |
||
и ошибка кратности 2 не обнаруживается. |
|
|||||||
Длина п циклического кода с минимальным |
расстоя |
|||||||
нием dp>3, |
порождаемого заданным |
полиномом G(x), |
определяется как наименьшее значение п (не равное нулю), при котором имеет место сравнение
|
х ™ = 1 по |
модулю G(x) |
(3-2) |
или хп |
— 1 =s хп -\- |
1 = 0 по модулю G (х). |
|
При таком определении длины кода все вычеты от |
|||
Е(х)==х{( где |
О ^ г ^ / г — 1 , |
по модулю G(x) будут |
раз- |
(53
личны, т. е. различным одиночным ошибкам будут соот ветствовать различные корректоры. Например, пусть G(x) = 1 +х+х3. Непосредственным вычислением найдем длину п порождаемого кода и корректоры, соответствую щие различным одиночным ошибкам:
J C e = l
х1
Xs |
|
|
|
|
|
х3^\-\-х |
по модулю |
G (х) = |
1 + |
х -f- л:3 |
|
х* = |
|
||||
х-\-х2 |
|
|
|
|
|
Xs з= 1 + X -f- х2 |
|
|
|
|
|
х*^\+х* |
|
|
|
|
|
л : 7 = л |
|
|
|
|
|
Таким |
образом, полином G(x) |
= \+x+xa |
порождает |
||
циклический код с минимальным |
расстоянием d = 3 |
дли |
|||
ной п=7 |
разрядов. |
|
|
|
хп+\ |
Из изложенного следует, что если полином |
|||||
раскладывается на р, неприводимых1 |
полиномов |
(это |
разложение является единственным с точностью до по рядка их следования):
|
|
|
x» |
+ |
\=G, |
|
(x)Gt(x)...GiL(x) |
|
|
|
|
|||||
и если |
все |
Gi(x) |
различны, то |
можно получить |
2^ |
раз |
||||||||||
личных |
полиномов |
G(x), |
порождающих |
код |
длиной |
п |
||||||||||
с минимальным |
расстоянием |
rf>3. |
|
|
|
|
|
|
|
|||||||
|
Таким образом, циклический код полностью описыва |
|||||||||||||||
ется порождающим |
|
полиномом |
G(x), |
который |
делит |
|||||||||||
хп+): |
|
|
|
xn |
+ \ = |
G(x)H(x). |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Пусть полином |
Н(х) |
имеет |
степень |
к, |
тогда |
G(x) |
— |
||||||||
степень |
г—п—к. |
|
кодовое слово А (х) |
|
|
|
|
|
|
|||||||
|
Так |
как |
любое |
должно |
делиться |
|||||||||||
на |
G(x), |
то |
|
|
A(x) |
= |
V(x)G(x), |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||||
где |
V(х) |
— частное |
|
от |
деления А(х) |
на |
G(x). |
Это |
со |
|||||||
отношение описывает |
процесс |
|
кодирования, |
в |
соответ |
|||||||||||
ствии с |
которым |
исходные |
слова |
V — |
(v0, |
у, |
|
|
|
|||||||
|
1 Полином |
А (л.) |
выше нулевой |
степени |
называется |
неприводи |
||||||||||
мым, если А(х) |
ие может |
быть разложен в |
произведение двух поли |
|||||||||||||
номов меньшей степени. |
|
|
|
|
|
|
|
|
|
|
|
64
длиной |
/г |
разрядов, интерпретируемые |
как |
полиномы |
V(x) = |
^, |
V{XI, умножаются на G(x). |
При |
этом k — ко- |
|
г=о |
|
|
|
личество информационных разрядов, а степень порож дающего полинома r=n—k равна количеству -контроль ных (разрядов. При таком способе кодирования получаем неразделимый циклический код, так так в кодовом слове А(х) невозможно указать место информационных*! конт рольных разрядов.
Существует второй способ задания циклического кода,
который состоит в следующем. Рассмотрим |
произведение |
||||
кодового полинома А(х) |
на Н(х): |
|
|
||
А (х) Н{х) |
= V[(x) G (х)?±± |
= V (х) (х- |
- f 1) =з О |
||
|
по модулю |
G(x). |
|
|
|
Отсюда следует, что коду принадлежат те и только те |
|||||
полиномы А(х), |
для которых выполняется сравнение |
||||
А(х)Н(х)=0 |
по модулю |
+ |
|
||
где Н(х) —проверочный |
полином. |
|
|
Так как циклический код является частным случаем линейного кода, то для него остается справедливым мат ричное описание. В качестве базисных векторов можно
выбрать |
G(x), |
xG(x), |
хп->-Ю(х), |
где |
G(x)=gQ+ |
||
+ g i X i + |
. . . +grxr |
— порождающий |
полином |
степени г. |
|||
Тогда порождающая матрица G циклического неразде |
|||||||
лимого кода имеет |
вид: |
|
|
|
|
||
|
G |
(х) |
|
. |
-gr |
0 0 . |
. 0 |
|
xG |
(х) |
= |
Ogo • |
• £ r - l g r 0 . |
. 0 |
|
|
|
|
|
|
|
||
|
xri-r-lQ(xy |
|
0 0 |
|
|
• • gr |
|
|
|
|
|
|
|
||
Линейная независимость указанных полиномов сле- |
|||||||
ует из того, что |
|
|
|
|
|
||
|
п—г— I |
|
ГС—г— |
1 |
|
|
|
|
2 biXfG(x) |
= G(x) |
S biX* = |
G(x)B(x). |
|||
|
/=0 |
|
|
i-0 |
|
|
|
т. е. полином В(х) имеет степень не выше п—г—1 и G(x)B(x)=0 по модулю хп + \ только в том случае, если один из сомножителей равен нулю.
5 - 2 3 6 |
65 |
Часто циклический код желательно представить в форме разделимого (а, /г)-кода. При этом будем пола
гать, что коэффициенты кодового полинома |
А ( х ) |
= |
аа + |
||||||
+ diX+ ... |
-\-ап-&п~1 |
при 1, х, |
..., xh~l |
являются |
инфор |
||||
мационными |
символами, а при xh, |
xk+i, |
..., |
xn~l — конт |
|||||
рольными. |
|
|
|
|
|
|
|
|
|
Тогда для |
кодового слова, |
соответствующего |
иифор- |
||||||
|
|
|
ft-i |
|
|
|
|
|
|
мационному |
полиному |
У ( А ' ) = ^ ] vtx', |
должно выполняться |
||||||
сравнение |
|
|
/ |
=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A(x) |
= |
V(x)-\-x"R(x)=sO |
по |
модулю |
G(x), |
|
|
||
где ^ ( л " ) = |
|
2 rk+lx'- |
соответствует |
контрольным |
сим- |
||||
|
|
;=о |
|
|
|
|
|
|
|
волам. Из данного сравнения следует алгоритм вычисле
ния контрольных |
символов |
|
|
|
R(x)~—x-h |
V(x) = —xn-hV(x) |
по модулю |
G(x) |
|
или в случае полиномов над двоичным полем |
|
|||
R(x) |
= x-ty(x) |
по |
модулю G(x). |
(3-3) |
Другими словами, для получения разделимого цикли ческого кода достаточно вычислить остаток от деления- xn~hV(x) на порождающий полином G(x).
Если кодовые полиномы
^ - | - ^ i W = 0 или Ri{x) = x ' h + i по модулю
G(x), i = 0, 1 |
k — l |
выбрать в качестве базисных, то получим для раздели мого кода порождающую матрицу
|
|
G = | | i f c R | | . |
(З-4 ) |
|
где R —подматрица, |
/-я строка которой состоит из ко |
|||
эффициентов полинома |
Rj-i(x). |
|
||
Например, |
полипом |
G (х) = 1+х2+х3 |
порождает циклический |
|
(7,4)-код. Тогда |
|
|
|
|
#о М = х3 = |
1 + |
х=; |
|
|
Я, (х) = х* = |
1 + |
х + х г ; |
модулю G (х); |
|
R2 |
(х) = х* = |
|
по |
|
1 + |
х; |
|
||
R3 |
( х ) = х 6 = х + х 2 |
|
60
отсюда получаем |
порождающую |
матрицу |
|||||||
|
|
|
1 |
0 |
0 |
0 |
|
1 0 |
1 |
|
G |
|
0 |
1 0 |
0 |
|
1 1 1 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 0 |
1 |
1 0 |
||
|
|
|
0 |
0 |
0 |
1 0 |
1 1 |
||
Контрольная матрица разделимого циклического кода |
|||||||||
имеет вид: |
|
|
|
|
|
|
|
|
|
|
|
H = |
|
| | R t I n - f c | | - |
|||||
Данную матрицу можно записать следующим |
|||||||||
образом: |
|
|
|
|
|
|
|
|
|
H = |U«\ -V+ i |
-?V - 1 |
1, |
X, |
|
|
|
по модулю G(x), |
||
|
, х |
|
|
|
|
|
|
имея в виду, что вектор-столбцами Н являются располо женные в порядке возрастания их индекса коэффициен ты вычетов по модулю G(x). Поэтому контрольную мат рицу циклического кода иногда записывают в виде
Н: |
1, х, хй,..., хп~1\\ |
по модулю G(x). |
(3 5) |
3-2. НЕКОТОРЫЕ КЛАССЫ ЦИКЛИЧЕСКИХ КОДОВ
Среди циклических кодов существует аналог рассмот ренных в тл. 2 кодов Хэмминга с минимальным расстояни ем d—З. Эти коды порождаются так называемыми при митивными1 полиномами. Смысл использования прими тивных полиномов можно пояснить следующим об разом.
Пусть G(x) — некоторый полином степени |
/\ Длину |
|
кода п, порождаемого данным полиномом G(x), |
опреде |
|
ляем делением xi на G(x) |
при последовательном |
увеличе |
нии степени I до тех пор, |
пока не будет выполнено срав |
нение (3-2). Найденное значение степени п, удовлетво^ ряющее сравнению (3-2), равно длине порождаемого
кода. Значение п равно количеству различных |
ненулевых |
||
остатков, которые получаются при делении xi |
на |
|
G(x) |
(при дальнейшем увеличении степени эти остатки |
перио- |
||
1 Примитивным называется неприводимый полином, корнем ко |
|||
торого является примитивный элемент поля Галуа GF(2r), |
где |
г — |
|
степень полинома. Элемент поля GF(2r) является примитивным, |
если |
||
его порядок равен 2Г —1. |
|
|
|
5* |
|
|
67 |
дически повторяются). Так как степень G(x) равна г, то количество различных ненулевых остатков не может пре восходить величины 2'"—1, и если п — 2г—1, то G(x) яв ляется примитивным полиномом. Таким образом, исполь зование в качестве G(x) примитивного полинома позво ляет получить максимально возможную длину п корректи рующего кода с d=3 при данном количестве контроль ных разрядов /-.
Таблицу |
неприводимых полиномов до 34-й степени |
с указанием |
примитивных можно найти в монографии |
[Л. 8]. В табл. 3-1 приведены параметры и порождающие полиномы циклических кодов Хэмминга длиной п не бо
лее 2 047 |
разрядов. |
Примитивные полиномы |
|
одинаковой |
||||||||||||||||
степени |
порождают |
|
эквивалентные |
коды. В |
табл. |
3-1 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а |
|
3-1 |
|||
(я, А)-код с ми |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
нимальным |
рас |
|
|
|
|
ПорождлющиН полином С (.v) |
|
|
|
|
||||||||||
стоянием |
</=3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
(7. |
4) |
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(15, |
|
11) |
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(31, |
|
26) |
|
45, |
75, |
67 |
|
|
|
|
|
|
|
|
|
|
|
|||
(63, |
|
57) |
|
103, |
147, |
155 |
|
|
|
|
|
|
|
|
|
|
||||
(127, |
|
120) |
|
211, |
217, |
235, |
367, |
277, |
325, |
203, |
313, |
345 |
|
|
||||||
(255, |
|
247) |
|
435, |
551, |
747, |
453, |
545, |
543, |
537, |
703 |
|
|
|
||||||
(511, |
|
502) |
|
1021 , |
1131 , |
1461, |
1423, |
1055, |
1167, |
1541, |
1333, |
|||||||||
|
|
|
|
|
1605 |
, |
1751 , |
1743, |
1617, |
1553, |
1157, |
1715, |
1563, |
|||||||
|
|
|
|
|
1713 |
, |
1175 |
|
1725, |
1225, |
1275, |
1773, |
|
1425, 1267 |
||||||
(1023, |
1013) |
2011 |
, |
2415 |
|
3771, |
2157, |
3515, |
2773, |
2033, |
2443, |
|||||||||
|
|
|
|
|
2461 |
, |
3023 |
|
3543, |
2745, |
2431, |
3177, |
3525, |
2617, |
||||||
|
|
|
|
|
3471 |
, |
3323 |
|
3507, |
3623, |
2707, |
2327, |
3265, |
2055, |
||||||
|
|
|
|
|
3575 |
, |
3171 , 2047, 3025, 3337, |
3211 |
|
|
|
|
|
|||||||
(2047, |
2036) |
4005 |
, |
4445 , |
4215, |
4055, |
6015 |
|
|
|
|
|
|
|||||||
|
П р н м е ч а н н е. Коэффициенты |
полиномов |
О(х) |
записи/ ы в |
восьмеричной |
сис |
||||||||||||||
теме. Например, 23=01001 \—х* + |
х+1. |
|
|
|
|
|
|
|
|
|
|
|
представлена только половина примитивных полиномов соответствующей степени. Примитивными являются поли номы, двойственные к указанным. Двойственный поли
ном |
G*(x)=xrG(l/x) |
порождает |
эквивалентный |
код. |
|||
Поэтому, например, |
(7, 4) -код порождается |
полиномами |
|||||
13 и 15, (15, 11) -код — полиномами 23 и 31 и т. д. |
|
||||||
Наилучшими из известных циклических кодов для |
|||||||
исправления независимых |
ошибок |
являются |
коды. |
||||
Боуза — Чоудхури — Хоквинхема |
(БЧХ). В |
этих |
кодах |
||||
число |
контрольных |
разрядов |
r<^rnt |
при |
длине |
кода |
68
п = 2т—1, где / — количество |
исправляемых |
ошибок. |
Теория построения этого класса |
кодов здесь |
не излага |
ется, в табл. 3-2 приведены параметры и порождающие
полиномы .коротких кодов БЧХ (коэффициенты |
полино |
||||||
мов записаны |
в восьмеричной |
системе, |
см. примечание |
||||
к табл. |
3-1). |
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а 3-2 |
|
(л, |
й)-код |
Минимальное |
Порождающпи'полнном 0(х) |
||||
расстояние d |
|||||||
(15,7) |
|
721 |
|
|
|
|
|
(21,12) |
|
1467, |
1663 |
|
|
|
|
(31,21) |
|
2303, |
3557, |
3551 |
11253 |
||
(63,51) |
|
16223, |
12471, |
11625, |
|||
(127, |
113) |
|
41567 |
|
|
|
|
К циклическим кодам, предназначенным для обнару жения и исправления вспышек ошибок, относятся коды Файра. Порождающий полином этого класса кодов равен произведению двух полиномов:
G(x)=P(x)(xB+-l),
где Р(х) — неприводимый полином степени т. Длина п кода, порождаемого полиномом G(x), определяется из выражения (3-2).
Пусть
л:"' = 1 по модулю Р(х),
где ni — минимальное не равное нулю число, при котором
справедливо |
это сравнение. |
Учитывая, |
что полином |
||
xi + \ делит |
полином |
х'+\ |
в том и только |
в том случае, |
|
если i делит /, получаем, |
что длина кода, порождаемого |
||||
полиномом G(x)=P(x) |
(хс+1), |
равна: |
|
||
|
|
п=[пи |
с], |
|
где квадратными скобками обозначено наименьшее об
щее кратное |
чисел щ и с. Количество контрольных раз |
|||||
рядов равно |
степени полинома G(x), |
т. е. г=т |
+ с. Дан |
|||
ный код позволяет исправить любую одиночную |
вспышку |
|||||
ошибок длиной / или менее и одновременно |
обнаружить |
|||||
любую вторую |
вспышку ошибок |
длиной |
t^l, |
если |
||
l + t—l<g:c и |
m^l. |
При синтезе данного класса |
кодов |
можно пользоваться таблицей неприводимых полиномов [Л. 8]. В частности, если в качестве Р(х) выбирать гарими-
69