Исправление ошибок с помощью полной 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Исправление ошибок с помощью полной



Кодовой таблицы

Процесс исправления ошибок поясняется с помощью диаграммы.

Ak – разрешённые комбинации                    Bj – запрещённые комбинации

 


А1 может искажена и может превратиться в B1 или B2 и т.д. в любую из запрещённых комбинаций. Запрещённые комбинации делятся на подмножества Hk.

Способ приема состоит в том, что если принимается комбинация Bj, которая попадает в подмножество Мк, то считается, что принята комбинация Ак (M1 соответствует тому, что передавалась комбинация A1).

Исправляющая способность кода будет зависеть от выбора разбиения или от стратегии.

 

Пример: Рассмотрим пример построения КУ. Пусть li – вектор ошибки, он имеет те же размерность, что и кодовая комбинация. 1 – искажения есть, 0 - искажений нет. Пусть кодируется набор из 4-х комбинаций.

 

А1=0001

А2=0101

А3=1110

А4=1111

 

 

Bj=Ак+li

 

li

Ак

q
  0001 0101 1110 1111

1

0001 0010 0100 1000 0000 0011 - 1001 0100 0111 - 1101 - 1100 1010 0110 - 1101 1011 0111
0011 0101 1001 0110 1010 1100 0010 0100 1000 0111 1011 1101 0110 0000 1100 0011 - 1001 1101 1011 0111 1000 0100 0011 1100 1010 0110 1001 - 0011 2
0111 1011 1101 1110 0110 1010 1100 - 0010 - 1000 1011 1001 - 0011 0000 1000 0100 0010 - 3
1111 - 1010 - 0000 4

 

Разбиение

Разбиение запрещенных кодовых комбинаций на множества зависит от статистики ошибок и выбранной стратегии. Если ошибки в каждом символе независимы, то вероятность ошибок убывает с повышением ее кратности. Для уменьшения средней вероятности ошибки следует в начале исправлять ошибки меньшей кратности.

На практике действуют следующим образом: оставляют комбинации в сроках с низшей кратностью и вычеркивают одинаковые комбинации в строках с высшей кратностью. Действуя, таким образом получают таблицу комбинаций:

 

М1 М2 М3 М4 q
0000 0011 1001 0100 0111 - 1100 1010 0110 1101 1011 - 1
0010 - 1000 - 2

 

Т.е. Исправили десять одинарных и две двойные ошибки.

Если статистика ошибок такова, что большую вероятность имеют ошибки высшей кратности, то разбиение изменяют: оставляют комбинации в строках с высшей кратностью и вычеркивают в строках с низшей.

 “-“ значит действие помехи переходит в разрешенную комбинацию и мы ее обнаруживаем.

 

М1 М2 М3 М4 q
1101 - 0111 - 2
0110 1100 1000 1011 0001 0011 0100 0010 3
- 1010 - 0000 4

 

Если статистика ошибок такова, что какая-нибудь комбинация искажается больше, чем другие, например, комбинация А1, то стратегия разбиения будет другая: оставляем все кодовые комбинации соответствующие А1, т.е. М1, а остальные вычеркиваем: комбинации, которые не совпадают, остаются

А1 М1 А2 М2 А3 М3 А4 М4 q
0000 0011 1001 - - - 1100 0010 0110   1
0010 0100 1000 0111 1011 1101       2

Систематические коды

Это коды, в которых контрольные и информационные разряды размещаются по определенной системе. Закономерности, заложенные в структуре этих кодов, позволяют проводить декодирование более простым способом, чем методом полной кодовой таблийы.

Кодовый вектор – последовательность 0-й и 1-й кодовой комбинации.

Вес кодового вектора – число единиц в кодовой комбинации.

Нулевой вектор – кодовая комбинация, состоящая из одних нулей.

 

n – значность кода (из скольки символов состоит кодовая комбинация);

nu – число информационных разрядов;

nk – число контрольных разрядов;

 

Пример: Для систематических кодов применяют обозначение:

Код(n, nu)            Код (5,3)

 

Построение систематических кодов производится следующим образом: в качестве первого берется нулевой вектор, затем составляется производящая матрица. Она имеет nи – строк, n – столбцов. В качестве строк производящей матрицы берутся любые линейно независимые n-значные векторы, отстоящие друг от друга не менее, чем на заданное кодовое расстояние. Строки матрицы G – являются кодовыми векторами. Первый вектор - нулевой.

Линейно независимыми называются векторы, для которых выполняется условие:

v1, v2,...,vк

v1 + v2 +...+ vк ≠ 0

 

Остальные кодовые векторы определяются количеством:

 где

 - всего (общее число кодовых векторов);

  - находится в производящей матрице;

1 –нулевой вектор.

 

Остальные кодовые векторы получаются в результате суммирования строк производящей матрицы G в различных сочетаниях.

Для обнаружения ошибок составляется множество проверочных векторов, ортогональных векторам кода. Т.е. если кодовый вектор v образован символами а1, а2,…, аn, а ортогональный вектор u образован символами – b1, b2,..., bn, то

Из векторов u составляется проверочная матрица Н. Она имеет nк – строк, n-столбцов. Строками матрицы Н являются любые линейно-независимые векторы u.

 

Пример: Пусть строится код (5,3) с минимальным кодовым расстоянием d0=2. Он позволяет обнаруживать все одиночные ошибки. Составим производящую матрицу G:

                   Три строки, т.к. nu = 3, n = 5 – столбцы

                                                       Комбинации        Результат комбинации

1 + 3
1 + 2 + 3
2 + 3
1 + 2
Строки матрицы G
Нулевой вектор
                                              

 

Можно было бы построить G из любой другой тройки векторов, кроме сочетаний v2v3v5, v2v4,v1 и т.д. (семь штук), т.к. эти сочетания линейно зависимы, т.е. v2 + v4 + v7 ≠0.

Построим ортогональные векторы u (проверочные).

 Составим для векторов v2, v3, v8. Эти вектора имеют минимальное количество единиц.

v2 0 × b1 + 0 × b2 + 0 × b3 + 1 × b4 + 1 × b5 = 0

  b4 + b5 = 0

v3 b2 + b3 + b5 = 0

v8 b1 + b3 = 0

 

Для любого вектора u должно выполняться

 

Перебирая все удовлетворяющие этим условия сочетания, получили:

u1 = 00000

u2 = 01011

u3 = 10111

u4 = 11100

 

Из этих векторов необходимо составить проверочную матрицу Н

- т.к. они линейно независимы

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 78; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.115.118 (0.014 с.)