发明名称 一种改进的BCH软判决译码方法
摘要 本发明公开了一种改进的BCH软判决译码方法,主要解决现有的BCH软判决译码算法复杂度高且译码延迟太大的问题。其实现步骤是:1.根据输入的软信息选出t个可信度最低的码元位置作为估计的错误位置,并求出对应的有限域错误位置数;2.将输入的软信息进行硬判决得到二进制BCH码,并求出初始伴随多项式;3.分别更新估计的错误位置和伴随多项式;4.由更新的伴随多项式求出错误位置多项式,若求出的错误位置多项式的最高次幂小于BCH码的最大可纠错个数t,则求出错误图样,否则返回步骤3;5.根据错误图样对硬判决得到的码字进行纠错,完成译码。本发明减小了软判决译码算法的复杂度,并降低了译码延迟,可用于差错控制编码。
申请公布号 CN105812000A 申请公布日期 2016.07.27
申请号 CN201610120716.4 申请日期 2016.03.03
申请人 西安电子科技大学 发明人 宫丰奎;杨;张南;陈浩
分类号 H03M13/15(2006.01)I 主分类号 H03M13/15(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;黎汉华
主权项 一种改进的BCH软判决译码方法,包括:(1)根据输入的软信息,选出t个可信度最低的码元位置,作为估计出的错误位置:L=[l<sub>1</sub>,l<sub>2</sub>,...,l<sub>i</sub>,...,l<sub>t</sub>],其中l<sub>i</sub>是第i个估计的错误位置,i=1,2,...,t,并求出这t个估计的错误位置对应的有限域错误位置数:<img file="FDA0000934128890000011.GIF" wi="757" he="71" />其中<img file="FDA0000934128890000012.GIF" wi="53" he="70" />是第i个估计的错误位置所对应的有限域错误位置数,<img file="FDA0000934128890000013.GIF" wi="189" he="78" />t为BCH码的最大可纠错个数;(2)将接收到的软信息进行硬判决,得到二进制BCH码:R=(r<sub>n‑1</sub>,...,r<sub>n‑k</sub>,...,r<sub>1</sub>,r<sub>0</sub>),用多项式表示为R(x)=r<sub>n‑1</sub>x<sup>n‑1</sup>+...+r<sub>n‑k</sub>x<sup>n‑k</sup>+...+r<sub>1</sub>x+r<sub>0</sub>,k=1,2,...,n,其中n为码长,r<sub>n‑k</sub>是接收到的第k个码元,r<sub>n‑k</sub>能取值为1或者0;(3)计算出BCH码的伴随多项式的系数S={s<sub>1</sub>,s<sub>2</sub>,...,s<sub>j</sub>,...,s<sub>2t</sub>},s<sub>j</sub>表示第j个伴随多项式系数:s<sub>j</sub>=R(α<sup>j</sup>)=r<sub>n‑1</sub>α<sup>j(n‑1)</sup>+...+r<sub>n‑k</sub>α<sup>j(n‑k)</sup>+...+r<sub>1</sub>α<sup>j</sup>+r<sub>0</sub>α<sup>0</sup>,其中j=1,2,...,2t,α<sup>j(n‑1)</sup>,α<sup>j(n‑k)</sup>,...,α<sup>j</sup>,α<sup>0</sup>均为有限域的不同元素;(4)产生一个更新向量P=(p<sub>1</sub>,...,p<sub>i</sub>,...,p<sub>t</sub>),其中p<sub>i</sub>取值为1或者0,设P的初始值为全零;(5)利用下式分别更新估计的错误位置和伴随多项式系数,得到更新后的估计错误位置<img file="FDA0000934128890000014.GIF" wi="35" he="63" />和伴随多项式系数<img file="FDA0000934128890000015.GIF" wi="59" he="63" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mi>L</mi><mo>^</mo></mover><mo>=</mo><mo>&lsqb;</mo><msub><mover><mi>l</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>l</mi><mo>^</mo></mover><mi>i</mi></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>l</mi><mo>^</mo></mover><mi>t</mi></msub><mo>&rsqb;</mo><mo>,</mo><msub><mover><mi>l</mi><mo>^</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>l</mi><mi>i</mi></msub><mo>&times;</mo><msub><mi>p</mi><mi>i</mi></msub></mrow>]]></math><img file="FDA0000934128890000016.GIF" wi="586" he="70" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mover><mi>S</mi><mo>^</mo></mover><mo>=</mo><mo>(</mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mover><mi>s</mi><mo>^</mo></mover><mi>j</mi></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mover><mi>s</mi><mo>^</mo></mover><mrow><mn>2</mn><mi>t</mi></mrow></msub></mrow><mo>)</mo><mo>,</mo><msub><mover><mi>s</mi><mo>^</mo></mover><mi>j</mi></msub><mo>=</mo><msub><mi>s</mi><mi>j</mi></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></munderover><msup><msub><mi>&beta;</mi><msub><mi>l</mi><mi>i</mi></msub></msub><mi>j</mi></msup><mo>.</mo><msub><mi>p</mi><mi>i</mi></msub><mo>=</mo><msub><mi>s</mi><mi>j</mi></msub><mo>+</mo><mrow><mo>(</mo><msup><msub><mi>&beta;</mi><msub><mi>l</mi><mi>i</mi></msub></msub><mi>j</mi></msup><mo>.</mo><msub><mi>p</mi><mn>1</mn></msub><mo>+</mo><mn>...</mn><mo>+</mo><msup><msub><mi>&beta;</mi><msub><mi>l</mi><mi>i</mi></msub></msub><mi>j</mi></msup><mo>.</mo><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mn>...</mn><mo>+</mo><msup><msub><mi>&beta;</mi><msub><mi>l</mi><mi>i</mi></msub></msub><mi>j</mi></msup><mo>.</mo><msub><mi>p</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000934128890000017.GIF" wi="1628" he="134" /></maths>(6)<img file="FDA0000934128890000018.GIF" wi="38" he="62" />和<img file="FDA0000934128890000019.GIF" wi="41" he="61" />更新完成后,将更新向量P加1;(7)根据更新后的伴随多项式系数<img file="FDA00009341288900000110.GIF" wi="38" he="63" />,计算出错误位置多项式σ(x)=σ<sub>0</sub>+σ<sub>1</sub>x+...+σ<sub>u</sub>x<sup>u</sup>+...+σ<sub>t</sub>x<sup>t</sup>,其中σ<sub>u</sub>是错误位置多项式第u次幂x<sup>u</sup>的系数,u=0,1,...,t,若错误位置多项式σ(x)的最高次幂小于t,则执行步骤(8),否则返回步骤(5);(8)分别将有限域的元素α<sup>k</sup>代入到错误位置多项式σ(x)中,求出错误图样E=(e<sub>n‑1</sub>,e<sub>n‑2</sub>,...,e<sub>n‑k</sub>,...,e<sub>1</sub>,e<sub>0</sub>):若σ(α<sup>k</sup>)=0且<img file="FDA0000934128890000021.GIF" wi="130" he="78" />则e<sub>n‑k</sub>=1;若σ(α<sup>k</sup>)≠0且<img file="FDA0000934128890000022.GIF" wi="131" he="78" />则e<sub>n‑k</sub>=1;否则,e<sub>n‑k</sub>=0。其中e<sub>n‑k</sub>表示第k个位置的码元是否错误,e<sub>n‑k</sub>=1表示第k个位置的码元是错误位置,e<sub>n‑k</sub>=0表示第k个位置的码元不是错误位置;(9)将第(8)步求出的错误图样E=(e<sub>n‑1</sub>,e<sub>n‑2</sub>,...,e<sub>n‑k</sub>,...,e<sub>1</sub>,e<sub>0</sub>)与步骤(2)得到的二进制BCH码R=(r<sub>n‑1</sub>,r<sub>n‑2</sub>,...,r<sub>n‑k</sub>,...,r<sub>1</sub>,r<sub>0</sub>)进行异或运算,得到最终译出的码字<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mover><mi>C</mi><mo>^</mo></mover><mo>=</mo><mrow><mo>(</mo><mrow><msub><mover><mi>c</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>c</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>c</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>-</mo><mi>k</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>c</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>c</mi><mo>^</mo></mover><mn>0</mn></msub></mrow><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000934128890000023.GIF" wi="622" he="70" /></maths>其中<img file="FDA0000934128890000024.GIF" wi="81" he="62" />表示译出的第k个码元,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mover><mi>c</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>-</mo><mi>k</mi></mrow></msub><mo>=</mo><msub><mi>r</mi><mrow><mi>n</mi><mo>-</mo><mi>k</mi></mrow></msub><mo>&CirclePlus;</mo><msub><mi>e</mi><mrow><mi>n</mi><mo>-</mo><mi>k</mi></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0000934128890000025.GIF" wi="350" he="63" /></maths>译码完成。
地址 710071 陕西省西安市太白南路2号