通过一个例子来理解二维码纠错机制
1 例子
假設(shè):原始數(shù)據(jù)為8位,糾錯碼為6位,原始信息由原始數(shù)據(jù)+糾錯碼。
在傳輸過程中,由于信息干擾等原因,導(dǎo)致原始信息被污染,被污染后有兩位數(shù)據(jù)被修改。
| 原始信息 | 001010011011100 |
| 被污染后的信息 | 001100011011100 |
2 構(gòu)建碼字多項式
根據(jù)接收到被污染后的信息轉(zhuǎn)化為碼字多項式:
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 根據(jù)特征值進行糾錯
因為不知道有多少位有錯,也不知道錯在什么位置,根據(jù)糾錯碼的糾錯能力進行窮舉。由于糾錯碼為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,構(gòu)建矩陣運算:
[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] ???S3?S4?S5??S2?S3?S4??S1?S2?S3????????σ1?σ2?σ3?????=???S4?S5?S6?????
代入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,構(gòu)建矩陣運算:
[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] [S3?S4??S2?S3??][σ1?σ2??]=[S4?S5??]
代入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
滿秩,方程組有解答,經(jīng)過計算得到:
σ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,所以錯誤位置應(yīng)該是第10位和第11位。
5 存在問題
這個例子還有幾個核心問題沒有解決:
(1)為什么要計算特征值?(是否會用到范德蒙矩陣或者柯西矩陣的知識?)
(2)有了特征值又如何進行糾錯?
總結(jié)
以上是生活随笔為你收集整理的通过一个例子来理解二维码纠错机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么人类的大脑认为数学“美”?
- 下一篇: 利用自己构建的网络进行鼾声识别