RM码(里德-穆勒码)的编码
1.参数及其性质
RM码由
(
r
,
m
)
(r,m)
(r,m)两个参数定义,记作RM(r,m)。其中满足
0
≤
r
≤
m
0\le r\le m
0≤r≤m,含义为:
码长:
n
=
2
m
n=2^m
n=2m
维数:
k
(
r
,
m
)
=
∑
i
=
0
i
=
r
C
(
m
,
i
)
k(r,m)=\sum_{i=0}^{i=r}C(m,i)
k(r,m)=∑i=0i=rC(m,i)
最小(汉明)距离:
d
m
i
n
=
2
m
−
r
d_{min}=2^{m-r}
dmin=2m−r
2.举例说明
以RM(2,3)为例,设计如下
m
+
1
=
3
+
1
m+1=3+1
m+1=3+1个基本向量:
v
3
=
[
00001111
]
v
2
=
[
00110011
]
v
1
=
[
01010101
]
v
0
=
[
11111111
]
v_3=[0 0 0 0 1 1 1 1]\\ v_2=[0 0 1 1 0 0 1 1]\\ v_1=[0 1 0 1 0 1 0 1]\\ v_0=[1 1 1 1 1 1 1 1]
v3=[00001111]v2=[00110011]v1=[01010101]v0=[11111111]
对上述基本向量进行至多
r
=
2
r=2
r=2次乘积,得到:
[
v
0
,
v
1
,
v
2
,
v
3
,
v
1
v
2
,
v
1
v
3
,
v
2
v
3
]
T
[v_0,v_1,v_2,v_3,v_1v_2,v_1v_3,v_2v_3]^T
[v0,v1,v2,v3,v1v2,v1v3,v2v3]T
上述向量的总维数是
k
(
r
,
m
)
=
∑
i
=
0
i
=
2
C
(
3
,
i
)
=
7
k(r,m)=\sum_{i=0}^{i=2}C(3,i)=7
k(r,m)=∑i=0i=2C(3,i)=7
根据上述7维进行展开,得到
G
\textbf{G}
G:
[
11111111
]
[
01010101
]
[
00110011
]
[
00001111
]
[
00010001
]
[
00000101
]
[
00000011
]
[1 1 1 1 1 1 1 1]\\ [0 1 0 1 0 1 0 1]\\ [0 0 1 1 0 0 1 1]\\ [0 0 0 0 1 1 1 1]\\ [0 0 0 1 0 0 0 1]\\ [0 0 0 0 0 1 0 1]\\ [0 0 0 0 0 0 1 1]
[11111111][01010101][00110011][00001111][00010001][00000101][00000011]
这个就是RM(2,5)的生成矩阵,对任意7比特信息串
u
\textbf{u}
u,通过
x=uG
\textbf{x=uG}
x=uG得到长度为
n
=
2
m
=
8
n=2^m=8
n=2m=8的相应的RM(2,5)码。