Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 156

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Если первоначально фильтр содержит нули, то при подаче на его вход полинома

S(x) = 5 o + SiX + S2X2 + . . . + SkXk

(предполагается, что коэффициенты полинома S(x) по­ ступают на вход, начиная с коэффициентов низших по­ рядков, после чего следует г нулей) на выходе получим произведение поли иомов

 

 

5

(х)

G (х)

= s0go +

(sigo

+

s0gi)

х +

 

 

 

+

(s0g2

+ Sigi

+

S2go)x2

+

. . . +

 

Sl,grXh+r.

 

Действительно, при подаче на вход коэффициента So

на выходе получаем s 0 g 0 .

В следующий

момент

времени

Вход

 

D

D

 

 

D

 

 

D

т2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ч0Г-/

 

 

 

Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

91

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

 

 

Н Яг

 

т2\

 

 

 

 

 

 

т2\

т2 Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н

 

Н В„ Н

 

Вход

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

3-1. Схема умножения

на

полином

 

G(x) =ga+g\x+

... +

а — с

одним миоговходовым

сумматором

по модулю

два; б — с двувходо -

 

 

 

выми сумматорами по модулю два.

 

на вход поступает Si и

на

выходе

 

фильтра получаем

(stgo+Sogi)

и т. д. Показанные схемы умножения

много­

членов

могут

использоваться

в качестве

кодера

для не­

разделимого циклического кода, заданного с помощью порождающего полинома G(x). Например, схемы коде­ ров для G(x) = 1 23 показаны на рис. 3-2.

71


Вход Гд

т2

Для осуществления

ко­

дирования

разделимым

ци­

 

Выход

 

клическим

кодом и вычисле­

 

 

ния корректора

необходимо

 

 

уметь строить

схемы деления

 

ЩВшоВ

полиномов. Деление

полино­

 

мов производится с помощью

 

 

 

 

линейных

 

ммоготактных

 

 

фильтров

с обратными

свя­

 

 

зями.

 

 

 

 

 

Рис. 3-2. Схемы кодеров для

Рассмотрим

произволь­

неразделимого

циклического

ный фильтр,

содержащий г

кода, порождаемого полиномом

элементов задержки. Состоя­

G(x) =

l+x2+xh

ние фильтра

будем

описы­

а — с трехвходовым сумматором по

вать вектором й = («1, юг,...,

модулю два; б — с двумя двувходо -

со;-), где сог показывает

зна­

выми сумматорами

по м о д у л ю два.

 

 

чение двоичного символа, за­

 

 

поминаемого в i-м элементе

задержки D. Нумерация элементов D производится

сле­

ва направо. В дискретные моменты времени, период сле­

дования которых

.равен

величине

задержки сигнала

в элементах D,

состояние

фильтра

изменяется. Если

в качестве элементов задержки «спользуются триггеры, то период изменения состояний фильтра равен периоду

следования синхронизирующих

сигналов, с помощью ко­

торых производится сдвиг

информации

в регистре.

В

автономном режиме 'новое

состояние

фильтра

Q* =

=

(и*1, ш*2,-. .,а>*т) можно вычислить

с помощью

следу­

ющих соотношений:

 

 

 

 

 

со*1=тцсй1 + /П12Сй2+. • . +

tri\far;

 

 

щ*2=/П21С01+т22;<»2+.. .-htfferuv;

 

 

cu*r=/nricui+.m,.2Q)2+.. . + m„(j)r,

где triij—Л, если выход /-го элемента задержки связан со входом i-ro элемента; в противном случае пгц — О (сло­ жение и умножение являются операциями двоичного поля).

Эту систему уравнений можно переписать в матрич­ ной форме

Q*t = MQt или Q* = QM( ,

72


где М квадратная матрица коэффициентов Мц, назы­ ваемая матрицей связей; — транспонированная мат­ рица М.

Например, матрица

0 0

I

I

м = ||

1

0 0

0

0

1 0

0

1*0

1 о

соответствует фильтру, показанному на рис. 3-3.

Если исходное 'состояние фильтра равно Q, то последующие со­ стояния в автономном режиме будут равны:

QMt, (£2M,)M, = fiM2(...

Однако число различных ненулевых состояний фильтра не может превысить 2Г—-1. Поэтому найдется такое целое число /, не равное нулю, что ЙМ'( = Й. Множество состояний, которое принимал фильтр до тех пор, пока он «е перешел в исходное состояние Я, называют

|_|/772

D

D

Q L/772

D

 

1

1

3

 

Рис. 3-3. Схема фильтра с обратными связями.

циклом. В общем случае длина цикла I зависит не только от матрицы связей М, но и выбранного исходного состояния. В связи с этим го­ ворят о структуре циклов фильтра.

Теорию многотактных фильтров с обратными связями применительно к вычислению остатка от деления двух полиномов можно изложить следующим образом. Век­ тор-столбцам матрицы М поставим в соответствие поли­ номы степени г1 таким образом, что

г

/ = |

Тогда матрицу М можно записать в виде

M = | | f t ( j c ) , М-*) М-*)||.

(3-6)

73

 

Если

 

 

 

 

 

j i g

(JC) =н лц, (л) ss 1;

 

 

 

 

по модулю G(x),

Ji, (Л") sa ЛV, (Л') = Х\

 

 

 

 

 

 

 

 

 

(ir

(Л") s=,Xr V,(A')s=A-r 2 ,

 

 

 

(3-7)

 

 

 

 

 

 

то соответствующая

матрица

 

связей

 

 

 

Si

1

0 .

. 0

 

 

М

gi

0

1 .

. 0

(3-8)

 

=

 

 

 

 

 

gr-

0

0 .

. I

 

 

 

gr

0

0 .

. 0

 

Тогда состояние фильтра в следующем такте

Q*(x) З = Й М ( = = С О 1 Д ; - 1 +

С О 2 + : С О З А : +

.. . +©г х''-2 ==

= (ац + <йгХ + ...

+(arxr~i)x-l

= Q(x)x-i

помодулю G(x).

 

 

 

(3-9)

Входную цепь

фильтра

построим

таким образом,

чтобы Q*(x) =[Q(x)

+s]x-x

по модулю

G(x), т. е. после­

дующее состояние получается прибавлением входного

символа s к содержимому фильтра

и однократным сдви­

гом влево в автономном режиме.

 

 

 

 

 

 

Если начальное состояние Q(°)(je)=0 и на вход филь­

тра

поступает последовательность

символов

So, Si, s2, .. .

...,

s

n - i [эта последовательность соответствует коэффици­

ентам

полинома

S(x)=So

+ siX+S2X2+..

 

.-\-sn-iXn~l],

то

фильтр будет последовательно принимать состояния

Q<2> (х) s= (vc~ 1 +

s.) х-1

== sQx~2

+

s, х ~

по

модулю

Q<n> (JC) == s0x ~n ' +

SlA - <r t _ 1 > -f-... +

s„ _ ,x - 1 .

G(x).

 

 

 

* Сравнение X-1

= \JH{X)

по модулю

G{x)

эквивалентно x\ii{x) =

= 1, тогда xy.i(x) = G{x)

+

1 = {go + 1) +

gtx+ . . .

+ £ , л : г = * ( £ | - г -

+ g 2

* +

. . . +grXr~l),

а

отсюда следует

Ц| (д;) =g1+g2x+

. . .

. . .

 

+grXr~l.

 

 

 

 

 

 

 

 

74


Или,

учитывая

сравнение хп = \

тго модулю

G(x),

получаем:

 

 

 

 

QW(x)s=s0

+ SiX + .. . + sn-ix(-n-i'>^S(x)

по модулю

G(x).

Следовательно, после поступления последнего сим­

вола s n - i

содержимое

фильтра будет

равно остатку от

деления полинома S(x)

на G(x).

 

 

Структура фильтра,

описываемого матрицей

связей

(3-8), показана на

рис. 3-4. Данная

схема может

быть

Рис.

3-4. Схема одиоканального

кодера для циклического раздели­

мого

кода, порождаемого полиномом G(x) = l+g^x+ . . . +gT-\XT-[

+

 

+

grXr.

 

использована для вычисления контрольных разрядов раз­ делимого циклического кода в соответствии с выраже­ нием (3-3). Кодер работает следующим образом. Снача­ ла ключ К находится в нижнем положении и k = nг информационных разрядов (v0, vu ..., u^-i) поступают на вход фильтра, который вначале находится в нулевом состоянии, и непосредственно в линию связи. Затем ключ К переключается в верхнее положение. В этом случае обратная связь в фильтре размыкается и г контрольных разрядов последовательно «выдвигаются» в линию. Та­ ким образом, к концу передачи кодового слова фильтр оказывается в нулевом состоянии.

Формально работа кодера описывается следующим образом. После поступления k информационных симво­ лов содержимое фильтра равно:

 

QM(x)

^VoX-'l

+ vix-(h-i)+..

. +

vh-lx-i^

=x-h(v0

+ ViX+.. . + vil-ixk-i)=x-hV(x)

по модулю G(x),

что совпадает с выражением (3-3).

 

 

 

Корректирующее устройство служит для проверки

выполнения условия (3-1), т. е. если

принятый

полином

соответствует

кодовому

слову, то он должен

делиться

на G(x).

Если

же возникла ошибка

Е(х)=х{е(х),

кото-

75


рая принадлежит к множеству ошибок, корректируемых данным кодом, то по полученному остатку от деления

Е(х)

на

G(x)

(корректору)

ошибка может быть

исправлена.

 

 

Структурная схема КУ показана на рис. 3-5. Коэффи­

циенты а0,

ait- -An-i полинома

А(х) последовательно по­

ступают на вход буферного ЗУ, в качестве которого

обычно используется n-разрядный сдвигающий

регистр,

и одновременно на вход блока деления А(х) на

полином

ill

 

Блок

 

лс

 

деления на S(x)

±

 

 

 

 

 

Вход

Буферное ЗУ

Ц/772 Выход

 

 

 

Рис. 3-5. Структурная схема КУ для циклического кода.

G(x) (многотактный фильтр). Если А(х) является кодо­ вым словом, то через п тактов содержимое блока деле­ ния (корректор) станет равно нулю. При появлении об­ наруживаемой ошибки корректор с<-°)(х)Ф0. Если про­ должить работу (синхронно производить сдвиги содер­ жимого буферного ЗУ и блока деления в автономном режиме), то последовательные состояния блока деления или значения корректора будут равны:

 

 

по модулю

G(x),

е<*> (х) == х°е (х) =

е (х),

 

т. е. вычет е(х)

будет

воспроизведен

точно через

i тактов.

 

 

 

Впростейшем случае, когда возникла одиночная

ошибка Е(х)=х\ т. е. е(х) — \, на им такте сЮ(х)=<1

или содержимое запоминающих ячеек блока деления будет равно 10.. .00. При появлении этой комбинации на выходе логической схемы должен появиться сигнал, ко­ торый поступит на вход сумматора по модулю 2 и инвер­ тирует ошибочный символ. Таким образом, при исправ­ лении одиночных ошибок в одноканальном КУ логиче­ ская схема (ЛС) (рис. 3-5) представляет собой схему

76