Кодирование информации линейным блоковым кодом
Операция кодирования информации линейным кодом заключается в умножении информационного вектора Ak размерностью k на порождающую матрицу G(x); в результате получаем вектор
F(x)=Ak(x)×G(x).
Кодовую последовательность на выходе кодера можно записать в виде:
где a1a2a3...аk - информационные символы (логические 1 и 0),
b1b2b3...b1 - проверочные символы (логические 1 и 0).
Проверочные символы b1b2b3...bl формируются путем суммирования по модулю два информационных символов, стоящих на определенных позициях.
Алгоритм формирования проверочных символов в общем виде можно записать так:
где cj1cj2...cjk- коэффициенты принимающие значение логических 1 и 0.
Пример: Ak(x)=1010
1 0 0 0 1 0 1
G(x)=0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
1 0 0 0 1 0 1
Следовательно, F(x)=Ak(x)×G(x)=[1010]* 0 1 0 0 1 1 1 = [1010 011]
0 0 1 0 1 1 0
0 0 0 1 0 1 1
Рассмотрим построение и реализацию устройства кодирования ЛБК (7,4).
Порождающая и проверочная матрицы этого кода имеют вид:
а1а2а3а4 b1b2b3
1 0 0 0 1 0 1 1 1 1 0 1 0 0
G(x)=0 1 0 0 1 1 1 H(x)=0 1 1 1 0 1 0
0 0 1 0 1 1 0 1 1 0 1 0 0 1
0 0 0 1 0 1 1
Этот код имеет d=3 и исправляет все одиночные ошибки и обнаруживает двойные. Символы а1,а2,а3,а4 – информационные символы, b1,b2,b3 – проверочные.
По матрице запишем проверочные уравнения:
b1= a1Åa2Åa3
b2= a2Åa3Åa4
b3= a1Åa2Åa4
Таким образом, кодер состоит из (n-k)=7-4=3 сумматоров по модулю два, выходы которых соответствуют (n-k) проверочным символам.
Устройство кодирования линейного группового кода (7, 4) приведено на рисунке.
Рисунок – Кодер линейного группового кода (6, 3)
Пусть подается сообщение (а1,а2,а3,а4)=1001. Тогда слово, передаваемое в канал связи, имеет вид (1001 110).
Дата добавления: 2019-04-03; просмотров: 631;