Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 149
Скачиваний: 0
Таким образом, из матрицы G получено четыре 'неза висимых (в том смысле, что ни один из аргументов не входит в -более чем одно уравнение) уравнения для вы числения информационного символа Sio. Симметричность матрицы G существенно облегчает поиск контрольных соотношений. Информационные символы, значения кото рых найдены по принципу большинства, используются для вычисления -значений символов, соответствующих ба зисным векторам более низкого порядка.
В |
качестве |
примера |
приведем |
|
систему |
уравнений, |
|
полученных |
||||||||||
из построенной выше матрицы G: |
|
|
|
|
|
|
Ь,+ |
|
|
|||||||||
s.. = |
6 0 + 6, 4- 62 + |
6, = |
64 + 6 5 + 6 6 + |
6 , = 68 + |
|
|
||||||||||||
|
|
|
+ 6,0 + Ьи — 6,2 + 6 I 3 + 6 1 4 + 6 1 5 ; |
|
|
|
|
|||||||||||
«• = ь„ + bt + 64 + 6 5 = 62 + 63 + 66 + 6, = К + ь, + |
|
|
||||||||||||||||
|
|
|
+ |
6 1 |
2 + |
6„ = |
6 1 0 |
+ |
6ц 4- &u + bis". |
|
|
|
|
|||||
s e = ьй + ьг + б4 + б6 = &, + ь, + б5 + ьп = бв + б,0 + |
|
|
||||||||||||||||
|
|
|
4 - б,2 + б,4 = б9 + 6 п + &и 4- б,5 ; |
|
|
|
|
|||||||||||
^7 = |
60 |
+ |
6, + |
6, 4" Ь, = |
62 |
+ |
Ь, 4" б.о + ьи |
= |
|
|
|
|
||||||
|
= |
|
6* + |
6s + |
6ц + |
&1з |
= |
65 + |
67 + |
6 U |
+ |
6,5 ; |
|
|
|
|||
«6 = |
60 + |
62 + |
67 + |
6ю = |
6, 4- 63 + |
б„ 4- 6,, = |
64 4- 6в |
+ |
1 (2-9) |
|||||||||
|
|
|
+ Ь 1 2 + 6 1 4 = 6 6 4 - 6, 4- 6 1 3 + 6 1 6 ; |
|
|
|
||||||||||||
«s = |
6 0 |
+ |
6 4 |
4- 6 8 + 6,а = 6 , 4 - 6 5 |
+ |
6„ 4 - 6,j = |
|
|
|
|||||||||
|
= |
|
62 + |
6в 4- |
&,„ 4- 6,4 = |
63 |
+ |
6 , 4 - 6,, 4- &,5; |
|
|
|
|||||||
= 60 + 6, = 62 4- 63 + s , 0 = 64 4" 65 + Sj = 66 4 - 6 , + |
|
|||||||||||||||||
|
|
|
+ |
бв + s,„ = 6 , 0 |
4- |
+ |
s 7 |
4- s,„ |
= |
|
|
|
|
|||||
= |
6,2 + |
6,3 4- s, 4- s, = |
6 I 4 4- 6,5 |
4- s, 4- s„ 4- |
s,„; |
|
|
|||||||||||
s 3 = |
60 + |
62 = |
6, 4- b34-s10 |
= |
6 4 4 - b0 |
+ |
s 8 |
= ...; |
|
|
|
|||||||
« a = |
60 |
+ |
6 4 = |
6, 4 - 6 6 + |
s.,= |
6 2 4 - 66 + |
s e = |
...; |
|
|
|
|||||||
«1 = |
60 |
+ 6 , |
= |
6 , 4 - 6 9 4 - 5 7 = 6 2 4 - |
6,0 |
4-s„ = |
...; |
|
|
|
||||||||
50 = 6 0 = 6 , 4 - 8 4 = 62 + 5 3 = . . . . |
|
|
|
|
|
|
|
j |
В заключение необходимо отметить, что матрицу G кода Р—М можно, привести к виду G = ||If e A|| и исправ ление ошибок производить, дешифрируя вычисленный корректор.
2-5. ПОСТРОЕНИЕ КОДОВ Д Л Я ИСПРАВЛЕНИЯ ОШИБОК ЗАДАННОГО ВИДА
В ряде случаев требуется .построить линейный груп повой код, обеспечивающий обнаружение и исправление любой ошибки из заданного множества Ф, в качестве
46
элементов которого обычно выбираются наиболее верЭятные ошибки.
Рассмотрим возможный метод решения этой задачи. Линейный .групповой код полностью описывается кон трольной матрицей Н. Поэтому поставленная задача сво дится к отысканию таких значений корректоров, соот ветствующих одиночным ошибкам (или вектор-столб цов Н), что различным ошибкам из множества Ф будут
соответствовать различные корректоры.
Элементы заданного множества ошибок обозначим
через Ei, Е2, |
• •., £ а . Каждый |
из этих |
векторов пред |
|
ставляет собой /г-разрядную |
двоичную |
последователь |
||
ность, содержащую единицы |
в |
искаженных позициях. |
||
Для удобства |
дальнейших |
рассуждений |
пронумеруем |
позиции (символы) ошибочных векторов справа налево. На основе заданных значений Ei построим следующую (QXn)-матрицу возможных ошибочных последователь ностей:
—£an е2, n - i •
еВпеЯ,п—\ •
Каждый из столбцов матрицы М содержит по край ней мере одну единицу, так как в противном случае в соответствующих разрядах кода ошибки возникнуть не могут и их следует исключить из рассмотрения.
Вычеркивая в матрице М все столбцы, кроме правых двух, и исключая из рассмотрения повторяющиеся и ну левые строки, получим матрицу М2 . Естественно, количе ство строк в Мг не превышает трех, но и не меньше двух.
В качестве корректоров hi, h2, |
соответствующих ошибкам |
||
в |
1-м и 2-м |
разрядах, выберем соответственно 00 ... 001 |
|
и |
00 . . . 010 |
(т. е. двоичные |
коды чисел 1 и 2). Вычис |
лим множество Ai корректоров, соответствующих раз личным ошибочным последовательностям, которые явля ются строками матрицы М2 . Объединив элементы множе ства Ai и ранее выбранные корректоры для одиночных ошибок, получим множество «используемых» корректо
ров А2.
Аналогично предыдущему построим матрицу М3 , вы черкивая все столбцы в М, кроме трех правых. В качест ве корректора h3, соответствующего ошибке в третьем
47
разряде, выберем двоичный «од, соответствующий наи меньшему числу, не -принадлежащему множеству А2. За тем вычисляем множество корректоров, соответствующих строкам матрицы Мз. Так как по условию строки матри цы М3 различны, то и все рассматриваемые корректоры должны быть различны. В противном случае значение /г3 выбрано неправильно и следует выбрать число на едини цу больше, чем 'рассмотренное. После этого вычисляют ся значения корректоров (с новым значением /13), соот ветствующих строкам М3 . Процесс выбора значения Лз оканчивается, если все рассматриваемые корректоры раз личны. Объединяя корректоры h3, hi, hi и их комбина ции, соответствующие строкам М3 , получаем множество
«используемых» |
корректоров Л3 . Заметим, что А3 |
может |
||
быть |
получено |
объединением Ai с /г3 и |
корректорами, |
|
при |
вычислении |
которых использовалось |
значение |
/г3. |
Затем строится матрица М<„ выбирается hi и т. д. Процесс, построения • кода заканчивается после того,
как будет выбрано значение корректора 1гп- Однако этот процесс при необходимости может быть закончен на любом шаге (при этом будет получен более короткий код). Контрольная матрица Н для построенного кода имеет вид:
|
Н = || М я . , A , M i II- |
|
|||||||||
В заключение |
заметим, |
что |
для |
|
упрощения расчето |
||||||
при построении |
матриц |
М2-, М г + 1 |
|
Мц мо кно исклю |
|||||||
чить из рассмотрения те векторы |
|
ошибок |
которые |
||||||||
уже встречались в одной из матриц |
M,_i, ..., |
М 2 . |
|||||||||
Для иллюстрации изложенного метода |
построим |
корректирую |
|||||||||
щий код длиной 8 разрядов, исправляющий |
|
ошибки вида 101. Матри |
|||||||||
ца ошибочных последовательностей имеет вид: |
|
||||||||||
|
о о о о о |
1 |
0 |
1 |
|
|
|
||||
|
0 |
0 |
0 |
0 1 |
0 |
1 0 |
|
£2 |
|
||
|
0 |
0 |
0 |
|
1 0 |
1 |
0 |
0 |
|
Е3 |
|
|
0 |
0 |
1 0 |
1 |
0 |
0 |
0 |
— Е* |
|
||
|
0 |
1 0 |
|
1 0 0 |
0 |
0 |
|
Еъ |
|
||
|
1 0 |
1 0 |
0 |
0 |
0 |
0 |
|
Еа |
|
||
Изматрицы М |
получаем: |
|
|
0 |
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
1 |
0 |
|
|
|
|
'48
Выбираем значения корректороп, соответствующих одиночным ошибкам: Л, = 1=00 . . . 01, /х 2 =2=00 10. Из М2 следует, что множество Аг= {00 . . . 01, 00 . . . 10} = { 1 , 2}.
Далее получаем, что
|
|
1 |
0 |
1 |
|
м 3 |
= |
0 1 |
0 |
|
|
|
|
I |
0 |
0 |
|
В качестве корректора |
h3 |
выбираем 3, т. е. ';3 =00 |
011. Тогда |
множество корректоров, соответствующих матрице Мз, есть Л | + А 3 = 2 ;
Л г = 2 ; Л з = 3 . В связи |
с тем, что код двойки встречается дважды, зна |
||||||||
чение Лз выбрано неверно. Поэтому |
выбираем |
код следующего |
числа: |
||||||
Л з = 4 = 0 0 . . . 100. Вычисляем новые |
значения |
корректоров: Л ] + Л 3 = 5 ; |
|||||||
Л 2 =2; |
/г 3 =4 . Отсюда |
множество «используемых» корректоров |
А3— |
||||||
= {5, |
4, 2, 1}. Заметим, |
что A3=A2\J{hl+h3, |
Л3 }={1, 2, 5, 4}. |
|
|||||
|
|
|
|
0 |
1 0 |
1 |
|
|
|
|
|
|
М . , = |
1 0 |
|
1 0 |
|
|
|
|
|
|
0 |
1 0 |
0 |
|
|
||
|
|
|
|
|
|
||||
|
|
|
|
|
0 |
0 0 |
|
|
|
но поскольку ошибочная |
последовательность |
Ei уже рассматривалась |
|||||||
в матрице Мз, исключим |
ее из дальнейших расчетов: |
|
|||||||
|
|
|
|
1 0 |
1 0 |
|
|
01 0 0
10 0 0
Вкачестве кода для hi выбираем 6, так как 5 е Л 3 . Вычисляем
значения корректоров, в образовании которых участвует /г4: А 2 = =00 .. 0110+00 . . . 0010=00 . . . 0100=4. Так как элемент 4е=Л3 , то
код для hi выбран неправильно. Поэтому выбираем ht=7 |
и |
hi+h2= |
||
=5, но 5 е Л 2 . Выбираем Л 4 = 8 , тогда Л4+Л2 =10 и множество |
«исполь^ |
|||
зуемых» корректоров |
|
|
|
|
/П=/4з11{/и, / и + М = { 1 , |
2, 4, 5, 8, 10}. |
|
|
|
Исключаем из рассмотрения последовательность Ег, |
тогда |
|||
1 0 |
1 0 |
0 |
|
|
Ms = 11 0 |
1 0 0 0 |
|
|
1 0 0 0 0
В качестве кода для hs выбираем 9, так как это наименьшее число, не принадлежащее /Ц и ранее не выбиравшееся в качестве корректора. Тогда из Ms следует, что Л 5 + Л з = 13 и
/Ц=Л4 11{Й5, й5 +Аз}={1, 2, 4, 5, 8, 9, 10, 13}. Аналогично
1 0 1 0 0 0
0 |
1 0 |
0 0 0 |
|
1 0 |
0 |
0 0 0 |
|
4—236 |
|
|
49 |