Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических

Код, предложенный Варшамовым, является типичным представителем систематических кодов, т.е. сумма любых разрешенных комбинаций также является разрешенной комбинацией. Благодаря этому возможно построить все комбинации кода, располагая лишь их ограниченным количеством. Построение систематического кода производится на основе образующей матрицы. Образующую матрицу можно представить в виде двух подматриц: информационной |Ek| (единичная матрица, k – количество информационных элементов) и проверочной |Crk|.

Построение матриц G и Н

Проверочная матрица |Crk| для кода Варшамова строится подбором различных комбинаций и должна удовлетворять следующим условиям:

1) каждая строка подматрицы |Crk| должна содержать не менее (dmin - 1) единиц (dmin – минимальное кодовое расстояние);

2) сумма любых j-строк должно иметь не менее (dmin - j) единиц;

3) число столбцов подматрице – r (равно числу проверочных элементов).

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru , (7)

где n – длина кодовой комбинации.

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru . (8)

Код Варшамова, как и любой другой систематический код, способен обнаруживать и исправлять ошибки. Количество исправляемых ошибок:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru , (9)

где tu – целое число, т.е. в формуле (9) округляется до ближайшего меньшего целого.

Для того чтобы обнаружить, в каком разряде была допущена ошибка, строят проверочную матрицу Н. Проверочная матрица состоит из двух подматриц: |Dkr|, содержащая k столбцов и r строк, и |Er| – единичная матрица. Каждая строка |Dkr| соответствует столбцу проверочных разрядов подматрицы |Crk| образующей матрицы G.

Общий вид матриц G и H:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru ;

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru ;

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Кодирование

Кодовая комбинация, которую необходимо закодировать:

111011111110100111110111.

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

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Немного преобразовав формулу (9), найдем минимальное кодовое расстояние dmin этого кода:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru

Теперь найдем количество проверочных разрядов r. Для этого воспользуемся следующим неравенством, которое следует из того, что для правильного различия и определения мест ошибок общее число комбинаций проверочных элементов 2r должно превышать число возможных ошибочных ситуаций в коде, равное Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru , с учетом отсутствия ошибок:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru . (10)

Учитывая, что n = k + r = 24 + r, преобразуем неравенство:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Наименьшее натуральное r, удовлетворяющее данному неравенству:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Проверим, удовлетворяет ли это значение неравенству (7):

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ruКраткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ruКраткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ruКраткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Составим порождающую матрицу G, которая будет состоять из двух подматриц: информационной |E24| (единичная матрица, 24 – количество информационных разрядов) и проверочной |C5,24| (5 – количество проверочных разрядов). Проверочная матрица |C5,24| будет состоять из 24 строчек 5-разрядных кодовых комбинаций, которые выбираются из всех 32 возможных 5-разрядных комбинаций по следующим критериям:

1) вес кодовых комбинаций должен удовлетворять следующему неравенству:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru , (11)

поскольку dmin = 3, то, следовательно, Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru ;

2) кодовое расстояние между комбинациями должно удовлетворять условию:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru , (12)

поскольку dmin = 3, то, следовательно, Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Выписываем все 32 возможные 5-разрядные двоичные кодовые комбинации и подчеркиваем те, которые удовлетворяют обоим условиям:

00000 01000 10000 11000

00001 010011000111001

00010 010101001011010

00011010111001111011

00100 011001010011100

00101011011010111101

00110011101011011110

00111011111011111111

Строим проверочную матрицу из 24 удовлетворяющих условия кодовых комбинаций и составляем порождающую матрицу G из единичной матрицы |E24| и проверочной матрицы |C5,24|:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru

Закодированную кодовую комбинацию получаем путем последовательного сложения по модулю 2 соответствующих строк порождающей матрицы G. Строки, участвующие в сложении, выбираются следующим образом: если в кодовой комбинации в разряде, порядок которого соответствует номеру определенной строки порождающей матрицы, стоит 1, то эта строка участвует в сложении. Кодовые комбинации, которые необходимо сложить для получения нашего закодированного сообщения, подчеркнуты. Проделав эту операцию, получим следующую закодированную кодовую комбинацию:

1110 11111110 1001 11110111 10101.

Декодирование

Пускай при передаче закодированного сообщения произошла ошибка в 22-ом разряде, и декодер получил следующую искаженную кодовую комбинацию:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru =

1110 11111110 1001 1111 0011 10101.

Для того чтобы обнаружить в каком разряде была допущена ошибка, строим проверочную матрицу Н, которая будет состоять из двух подматриц: |D24,5|, каждая строка которой соответствует столбцу проверочных разрядов подматрицы |C5,24| образующей матрицы G, и единичной матрицы |E5|:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru

По формуле

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru (13)

вычисляем синдром ошибки:

Краткие теоретические сведения. Код, предложенный Варшамовым, является типичным представителем систематических - student2.ru .

Найденный синдром соответствует 22-му столбцу проверочной матрицы Н, следовательно, ошибка произошла в 22-ом разряде полученной кодовой комбинации, то есть этот разряд необходимо инвертировать. В полученной комбинации меняем в 22-ом разряде 0 на 1, отбрасываем проверочные разряды и получаем декодированное сообщение с исправленной ошибкой:

1110 11111110 1001 11110111.

Код Хэмминга

Наши рекомендации