ВУЗ:
Составители:
kn
kn
kn
nk
gg
gg
gg
G
−
−
−
=
...0...0
0...0...0
0...0...
0
0
0
,
Пример. Код (7,4) с g(x)=1+x+x
3
. Многочлену g(x) соответствует кодовое
слово (1101000)
X*g(x) =>(0110100)
X
2
*g(x)=>(0011010)
=
0001101
0011010
0110100
1101000
G
3=n-k=7-4
3.10.2 Получение проверочной матрицы
g(x) – порождающий многочлен (n, k) – код степени (n-k)
Проверочная матрица строится по произведению многочлена
h(x)=(x
n
-1)/g(x)
Если h(x)=h
0
+h
1
x+…+h
k
x
k
=>
0...0...
0...0...0
...0...0
01
0
0
,
hhh
hh
hh
H
k
k
k
nkn
=
−
По определению каждый кодовый многочлен v(x) цикличен (n, k) – кода с
порождающим многочленом g(x) имеет вид:
v(x)=m(x)g(x)=(m
0
+m
1
x+…+m
k-1
x
k-1
),
где : m(x)=m
0
+m
1
x+…+m
k-1
x
k-1
– произвольный многочлен с коэффициентами
из
GF(2) степени меньше k.
Если коэффициенты (m
0
,m
1
,…m
k-1
) многочлена m(x) – это k информаци-
онных символов => циклический код C(g(x)) кодирует их многочлен
v(x)=m(x)g(x)
Рассмотрим кодирование четырехразрядного без избыточного, кодового
многочлена циклического кода (7,4), имеющий порождающий многочлен
g(x)=1+x+x
3
Например, m=(0, 1, 0, 0), который соответствует многочлену m(x)=x ко-
дируется многочленом:
m(x)g(x)=x(1+x+x
3
)=x+x
2
+x
4
, которому отвечает вектор (0,1,1,0,1,0,0)
m=(1,0,1,0), m(x)=1+x
2
=> m(x)g(x)=(1+x
2
)(1+x+x
3
)=1+x+x
3
+x
2
+x
3
+x
5
=
=1+x+x
2
+x
5
=> (1110010)
3.11 Построение систематического кода
Закодируем m=(m
0
, m
1
, …, m
k-1
), соответствующий многочлен
m(x)=m
0
+m
1
x+…+m
k-1
x
k-1
умножим его на x
n-k
:
x
n-k
*m(x)= x
n-k
(m
0
+m
1
x+…+m
k-1
x
k-1
)=m
0
x
n-k
+ …+m
k-1
x
n-1
25
g 0 ...g n − k 0...0
Gk ,n = 0 g 0 ...g n − k 0...0
0...0 g 0 ...g n − k
Пример. Код (7,4) с g(x)=1+x+x3. Многочлену g(x) соответствует кодовое
слово (1101000)
X*g(x) =>(0110100)
X2*g(x)=>(0011010)
1101000
0110100
G= 3=n-k=7-4
0011010
0001101
3.10.2 Получение проверочной матрицы
g(x) – порождающий многочлен (n, k) – код степени (n-k)
Проверочная матрица строится по произведению многочлена
h(x)=(xn-1)/g(x)
Если h(x)=h0+h1x+…+hkxk =>
0...0hk ...h0
H n − k ,n = 0...0hk ...h0 0
hk ...h1 h0 0...0
По определению каждый кодовый многочлен v(x) цикличен (n, k) – кода с
порождающим многочленом g(x) имеет вид:
v(x)=m(x)g(x)=(m0+m1x+…+mk-1xk-1),
где : m(x)=m0+m1x+…+mk-1xk-1 – произвольный многочлен с коэффициентами
из
GF(2) степени меньше k.
Если коэффициенты (m0,m1,…mk-1) многочлена m(x) – это k информаци-
онных символов => циклический код C(g(x)) кодирует их многочлен
v(x)=m(x)g(x)
Рассмотрим кодирование четырехразрядного без избыточного, кодового
многочлена циклического кода (7,4), имеющий порождающий многочлен
g(x)=1+x+x3
Например, m=(0, 1, 0, 0), который соответствует многочлену m(x)=x ко-
дируется многочленом:
m(x)g(x)=x(1+x+x3)=x+x2+x4, которому отвечает вектор (0,1,1,0,1,0,0)
m=(1,0,1,0), m(x)=1+x2 => m(x)g(x)=(1+x2)(1+x+x3)=1+x+x3+x2+x3+x5=
=1+x+x2+x5 => (1110010)
3.11 Построение систематического кода
Закодируем m=(m0, m1, …, mk-1), соответствующий многочлен
m(x)=m0+m1x+…+mk-1xk-1 умножим его на xn-k:
xn-k *m(x)= xn-k(m0+m1x+…+mk-1xk-1)=m0xn-k+ …+mk-1xn-1
25
