- •Постановка задачи
- •Практическая часть
- •Систематический код
- •Производящая матрица
- •Проверочная матрица
- •Первая разрешенная кодовая комбинация
- •00100 0110 – Ошибка в 3-м разряде
- •Вторая разрешенная кодовая комбинация
- •01000 0101– Ошибка во 2-м разряде
- •Третья разрешенная кодовая комбинация
- •Четвертая разрешенная кодовая комбинация
- •Пятая разрешенная кодовая комбинация
- •01000 0101 – Ошибка во 2-ом разряде
- •Список литературы
Систематический код
Производящая матрица
Позволяет получить все комбинации кода путем суммирования по модулю 2.
A=[Ik*k] [Dk*(n-k)] – единичная матрица 5х5 + дополнительная матрица 5х4.
(n-k) разрядные кодовые комбинации, в которых количество единиц не менее чем dmin-1=3-1=2, а сумма любых двух строк по модулю 2 должна содержать «единицу» не менее чем dmin-2=3-2=1. Желательно при этом, чтобы единицы чередовались с нулями, чтобы серии единиц были короткие. 2к – число кодовых комбинации.
Структура производящей матрицы позволяет строить систематический код, у которого первые k-позиций будут информационными, а оставшиеся n-k проверочные, при этом общее число разрешенных кодовых комбинаций равно 2к и все различные кодовые комбинации могут быть получены в результате линейной операции суммы по |2| любых двух, трех строк производящей матрицы.
0000 0100 1000 1100
0001 0101 1001 1101
0010 0110 1010 1110
0011 0111 1011 1111
Систематический код невозможно реализовать, если нельзя построить матрицу D и если величина а>k, в нашем примере а=1, k=5, а<k, следовательно, код возможно реализовать.
D5*4 = 1| 0011
2| 0101
3| 0110
4| 1001
5| 1010
Проверяем, сумма по модулю двух любых строк должна содержать более одной «единицы»:
D(D1,D2)=0110
D(D1,D3)=0101
D(D1,D4)=1010
D(D1,D5)=1001
D(D2,D3)=0011
D(D2,D4)=1100
D(D2,D5)=1111
D(D3,D4)=1111
D(D3,D5)=1100
D(D4,D5)=0011
Производящая матрица будет состоять из единичной матрицы размерностью 5х5 и дополнительной матрицы размерностью 5х4:
A=[Ik*k] [Dk*(n-k)]=[I5*5] [D5*4]
Построим производящую матрицу А:
A=10000 0011
01000 0101
00100 0110
00010 1001
00001 1010
Проверочная матрица
Проверочная матрица состоит из транспонированной дополнительной матрицы, которую использовали для построения производящей матрицы А и единичной матрицы размерностью n-k.
Таким образом, проверочная матрица позволяет построить алгоритм кодирования и декодирования систематического кода исходя из того, что единица в каждой строке соответствует тем разрядам, сумма которых по модулю 2 должна быть равна нулю. Из проверочных уравнений выделяют проверочные разряды, их количество – (n-k). Проверочные разряды встречаются в каждом из проверочных уравнений только по одному разу.
H=[DT] [I(n-k)*(n-k)] =[DT] [I4*4]
a1 a2 a3 a4 a5 a6 a7 a8 a9
H= 0 0 0 1 1 1 0 0 0
0 1 1 0 0 0 1 0 0
1 0 1 0 1 0 0 1 0
1 1 0 1 0 0 0 0 1
Составим проверочные уравнения. Количество уравнений 4, т.к. в проверочной матрице 4 строки:
r1=a4
a5
a6
r2=a2 a3 a7
r3=a1 a3 a5 a8
r4=a1 a2 a4 a9
Таким образом, получаем проверочные разряды, которые встречаются в проверочных уравнениях только один раз:
а6=a4 a5
a7=a2 a3
a8=a1 a3 a5
a9=a1 a2 a4
