发明名称 一种提高译码器吞吐率的AR4JA码译码方法
摘要 一种提高译码器吞吐率的AR4JA码译码方法,属于通信技术领域,为了解决AR4JA码的现有译码方法存在吞吐率低的问题。译码过程为:根据AR4JA码的监督矩阵H大小,有3个校验节点处理单元CNU和(K+3)个变量节点处理单元VNU;首先,3个校验节点处理单元CNU同时工作,校验节点处理单元CNU更新H矩阵中各块的第1行,然后更新H矩阵中第2行,以此类推直到更新H矩阵中第L行;当校验节点处理单元CNU继续更新第L+1行时,K+3个变量节点处理单元VNU也开始工作,并行更新各自对应矩阵的第1列,之后,CNU和VNU开始并行工作直到一次迭代结束。本发明方法不仅具有和部分并行译码一样的迭代收敛度,同时也和交迭的部分并行译码一样,节省了一次迭代译码时间,提高了译码器的吞吐率。
申请公布号 CN102638273A 申请公布日期 2012.08.15
申请号 CN201210049960.8 申请日期 2012.02.29
申请人 哈尔滨工业大学 发明人 杨明川;李明;郭庆;吕谷;李慧;蔡润南;宁磊
分类号 H03M13/11(2006.01)I;H03M13/27(2006.01)I 主分类号 H03M13/11(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 杨立超
主权项 1.一种提高译码器吞吐率的AR4JA码译码方法,对所述译码方法中的变量进行如下定义:V(i)表示与变量节点i有连接关系的校验节点集合;C(j)表示与校验节点j有连接关系的变量节点集合;A为修改因子,取值0.6~0.9;<img file="FDA0000139629440000011.GIF" wi="39" he="59" />表示第k次迭代译码时变量节点j传给校验节点i的外部校验信息;<img file="FDA0000139629440000012.GIF" wi="41" he="59" />表示第k次迭代译码时校验节点i传给变量节点j的外部校验信息;<img file="FDA0000139629440000013.GIF" wi="46" he="54" />表示第k次迭代译码时变量节点i收到的所有外部信息;最大迭代次数max;AR4JA码的监督矩阵大小为3M×(K+3)M维矩阵,K的取值与码率有关,当码率r为1/2、2/3、4/5时,K分别取2、4、8,即<img file="FDA0000139629440000014.GIF" wi="231" he="101" />其特征在于:所述方法是在译码器中依次按以下步骤实现的:步骤一、开始译码并初始化,初始化进行的运算如公式(1)和(2)所示:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>i</mi><mn>0</mn></msubsup><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msubsup><mi>q</mi><mi>ij</mi><mn>0</mn></msubsup><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>y<sub>i</sub>表示接收到的来自信道的信号,i={1,2,...,(K+3)M};步骤二、校验节点和变量节点更新:根据AR4JA码的监督矩阵H大小,有3个校验节点处理单元(CNU)和(K+3)个变量节点处理单元(VNU);CNU中应用的公式为:<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>r</mi><mi>ij</mi><mi>k</mi></msubsup><mo>=</mo><mi>A</mi><mo>&times;</mo><mrow><mo>(</mo><munder><mi>&Pi;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>/</mo><mi>i</mi></mrow></munder><msubsup><mi>a</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><munder><mi>Min</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>C</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>/</mo><mi>i</mi></mrow></munder><mrow><mo>(</mo><msubsup><mi>&beta;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<maths num="0004"><![CDATA[<math><mrow><msubsup><mi>&alpha;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>=</mo><mi>sign</mi><mrow><mo>(</mo><msubsup><mi>q</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msubsup><mi>&beta;</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>=</mo><mo>|</mo><msubsup><mi>q</mi><mrow><msup><mi>i</mi><mo>&prime;</mo></msup><mi>j</mi></mrow><mi>k</mi></msubsup><mo>|</mo><mo>;</mo></mrow></math>]]></maths>VNU中应用的公式为:<maths num="0006"><![CDATA[<math><mrow><msubsup><mi>q</mi><mi>ij</mi><mi>k</mi></msubsup><mo>=</mo><msubsup><mi>p</mi><mi>i</mi><mn>0</mn></msubsup><mo>+</mo><munder><mi>&Sigma;</mi><mrow><msup><mi>j</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>V</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>/</mo><mi>j</mi></mrow></munder><msubsup><mi>r</mi><mrow><mi>i</mi><msup><mi>j</mi><mo>&prime;</mo></msup></mrow><mi>k</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>校验节点和变量节点更新的具体过程为:步骤a、令N1=1;步骤b、3个校验节点处理单元CNU同时工作,校验节点处理单元CNU更新H矩阵中各块的第N1行;步骤c、判断N1是否大于L,<maths num="0007"><![CDATA[<math><mrow><mi>L</mi><mo>=</mo><mo>[</mo><mfrac><mrow><mi>M</mi><mo>&times;</mo><mrow><mo>(</mo><mn>2</mn><mo>&times;</mo><mi>K</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>2</mn><mo>&times;</mo><mi>K</mi><mo>+</mo><mn>2</mn></mrow></mfrac><mo>]</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,[·]表示向下取整,如果N1>L,执行步骤d;否则令N1=N1+1后返回步骤b;步骤d、令N1=N1+1,N2=1;步骤e、3个校验节点处理单元CNU并行更新H矩阵第N1行时,同时,K+3个变量节点处理单元VNU也开始工作,并行更新H矩阵的第N2列;步骤f、判断N2是否大于M,如果N2>M,执行步骤三;否则令N1=N1+1,N2=N2+1后返回步骤e;步骤三、译码判决,其具体过程为:步骤A、对译码输出数据进行硬判决,若<img file="FDA0000139629440000022.GIF" wi="135" he="54" />则硬判决得出x<sub>n</sub>=0;否则若<img file="FDA0000139629440000023.GIF" wi="135" he="54" />则硬判决得出x<sub>n</sub>=1;<maths num="0008"><![CDATA[<math><mrow><msubsup><mi>q</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><msubsup><mi>p</mi><mi>i</mi><mn>0</mn></msubsup><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>V</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munder><msubsup><mi>r</mi><mi>ij</mi><mi>k</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>x<sub>n</sub>的含义是接收的信号y<sub>i</sub>通过译码后译出来的信息位,n={1,2,...,k},k的取值见表2-1;步骤B、判断H<sup>T</sup>x=0是否成立,其中H为AR4JA码的监督矩阵,H<sup>T</sup>x=0若成立,则执行步骤C;否则迭代次数加1,再执行步骤D;步骤C、输出译码信息,译码结束;步骤D、判断迭代次数是否达到最大迭代次数max,若成立则执行步骤E;否则返回步骤二的a步骤;步骤E、译码失败,译码结束。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号