Turbo乘积码译码器迭代因子的构造方法

文档序号:7525924阅读:226来源:国知局

专利名称::Turbo乘积码译码器迭代因子的构造方法
技术领域
:本发明属于差错控制编码领域,具体是在Turbo乘积码(TurboProductCodesorBlockTurboCodes)译码器的实现上,提出了一种新的用于计算Turbo乘积码的软译码器迭代因子的方法,适用于使用Turbo乘积码作为差错控制编码的通信协议。
背景技术
:Turbo码最早由C.Berrou等于1993年提出。它的译码算法是软输入软输出(SISO)迭代译码算法,其译码性能可以在多次迭代后非常逼近香农极限。因为它的分量码是巻积码,所以它被称为Turbo巻积码(TCC)。受迭代译码的启示,R.Pyndiah等人于1994年利用Chase算法提出了适用于线性分组码的SISO算法,并将迭代译码应用到乘积码,这种码被称为Turbo乘积码。Turbo乘积码在译码性能上接近Turbo巻积码,译码性能曲线具有更陡哨的"瀑布区"并且能够避免":^效应"(errorfloor),同时译码复杂度更低,适合并行和流水线(pipeline)处理,也适合于现场可编程逻辑门阵列(FPGA)和专用集成电路(ASIC)的实现。Turbo乘积码已经成为正EE802.16无线城域网前向纠错码(FEC)的一种选择。Turbo乘积码编码器结构如图1所示。一般地,行列编码器结构相同,并且行列编码器均为线性分组码。5C^(",;t,。2是常用的Turbo乘积码编码方式,其中",;t^分别表示总码长,信息码长,最小汉明距。Turbo乘积码SISO迭代^^马器结构如图2所示。它的译码过程需要用到两个迭代因子权重因子a和可靠因子p。以双相移相键控(BPSK)调制为3例说明软译码过程,其中04-1,1—+1,具体软译码过程如下1.计算软输入及"-及+a(附)xfT"。2.计算可靠码字及*=(卜1|,...|/1|,...卜|)和硬判决码字1^0;1,...少/,..00,其中y=0.5(l+Sgn(/))),从及血获得绝对值最小的p个最不可靠位置,3.构造2"个掩膜码字集7^=1,2,...,2%在不可靠比特位,是l或者O,其余皆为0。4.构造测试码字集z'-r+r,对码字Z'进行硬译码并经BPSK映射得到有效码字集c'。5.按照最大似然算法,获得发送码字五对应的最优判决i)是距离接收码字欧式距离最近的码字C^:D=C'l及-C'『孝-C'l2V/€[1,2P]。6.计算最优判决码字D的归一化可靠性函数r;:及.一C一、《.存在竞争码字C4/(w)x《不存在竞争码字C计算软输出酽""=r.一r,按照上述步骤就完成了Turbo乘积码SISO迭代译码器软输入和软输出的计算过程。在该算法下对Turbo乘积码进4t^码时,迭代因子对Turbo乘积码的译码性能有重要影响,其中权重因子a决定了软输入,可靠因子P决定了软输出,两者共同决定了下一次^SISO译码器的软输入向最优判决码字收敛的速度和可靠性。传统上迭代因子的确定存在以下问题1.迭代因子中的可靠因子需要通过Matlab或C等语言反复仿真优化,并4且每构造一个新的结构的Turbo乘积码,就可能需要重新仿真。每次仿真需要较长的时间来获得合适的结果。例如BCH(64,57,4)2在迭代次数M-4,五,0=3.5,使用Matlab在PentiumDualCoreE6850onWTmdowsXP系统下,至少需要10个小时才能获得比较可靠的结果。下面一组数据是5C/^64,57,4)2在迭代次数A/=4时常常采用的迭代因子1)4又重因子a(m)=。2)可靠因子-(附)-。2.在已有的参考文献中,没有严格的理论汪明这两个因子必须存在于区间[O,l],这就使得在采用重复仿真获得迭代因子的方法时,即使改进算法减少仿真时间,也可能得不到较好的迭代因子。3.最优判决码字D的归一化可靠性函数《的矛盾。平均意义下,当有效码字集不存在竟争码字时,最优判决码字的可靠性应更好,对应的归一化可靠性函数的绝对值lr;l应更大。这种情况下应该有|及一cf一l及一Dl2^、已经公开的迭代因子,例如BCH(64,57,4)2在迭代次数Af=4时采用的迭代因子,并不满足该公式。4.传统上获得的#^没有考虑有限字长效应。
发明内容鉴于现有技术存在上述缺陷,本发明的目的是提供一种Turbo乘积码译码器迭代因子的构造方法,以减少确定迭代因子所需的时间,减少仿真和重构不同结构的Turbo乘积码译码器的时间。为达到上述目的,本发明Turbo乘积码译码器迭代因子的构造方法包括以下步骤a、选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子a(1)和可靠因子的值;b、通过下式计算权重因子"(附)和可靠因子y9(m),1a(m)=(m-l)+2Af>g(m)=,、yg(附一l)十--^^、其中,M为迭代次数,w-l,2,3,…,2il/;c、根据获得的权重因子和可靠因子P(/n)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子"(加)和可靠因子"(m),直至仿真结果符合要求,将最后一次获得的权重因子"(加)和可靠因子P—)作为Turbo乘积码译码器的迭代因子。其中还包括确定最佳迭代次数的步骤,具体为在上述步骤c中,当第一次仿真结果符合要求时,将迭代次数减小,转步骤b重新计算权重因子《(加)和可靠因子-(加),直至仿真结果不符^^要求,将最后一次仿真结果符合要求的迭代次数作为最佳迭代次数,并将在最佳迭代次数下计算得到的权重因子a(m)和可靠因子P(附)作为Turbo乘积码译码器的迭代因子。上述步骤a中,由于第一次译码时不存在前一次的软输入,因此可设定权重因子"1)等于0或约等于0;而根据第一次译码时最优判决码字的可靠性,最好设定可靠因子A(1)等于1。Turbo乘积码SISO迭代译码方法,其特征在于其迭代因子采用上述Turbo乘积码译码器迭代因子的构造方法确定。上述步骤b中的公式是通过约束可靠性函数的变化率这一判据来约束软信息的变化速度和可靠性,从而获得的有限迭代次数下对应的迭代因子的计6算公式。具体方法如下从提出判据入手,1.对存在竟争码字的比特位,确定约束条件为连续两次迭代译码得到的归一化可靠性函数的增量为:。'(附)=^及m—c"l2—l及"一zr'2、4r;(附+i)-r;(附)卜丄,c針1=c",zr+1=2Af2.在平均意义下归一化可靠性函数可以近似为:、4乂3.由于(《)2=(《)2=1,可以获得对应的连续两次输入的软信息之间的关系为一^=4.竟争码字的存在与否可能随迭代译码过程改变,应用约束条件公式得到r;+1=0+"加+1)[/(加)><《-/f]不存在竞争码字c仍然可以保持两种情况的连续性。这时,迭代因子之间的关系可以表达为a(附+l)yff(iM)—a(OT)/7(;n—l)^^a(;w+l)—a(/w)2;l+"乂l+or(m)7';.在AWGN信道下并且信息是随机的,因此£(。)=0;在其他信道下,l-(M)《卜lr7l也总是成立的,进一步控制a(加+l)-a(加)"/2M,那么在平均意义下有or(附+l)yg(加)一a(m)yg(m—l)11+(附)2A/这就获得了本发明所提出的迭代因子的计算公式<formula>formulaseeoriginaldocumentpage8</formula>本发明具有以下有益效果本发明通过公式计算权重因子"(加)和可靠因子,与现有的反复设定权重因子和可靠因子进而通过反复仿真确定迭代因子的方法相比,大大减少了确定最佳迭代次数及相应迭代因子的仿真次数,从而大大减少了确定迭代因子所需的时间,大大减少了仿真和重构不同结构的Turbo乘积码译码器的时间。可广泛应用于不同协议或不同结构的Turbo乘积码的软输入软输出译码器的实现上。本发明提出了一个可靠的约束函数来评判迭代因子对码字收敛速度和有效性的影响,它提供了本发明利用公式计算迭代因子的依据。本发明明确地指出了权重因子和可靠因子y9(m)之间存在的确定关系,可以根据权重因子"(m)和可靠因子;ff(附)之间的关系调整对应的数值大小。此外,本发明方法中考虑了对硬件实现的有限字长效应的影响,对于Turbo乘积码迭代译码具有较大的实用价值。图1是Turbo乘积码编码器的结构图。图2是Turbo乘积码SISO迭代译码器的结构图。具体实施例方式本发明是一种新的确定Turbo乘积码译码器迭代因子的方法,该方法可用于不同结构Turbo乘积码译码器的设计,能够极大地减少传统方法通过反复仿真确定迭代因子所需的时间,同时兼顾考虑了译码速度、可靠性及硬件实现的有限字长效应。下面举例说明具体实施方式。本Turbo乘积码译码器迭代因子的构造方法包括以下步骤a、选定Turbo乘积码结构,例如BC/f(64,57,4)2,根据通信协议要求的误码率(BER)假定迭代次数M,例如M-4。考虑到有限字长效应设定州-ib、计算迭代因子。根据本发明提出的迭代因子计算公式a(/w)=cr(/w—l)+2M1a(附)+l可以获得在尨=4次下对应的权重因子和可靠因子分别为:1)权重因子《—)=2)可靠因子-(w)-1234568888888,1…91011121388888c、使用Matlab或C语言对Turbo乘积码译码性能进行仿真,观察结果,看是否符合要求。若不符合,则尝试增加迭代次数M,利用迭代因子计算公式重新计算迭代因子并重新仿真;若符合,则尝试减少迭代次数M,重新计算迭代因子并重做仿真。比较几次仿真结果,确定最佳迭代次数及相应迭代因子。9权利要求1、Turbo乘积码译码器迭代因子的构造方法,其特征在于包括以下步骤a、选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子α(1)和可靠因子β(1)的值;b、通过下式计算权重因子α(m)和可靠因子β(m),<mathsid="math0001"num="0001"><math><![CDATA[<mfencedopen='{'close=''><mtable><mtr><mtd><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>M</mi></mrow></mfrac></mtd></mtr><mtr><mtd><mi>&beta;</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></mrow><mrow><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mi>&beta;</mi><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>M</mi></mrow></mfrac><mfrac><mrow><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mrow><mrow><mi>&alpha;</mi><mrow><mo>(</mo><mi>m</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mtd></mtr></mtable></mfenced>]]></math></maths>其中,M为迭代次数,m=1,2,3,...,2M;c、根据获得的权重因子α(m)和可靠因子β(m)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果符合要求,将最后一次获得的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。2、如权利要求l所述的Turbo乘积码译码器迭代因子的构造方法,其特征在于还包括确定最佳迭代次数的步骤,具体为在步骤c中,当第一次仿真结果符合要求时,将迭代次数减小,转步骤b重新计算权重因子"(加)和可靠因子^加),直至仿真结果不符^^要求,将最后一次仿真结果符合要求的迭代次数作为最佳迭代次数,并将在最佳迭代次数下计算得到的权重因子和可靠因子p(w)作为Turbo乘积码译码器的迭代因子。3、如权利要求1或2所述的Turbo乘积码译码器迭代因子的构造方法,其特征在于步骤a中,权重因子"(l)设定为O或约等于O,可靠因子^1)设定为1。4、Turbo乘积码SISO迭代译码方法,其特征在于其迭代因子采用权利要求1或2所述方法确定。全文摘要一种Turbo乘积码译码器迭代因子的构造方法,包括以下步骤a.选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子α(1)和可靠因子β(1)的值;b.通过公式计算权重因子α(m)和可靠因子β(m);c.根据获得的权重因子α(m)和可靠因子β(m)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果符合要求,将最后一次获得的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。本方法大大减少了确定迭代因子所需的时间。可广泛应用于不同协议或不同结构的Turbo乘积码的软输入软输出译码器的实现上。文档编号H03M13/29GK101557235SQ20091010730公开日2009年10月14日申请日期2009年5月12日优先权日2009年5月12日发明者卢恒惠,宋洋军,钢林,林孝康申请人:清华大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1