本原BCH码
目录
- 性质
- 编译码步骤
- 编码
- 译码
- Berlekamp迭代算法
- 牛顿恒等式
- Berlekamp迭代
- 具体步骤
- 例.BCH(15,5)编译
- 编码
- 译码&纠错
- 计算校正子
- 确定错误位置多项式
- 纠错
参考书籍《信息论与编码》、《差错控制编码》。
性质
n=2m−1n−k≤mtdmin≥2t+1n=2^m-1\\ n-k≤mt\\ d_{min}≥2t+1n=2m−1n−k≤mtdmin≥2t+1
式中,m≥3m≥3m≥3,纠错能力t<2m−1t<2^m-1t<2m−1。
基本特征为其生成多项式g(x)g(x)g(x)包含2t2t2t个连续幂次的根。
编译码步骤
编码
g(x)=LCM[m1(x),m2(x),…,m2t(x)]g(x)=LCM[m_1(x),m_2(x),…,m_{2t}(x)] g(x)=LCM[m1(x),m2(x),…,m2t(x)]
如果iii是偶数,则可表示为i=i′2li=i'2^li=i′2l,其中i′i'i′是奇数,且l≥1l≥1l≥1。由于αi=(αi′)2lα^i=(α^{i'})^{2^l}αi=(αi′)2l是αi′α^{i'}αi′的共轭元,因此αiα^iαi和αi′α^{i'}αi′具有相同的最小多项式,即mi(x)=mi′(x)m_i(x)=m_{i'}(x)mi(x)=mi′(x),在上式中,ααα的每个偶次幂都与前面某个ααα的奇次幂具有相同的最小多项式,因此可简化为:
g(x)=LCM[m1(x),m3(x),…,m2t−1(x)]g(x)=LCM[m_1(x),m_3(x),…,m_{2t-1}(x)] g(x)=LCM[m1(x),m3(x),…,m2t−1(x)]
u(x)=u0xk−1+u1k−2+…+uk−1u(x)=u_0x^{k-1}+u_1^{k-2}+…+u_{k-1} u(x)=u0xk−1+u1k−2+…+uk−1
将待编码信息多项式升xn−kx^{n-k}xn−k位后除以g(x)g(x)g(x),获得余式r(x)r(x)r(x)。
联合r(x)r(x)r(x)和xn−ku(x)x^{n-k}u(x)xn−ku(x),获得码多项式xn−ku(x)+r(x)x^{n-k}u(x)+r(x)xn−ku(x)+r(x)。
译码
Berlekamp迭代算法
牛顿恒等式
{S1=αj1+αj2+…αjvS2=(αj1)2+(αj2)2+…(αjv)2S3=(αj1)3+(αj2)3+…(αjv)3…S2t=(αj1)2t+(αj2)2t+…(αjv)2t\begin{cases} S_1=α^{j_1}+α^{j_2}+…α^{j_v}\\ S_2=(α^{j_1})^2+(α^{j_2})^2+…(α^{j_v})^2\\ S_3=(α^{j_1})^3+(α^{j_2})^3+…(α^{j_v})^3\\ …\\ S_{2t}=(α^{j_1})^{2t}+(α^{j_2})^{2t}+…(α^{j_v})^{2t} \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧S1=αj1+αj2+…αjvS2=(αj1)2+(αj2)2+…(αjv)2S3=(αj1)3+(αj2)3+…(αjv)3…S2t=(αj1)2t+(αj2)2t+…(αjv)2t
令βl=αjlβ_l=α^{j_l}βl=αjl,该元素称为错误位置数,则有
{S1=β1+β2+…βvS2=β12+β22+…βv2S3=β13+β23+…βv3…S2t=β12t+β22t+…βv2t\begin{cases} S_1=β_1+β_2+…β_v\\ S_2=β_1^2+β_2^2+…β_v^2\\ S_3=β_1^3+β_2^3+…β_v^3\\ …\\ S_{2t}=β_1^{2t}+β_2^{2t}+…β_v^{2t} \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧S1=β1+β2+…βvS2=β12+β22+…βv2S3=β13+β23+…βv3…S2t=β12t+β22t+…βv2t
定义以下多项式
σ(x)≜(1+β1x)(1+β2x)…(1+βvx)=σ0+σ1x+σ2x2+…+σvxvσ(x)\triangleq(1+β_1x)(1+β_2x)…(1+β_vx)\\=σ_0+σ_1x+σ_2x^2+…+σ_vx^v σ(x)≜(1+β1x)(1+β2x)…(1+βvx)=σ0+σ1x+σ2x2+…+σvxv
σ(x)σ(x)σ(x)的根是错误位置数的倒数β1−1β_1^{-1}β1−1,β2−1β_2^{-1}β2−1,…,βv−1β_v^{-1}βv−1。σ(x)σ(x)σ(x)被称为错误位置多项式,其系数与错误位置数的关系如下:
{σ0=1σ1=β1+β2+…+βvσ2=β1β2+β2β3+…+βv−1βv…σv=β1β2…βv\begin{cases} σ_0=1\\ σ_1=β_1+β_2+…+β_v\\ σ_2=β_1β_2+β_2β_3+…+β_{v-1}β_v\\ …\\ σ_v=β_1β_2…β_v \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧σ0=1σ1=β1+β2+…+βvσ2=β1β2+β2β3+…+βv−1βv…σv=β1β2…βv
称σiσ_iσi为βlβ_lβl的初等对称函数,σiσ_iσi与校正子之间的关系由如下牛顿恒等式确实:
{S1+σ1=0S2+σ1S1+2σ2=0S3+σ1S2+σ2S1+3σ3=0…Sv+σ1Sv−1+…+σv−1S1+vσv=0Sv+1+σ1Sv+…+σv−1S2+σvS1=0\begin{cases}S_1+σ_1=0\\ S_2+σ_1S_1+2σ_2=0\\ S_3+σ_1S_2+σ_2S_1+3σ_3=0\\ …\\ S_{v}+σ_1S_{v-1}+…+σ_{v-1}S_1+vσ_v=0\\ S_{v+1}+σ_1S_{v}+…+σ_{v-1}S_2+σ_{v}S_1=0\end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧S1+σ1=0S2+σ1S1+2σ2=0S3+σ1S2+σ2S1+3σ3=0…Sv+σ1Sv−1+…+σv−1S1+vσv=0Sv+1+σ1Sv+…+σv−1S2+σvS1=0
在二进制情况下,由于1+1=01+1=01+1=0,有
iσi={σi,i为奇数0,i为偶数iσ_i=\begin{cases}σ_i,i为奇数\\0,i为偶数\end{cases} iσi={σi,i为奇数0,i为偶数
Berlekamp迭代
具体步骤
| −1-1−1 | 111 | 111 | 000 | −1-1−1 | |
| 000 | 111 | S1S_1S1 | 000 | 000 | |
| 111 | |||||
| 222 | |||||
| …… | |||||
| 2t2t2t |
第μμμ步所确定的最低次数多项式σ(μ)(x)σ^{(μ)}(x)σ(μ)(x)为
σ(μ)(x)=1+σ1(μ)x+σ2(μ)x2+…+σlμ(μ)xlμσ^{(μ)}(x)=1+σ^{(μ)}_1x+σ^{(μ)}_2x^2+…+σ^{(μ)}_{l_μ}x^{l_μ} σ(μ)(x)=1+σ1(μ)x+σ2(μ)x2+…+σlμ(μ)xlμ
第μμμ步差值dμd_μdμ为
dμ=Sμ+1+σ1(μ)Sμ+σ2(μ)Sμ−1+…+σlμ(μ)Sμ+1−lμd_μ=S_{μ+1}+σ^{(μ)}_1S_μ+σ^{(μ)}_2S_{μ-1}+…+σ^{(μ)}_{l_μ}S_{μ+1-l_μ} dμ=Sμ+1+σ1(μ)Sμ+σ2(μ)Sμ−1+…+σlμ(μ)Sμ+1−lμ
lρl_ρlρ——σ(ρ)(x)σ^{(ρ)}(x)σ(ρ)(x)的次数
σ(μ+1)(x)=σ(μ)(x)+dμdρ−1x(μ−ρ)σ(ρ)(x)lμ+1=max(lμ,lρ+μ+ρ)σ^{(μ+1)}(x)=σ^{(μ)}(x)+d_μd_ρ^{-1}x^{(μ-ρ)}σ^{(ρ)}(x)\\\ \\ l_{μ+1}=max(l_μ,l_ρ+μ+ρ) σ(μ+1)(x)=σ(μ)(x)+dμdρ−1x(μ−ρ)σ(ρ)(x) lμ+1=max(lμ,lρ+μ+ρ)
例.BCH(15,5)编译
编码
m1(x)=1+x+x4m3(x)=1+x+x2+x3+x4m5(x)=1+x+x2m_1(x)=1+x+x^4\\ m_3(x)=1+x+x^2+x^3+x^4\\ m_5(x)=1+x+x^2 m1(x)=1+x+x4m3(x)=1+x+x2+x3+x4m5(x)=1+x+x2
| 0 | 0 | 000000000000 | xxx |
| 1 | 1 | 000100010001 | x+1x+1x+1 |
| ααα | ααα | 001000100010 | x4+x+1x^4+x+1x4+x+1 |
| α2α^2α2 | α2α^2α2 | 010001000100 | x4+x+1x^4+x+1x4+x+1 |
| α3α^3α3 | α3α^3α3 | 100010001000 | x4+x3+x2+x+1x^4+x^3+x^2+x+1x4+x3+x2+x+1 |
| α4α^4α4 | 1+α1+α1+α | 001100110011 | x4+x+1x^4+x+1x4+x+1 |
| α5α^5α5 | α+α2α+α^2α+α2 | 011001100110 | x2+x+1x^2+x+1x2+x+1 |
| α6α^6α6 | α2+α3α^2+α^3α2+α3 | 110011001100 | x4+x3+x2+x+1x^4+x^3+x^2+x+1x4+x3+x2+x+1 |
| α7α^7α7 | 1+α+α31+α+α^31+α+α3 | 101110111011 | x4+x3+1x^4+x^3+1x4+x3+1 |
| α8α^8α8 | 1+α21+α^21+α2 | 010101010101 | x4+x+1x^4+x+1x4+x+1 |
| α9α^9α9 | α+α3α+α^3α+α3 | 101010101010 | x4+x3+x2+x+1x^4+x^3+x^2+x+1x4+x3+x2+x+1 |
| α10α^{10}α10 | 1+α+α21+α+α^21+α+α2 | 011101110111 | x2+x+1x^2+x+1x2+x+1 |
| α11α^{11}α11 | α+α2+α3α+α^2+α^3α+α2+α3 | 111011101110 | x4+x3+1x^4+x^3+1x4+x3+1 |
| α12α^{12}α12 | 1+α+α2+α31+α+α^2+α^31+α+α2+α3 | 111111111111 | x4+x3+x2+x+1x^4+x^3+x^2+x+1x4+x3+x2+x+1 |
| α13α^{13}α13 | 1+α2+α31+α^2+α^31+α2+α3 | 110111011101 | x4+x3+1x^4+x^3+1x4+x3+1 |
| α14α^{14}α14 | 1+α31+α^31+α3 | 100110011001 | x4+x3+1x^4+x^3+1x4+x3+1 |
g(x)=LCM{m1(x),m3(x),m5(x)}=(1+x+x4)(1+x+x2+x3+x4)(1+x+x2)=1+x+x2+x4+x5+x8+x10g(x)=LCM\{m_1(x),m_3(x),m_5(x)\}\\=(1+x+x^4)(1+x+x^2+x^3+x^4)(1+x+x^2)\\ =1+x+x^2+x^4+x^5+x^8+x^{10} g(x)=LCM{m1(x),m3(x),m5(x)}=(1+x+x4)(1+x+x2+x3+x4)(1+x+x2)=1+x+x2+x4+x5+x8+x10
xn−km(x)=x15−5(x4+x)=x14+x11x^{n-k}m(x)=x^{15-5}(x^4+x)=x^{14}+x^{11} xn−km(x)=x15−5(x4+x)=x14+x11
用g(x)g(x)g(x)除xn−km(x)x^{n-k}m(x)xn−km(x)得余式r(x)=x7+x6+x5+x4+x2+1r(x)=x^7+x^6+x^5+x^4+x^2+1r(x)=x7+x6+x5+x4+x2+1。
联合xn−km(x)x^{n-k}m(x)xn−km(x)和r(x)r(x)r(x)得码多项式xn−km(x)+r(x)=x14+x11+x7+x6+x5+x4+x2+1x^{n-k}m(x)+r(x)=x^{14}+x^{11}+x^7+x^6+x^5+x^4+x^2+1xn−km(x)+r(x)=x14+x11+x7+x6+x5+x4+x2+1,码字为(100100011110101)(100100011110101)(100100011110101)。
译码&纠错
计算校正子
假设发送码字(100100011110101)(100100011110101)(100100011110101),接受码字为r=(101100111100101)r=(101100111100101)r=(101100111100101),则有接收码字
r(x)=x14+x12+x11+x8+x7+x6+x5+x2+1r(x)=x^{14}+x^{12}+x^{11}+x^8+x^7+x^6+x^5+x^2+1 r(x)=x14+x12+x11+x8+x7+x6+x5+x2+1
由上表可知ααα,α2α^2α2,α4α^4α4的最小多项式为m1(x)=m2(x)=m4(x)=x4+x+1m_1(x)=m_2(x)=m_4(x)=x^4+x+1m1(x)=m2(x)=m4(x)=x4+x+1;α3α^3α3,α6α^6α6的最小多项式为m3(x)=m6(x)=x4+x3+x2+x+1m_3(x)=m_6(x)=x^4+x^3+x^2+x+1m3(x)=m6(x)=x4+x3+x2+x+1;α5α^5α5的最小多项式为m5(x)=x2+x+1m_5(x)=x^2+x+1m5(x)=x2+x+1。用r(x)r(x)r(x)分别除以m1(x)—m6(x)m_1(x)—m_6(x)m1(x)—m6(x)得余式:
b1(x)=b2(x)=b4(x)=x3+1b3(x)=b6(x)=x+1b5(x)=x2+x+1b_1(x)=b_2(x)=b_4(x)=x^3+1\\ b_3(x)=b_6(x)=x+1\\ b_5(x)=x^2+x+1 b1(x)=b2(x)=b4(x)=x3+1b3(x)=b6(x)=x+1b5(x)=x2+x+1
将α,α2,α4α,α^2,α^4α,α2,α4代入b1(x)b_1(x)b1(x)得到校正子分量:S1=α14,S2=α13,S4=α11S_1=α^{14},S_2=α^{13},S_4=α^{11}S1=α14,S2=α13,S4=α11;
将α3,α6α^3,α^6α3,α6代入b3(x)b_3(x)b3(x)得到校正子分量:S3=α14,S6=α13S_3=α^{14},S_6=α^{13}S3=α14,S6=α13;
将α5α^5α5代入b5(x)b_5(x)b5(x)得到校正子分量:S5=0S_5=0S5=0。
S=(S1,S2,S3,S4,S5,S6)=(α14,α13,α14,α11,0,α13)\mathbf S=(S_1,S_2,S_3,S_4,S_5,S_6)=(α^{14},α^{13},α^{14},α^{11},0,α^{13}) S=(S1,S2,S3,S4,S5,S6)=(α14,α13,α14,α11,0,α13)
确定错误位置多项式
应用前述Berlekamp迭代算法,得错误位置多项式为
σ(x)=1+α14x+α7x2+α9x3σ(x)=1+α^{14}x+α^7x^2+α^9x^3 σ(x)=1+α14x+α7x2+α9x3
迭代过程如下表
| −1-1−1 | 111 | 111 | 000 | −1-1−1 | |
| 000 | 111 | α14α^{14}α14 | 000 | 000 | −1-1−1 |
| 111 | 1+α14x1+α^{14}x1+α14x | 000 | 111 | 000 | |
| 222 | 1+α14x1+α^{14}x1+α14x | α5α^5α5 | 111 | 111 | 0 |
| 333 | 1+α14x+α6x21+α^{14}x+α^6x^21+α14x+α6x2 | 000 | 222 | 111 | |
| 444 | 1+α14x+α6x21+α^{14}x+α^6x^21+α14x+α6x2 | 111 | 222 | 222 | 2 |
| 555 | 1+α14x+α7x2+α9x31+α^{14}x+α^7x^2+α^9x^31+α14x+α7x2+α9x3 | 000 | 333 | 222 | |
| 666 | 1+α14x+α7x2+α9x31+α^{14}x+α^7x^2+α^9x^31+α14x+α7x2+α9x3 |
纠错
求得错误位置多项式σ(x)=1+α14x+α7x2+α9x3σ(x)=1+α^{14}x+α^7x^2+α^9x^3σ(x)=1+α14x+α7x2+α9x3的根为α11,α7,α3α^{11},α^7,α^3α11,α7,α3,得错误模式为
e(x)=x12+x8+x4e(x)=x^{12}+x^8+x^4 e(x)=x12+x8+x4
与接收多项式r(x)r(x)r(x)相加得
r(x)+e(x)=x14+x11+x7+x6+x5+x4+x2+1r(x)+e(x)=x^{14}+x^{11}+x^7+x^6+x^5+x^4+x^2+1 r(x)+e(x)=x14+x11+x7+x6+x5+x4+x2+1
得码字(100100011110101)(100100011110101)(100100011110101)。
总结
- 上一篇: YY框架的学习
- 下一篇: PEER地震库地震波获取方法