1 例子
假设:原始数据为8位,纠错码为6位,原始信息由原始数据+纠错码。
在传输过程中,由于信息干扰等原因,导致原始信息被污染,被污染后有两位数据被修改。
说明 | 编码 |
---|---|
原始信息 | 001010011011100 |
被污染后的信息 | 001100011011100 |
2 构建码字多项式
根据接收到被污染后的信息转化为码字多项式:
R(x)=x12+x11+x7+x6+x4+x3+x2(1)R(x) = x^{12} +x^{11} + x^{7} + x^{6} + x^{4} + x^{3} + x^{2} \tag1 R(x)=x12+x11+x7+x6+x4+x3+x2(1)
3 计算特征值
将α\alphaα代入公式(1)得到:
S1=R(α)=α12+α11+α7+α6+α4+α3+α2=α214S_1 = R(\alpha) = \alpha^{12} +\alpha^{11} + \alpha^{7} + \alpha^{6} + \alpha^{4} + \alpha^{3} + \alpha^{2} = \alpha^{214} S1=R(α)=α12+α11+α7+α6+α4+α3+α2=α214
将α3\alpha^3α3代入公式(1)得到:
S3=R(α3)=α36+α33+α21+α18+α12+α9+α6=α117S_3 = R(\alpha^3) = \alpha^{36} +\alpha^{33} + \alpha^{21} + \alpha^{18} + \alpha^{12} + \alpha^{9} + \alpha^{6} = \alpha^{117} S3=R(α3)=α36+α33+α21+α18+α12+α9+α6=α117
将α5\alpha^5α5代入公式(1)得到:
S5=R(α5)=α60+α55+α35+α30+α20+α15+α10=α25S_5 = R(\alpha^5) = \alpha^{60} +\alpha^{55} + \alpha^{35} + \alpha^{30} + \alpha^{20} + \alpha^{15} + \alpha^{10} = \alpha^{25} S5=R(α5)=α60+α55+α35+α30+α20+α15+α10=α25
计算S2,S4,S6S_2,S_4,S_6S2,S4,S6:
S2=S12=α173,S4=S22=α91,S6=S32=α182S_2 = S_1^2 = \alpha^{173}, S_4 = S_2^2 = \alpha^{91}, S_6 = S_3^2 = \alpha^{182}S2=S12=α173,S4=S22=α91,S6=S32=α182
4 根据特征值进行纠错
因为不知道有多少位有错,也不知道错在什么位置,根据纠错码的纠错能力进行穷举。由于纠错码为6位,则纠错能力为m≤⌊6/2⌋m \leq \lfloor 6/2 \rfloorm≤⌊6/2⌋,即m≤3m \leq 3m≤3,然后从大到小进行穷举,即m∈[1,3]m \in [1, 3]m∈[1,3]。
先取m=3m = 3m=3,构建矩阵运算:
[S3S2S1S4S3S2S5S4S3][σ1σ2σ3]=[S4S5S6]\left[ \begin{matrix} S_3 &S_2 &S_1 \\ S_4 &S_3 &S_2 \\ S_5 &S_4 &S_3 \\ \end{matrix} \right] \left[ \begin{matrix} \sigma_1 \\ \sigma_2 \\ \sigma_3 \\ \end{matrix} \right] = \left[ \begin{matrix} S_4 \\ S_5 \\ S_6 \\ \end{matrix} \right] ⎣⎡S3S4S5S2S3S4S1S2S3⎦⎤⎣⎡σ1σ2σ3⎦⎤=⎣⎡S4S5S6⎦⎤
代入S1,S2,…,S6S_1, S_2, \dots, S_6S1,S2,…,S6,并计算行列式:
∣α117α173α214α91α117α173α25α91α117∣=0\left| \begin{matrix} \alpha^{117} &\alpha^{173} &\alpha^{214} \\ \alpha^{91} &\alpha^{117} &\alpha^{173} \\ \alpha^{25} &\alpha^{91} &\alpha^{117} \\ \end{matrix} \right|= 0 ∣∣∣∣∣∣α117α91α25α173α117α91α214α173α117∣∣∣∣∣∣=0
说明不超过3位,然后取m=2m = 2m=2,构建矩阵运算:
[S3S2S4S3][σ1σ2]=[S4S5]\left[ \begin{matrix} S_3 &S_2 \\ S_4 &S_3 \\ \end{matrix} \right] \left[ \begin{matrix} \sigma_1 \\ \sigma_2 \\ \end{matrix} \right] = \left[ \begin{matrix} S_4 \\ S_5 \\ \end{matrix} \right] [S3S4S2S3][σ1σ2]=[S4S5]
代入S1,S2,…,S6S_1, S_2, \dots, S_6S1,S2,…,S6,并计算行列式:
∣α117α173α91α117∣=α45\left| \begin{matrix} \alpha^{117} &\alpha^{173} \\ \alpha^{91} &\alpha^{117} \\ \end{matrix} \right|= \alpha^{45} ∣∣∣∣α117α91α173α117∣∣∣∣=α45
满秩,方程组有解答,经过计算得到:
σ1=α35,σ2=α21\sigma_1 = \alpha^{35}, \sigma_2 = \alpha^{21}σ1=α35,σ2=α21
代入错误多项式得:
α21x2+α35x+1=0\alpha^{21}x^2 + \alpha^{35}x + 1 = 0α21x2+α35x+1=0
用Chien搜索可得x1=x−10,x2=x−11x_1 = x^{-10}, x_2 = x^{-11}x1=x−10,x2=x−11,所以错误位置应该是第10位和第11位。
5 存在问题
这个例子还有几个核心问题没有解决:
(1)为什么要计算特征值?(是否会用到范德蒙矩阵或者柯西矩阵的知识?)
(2)有了特征值又如何进行纠错?