CN101674094A - 一种Turbo码信道自适应实现方法 - Google Patents

一种Turbo码信道自适应实现方法 Download PDF

Info

Publication number
CN101674094A
CN101674094A CN200910193139A CN200910193139A CN101674094A CN 101674094 A CN101674094 A CN 101674094A CN 200910193139 A CN200910193139 A CN 200910193139A CN 200910193139 A CN200910193139 A CN 200910193139A CN 101674094 A CN101674094 A CN 101674094A
Authority
CN
China
Prior art keywords
sequence
iteration
hard decision
decoder
turbo code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910193139A
Other languages
English (en)
Inventor
刘星成
张弦
黄志军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN200910193139A priority Critical patent/CN101674094A/zh
Publication of CN101674094A publication Critical patent/CN101674094A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种Turbo码信道自适应实现方法,在每次迭代结束之后进行硬判决,再将本次迭代硬判决得到的比特序列与上次迭代硬判决得到的比特序列相比较(原始比较序列由译码之前直接硬判决产生),计算两个序列不相同的比特数,一旦发现两个序列不相同的比特数为0,于是就停止迭代,输出结果。本发明能克服现有Turbo码算法在硬件实现时存在的硬件电路复杂度高和译码时延长等不足,使Turbo码译码算法在进行译码的过程中根据信道归一化信噪比Eb/N0的变化自动调整迭代次数,节约译码时间,加快译码速度。

Description

一种Turbo码信道自适应实现方法
技术领域
本发明属于Turbo码译码算法设计和实现研究领域,特别是构造一种适合于FPGA实现的Turbo码信道自适应实现方法。
技术背景
Berrou在1993年国际通信会议上提出的Turbo码,又被称为并行级联卷积码(PCCC),该码巧妙的结合了随机交织器和卷积码的思想,实现了香农信道编码定理中所要求的随机编译码,在译码算法上采用了软输出迭代译码来逼近最大似然译码,从而获得了非常优异的性能。
Turbo码的编码器如附图1所示,它主要由两个递归系统卷积码编码器(RSC1,RSC2)、一个交织器和一个复接器组成。递归系统卷积码编码器是指带有反馈的系统卷积码编码器。交织器用来打乱信息序列的排列顺序,获得与原始序列长度和内容都相同但顺序不同的信息序列。
输入信息序列x1,经过交织器打乱之后变成x2,两组序列x1,x2分别经过两个分量编码器得到两组校验比特序列y1,y2,再将x1,y1,y2复接成序列{x1,y1,y2}发送至信道。
Turbo码获得优异性能的一个重要原因就是其采用的迭代译码算法,通过分量译码器之间的软信息交换来提高译码可靠性。Turbo码译码器结构如附图2所示,Turbo码译码器中有两个软输入软输出(SISO)的分量译码器,它们分别与编码器的两个分量编码器RSC1、RSC2相对应。译码刚开始的时候译码器1的先验信息序列le1先全部清零,分量译码器1接收到来自信道的x1序列,y1序列以及全部为0的le1序列送入分量译码器1译码,得到的输出dec1_out(表示x1序列的似然比信息)。dec1_out经过外信息计算以及交织器之后成为分量译码器2的先验信息序列输入le2,而x1序列经过交织之后得到x2序列。于是有了分量译码器2的3个输入:x2序列,y2序列,le2序列,而分量译码器2的输出dec2_out(表示x2序列的似然比信息)经过外信息计算以及反交织之后成为了下一次迭代计算时分量译码器1的先验信息输入le1,到此为止就完成了一次迭代循环。第二次迭代开始的时候分量译码器1的输入x1序列,y1序列都不变,只是这时的le1序列就是上次迭代结束的时候得到更新的le1序列。若干次迭代结束之后对dec2_out进行反交织并进行硬判决从而得到译码输出c_out。所谓的硬判决就是判定dec2_out的正负,如果dec2_out大于等于0,即判定当前译码输出c_out值为1;如果dec2_out小于0,即判定当前译码输出c_out值为0。
Turbo码的特点之一就是其迭代译码算法,随着迭代次数的增加相应信息比特的对数似然比越来越可信,误比特率也会越来越低,但是迭代到了一定的次数其译码性能就到达一个瓶颈,误比特率不会再有下降,这就是所谓的“误码平层”,如附图3所示。
明显,信道条件越好,信噪比越高,译码所必要的迭代次数就越低。但是在实际通信中实际的信道变化非常复杂,信噪比变化频繁,所以采用预先固定迭代次数的做法会造成译码速度过慢,效率低,是不可取的。
发明内容
本发明的目的就是要克服现有Turbo码的不足,使Turbo码译码方法在进行译码的过程中根据信道信噪比的变化自动调整迭代次数,节约译码时间,加快译码速度。
为了实现上述发明目的,采用的技术方案如下:
一种Turbo码信道自适应实现方法,所述Turbo码通过编码器和译码器分别进行编码和译码;
所述编码器由两个递归系统卷积码编码器、一个交织器和一个复接器组成,交织器将输入信息序列x1经过打乱之后变成序列x2,两组序列x1,x2分别经过两个编码器得到两组校验比特序列y1,y2,再将x1,y1,y2复接成序列{x1,y1,y2}发送至信道,完成编码步骤;
所述译码器设有两个与编码器对应的软输入软输出分量译码器,第一译码器接收到来自信道的序列x1,序列y1以及全部为0的序列le1进行译码,得到的输出dec1_out经过外信息计算以及交织器交织之后作为第二译码器的先验信息序列输入le2,而第二译码器将序列x1经过交织器交织之后得到的序列x2,序列y2,序列le2进行译码,得到的输出dec2_out经过外信息计算以及反交织器反交织之后作为下一次迭代计算时第一分量译码器的先验信息输入le1,完成一次迭代循环,经过多次迭代后对第二译码器的输出结果dec2_out进行反交织和硬判决从而得到最终译码输出c_out;
所述译码器在每次迭代结束之后进行硬判决,再将本次迭代硬判决得到的比特序列与上次迭代硬判决得到的比特序列相比较,计算两个序列不相同的比特数,当两个序列不相同的比特数为0时就停止迭代,输出结果。
进一步的,所述译码器的迭代过程包括如下步骤:
1)预先设定最大迭代次数Imax,将先验信息le1初始化为0;
2)对输入的序列x2先进行一次硬判决,得到长度为N的比特序列R1,所述N为帧长;
3)开始译码迭代;
4)译码迭代结束之后,进行硬判决,得到长度为N的比特序列R2,如果当前迭代次数i=Imax,就转到步骤7),如果当前迭代次数i≠Imax,就转到步骤5);
5)把R1,R2进行比较,得到两序列中不相同的比特个数NUMBER;
6)判断NUMBER的取值,如果NUMBER=0,就转到步骤7),否则用R2代替R1并转到步骤3);
7)把R2作为译码结果输出,结束迭代。
本发明所述译码器先将交织好的序列x2送入迭代控制模块进行硬判决,并且把硬判决的结果送入存储器进行存储,第一次迭代计算得到的第二译码器译码输出dec2_out也进行硬判决,得到le2_deside信号,然后同步读取存储器中的数据,送入序列比较模块进行比较,得到表示两个序列相同的比特数的信号same,在送入到迭代停止判决模块进行判断是否结束迭代,而le2_deside信号经过延时器的延时,也送入存储器进行存储,所述译码器还通过迭代计数模块用每次dec2_out的同步电平en_in2做信号,在en_in2的上升沿计数,再结合same信号,对迭代计算和迭代停止进行判决。
本发明所提出的一种适于FPGA实现的Turbo码信道自适应方法,与传统的Turbo码算法相比,所构造的Turbo码译码器的纠错性能没有明显下降,但译码速度得到大幅提升。而且,该算法对应的FPGA设计结构简单,资源消耗量小,用FPGA硬件实现得到的电路运行频率高。
附图说明
图1是现有码率为1/3的Turbo码编码器结构图;
图2是现有码率为1/3的Turbo码译码器结构图;
图3是现有MAP算法中迭代次数与信噪比的关系示意图,显示了“误码平层”的现象;
图4是以MAP算法为基准,固定迭代次数与本发明的性能比较图,其中虚线是本发明得到的性能曲线;
图5是以MAP算法为基准,采用本发明的迭代次数与信噪比的关系图;
图6是以MAX-LOG-MAP算法为基准,固定迭代次数与本发明的性能比较图,其中虚线是本发明得到的性能曲线;
图7是以MAX-LOG-MAP算法为基准,采用本发明得到的迭代次数与信噪比的关系图;
图8是以本发明得到的自适应迭代控制算法对应的FPGA信号图,即迭代控制模块的信号图;
图9是本发明的理论仿真和实际硬件测试性能对比图;
图10是由本发明得到的算法对应FPGA硬件译码器译码速度图。
具体实施方式
本发明提出了一种提前停止迭代方法,那就是在每次迭代结束之后进行硬判决,再将本次迭代硬判决得到的比特序列与上次迭代硬判决得到的比特序列相比较(原始比较序列由译码之前直接硬判决产生),计算两个序列不相同的比特数,一旦发现两个序列不相同的比特数为0,于是就停止迭代,输出结果。
具体而言,本发明的自适应迭代控制方案的具体过程如下:
1、预先设定最大迭代次数Imax,将先验信息初始化为0;
2、译码之前对输入的序列x2先进行一次硬判决,得到长度为N(帧长)的比特序列R1
3、开始译码迭代;
4、译码迭代结束之后,进行硬判决,得到长度为N(帧长)的比特序列R2,如果当前迭代次数i=Imax,就转到步骤7;
如果当前迭代次数i≠Imax,就转到步骤5;
5、把R1,R2进行比较,得到两序列中不相同的比特个数NUMBER;
6、如果NUMBER=0,就转到步骤7;如果NUMBER≠0,用R2代替R1并转到步骤3;
7、把R2作为译码结果输出。
附图4,5分别给出了固定迭代次数MAP算法和由本发明得到的自适应迭代控制MAP算法的性能图。图6,7分别给出了固定迭代次数MAX-LOG-MAP算法和由本发明得到的自适应迭代控制MAX-LOG-MAP算法的性能图。两种算法都采用(13,15)RSC码作为分量码,码率为1/3,帧长为1440,采用BPSK调制,AWGN信道(若无特殊说明,后面的实验仿真条件所采用分量码,码率,帧长,调制方式,信道类型均不变)。
由图4~7可以看到,采用自适应迭代控制方案之后译码算法性能没有明显的恶化,与固定迭代次数的译码性能基本一致。
而对于迭代次数,在信噪比为0dB的时候,无论最大迭代次数是3,5,或者8,自适应迭代控制MAP算法和MAX-LOG-MAP算法都没有能够有效地减少迭代次数。这是因为这个时候信噪比过低,无论多少次迭代都不可能使译码有明显改善。这使得前后两次迭代计算的判决序列不可能完全一样,所以迭代计算总是达到最大迭代次数才停止。
在信噪比为0.5dB的时候,由于信噪比稍有提高,但也属于很低的信噪比水平,所以会出现两种情况:其一,就是与在0dB的时候一样无论多少次迭代都不可能使译码有改善,所以译码总是要迭代到最大迭代次数才停止。其二,就是要迭代很多次(一般在6次以上),所以这时候只有最大迭代次数为8的时候自适应迭代控制能起到一定的作用,但是这种作用也很小。
在信噪比不小于1dB的时候,这个时候随着迭代次数的增加,误比特数会逐渐减少,也就是说随着迭代次数的增加,译码性能也在逐渐改善,所以这种情况下自适应迭代控制就开始发挥作用了。并且信噪比越高,作用越明显。这是因为当信噪比高的时候所必要的迭代次数少,这个时候相对于最大迭代次数而言自适应迭代控制方案能在很早的时刻就有效地停止迭代,于是大大节约了译码时间,提高了译码速度。
本发明可通过FPGA设计实现,图8是设计得到的迭代控制器的硬件结构以及信号图。
由图8可以看到,在译码器刚开始工作的时候先将交织好的x2序列送入迭代控制模块进行硬判决,并且把硬判决的结果送入存储器进行存储。第一次迭代计算得到的分量译码器2译码输出dec2_out也进行硬判决,得到le2_deside信号,这时候同步读取存储器中的数据,然后送入序列比较模块进行比较(实际上是第一次迭代结束的判决结果和直接硬判决的结果相比较),于是得到信号same(表示两个序列相同的比特数),然后送入到迭代停止判决模块。而le2_deside信号经过一定的延时成为d_in2信号,经过选择器选通之后也进入存储器进行存储。
对于迭代停止判决模块用每次dec2_out的同步电平en_in2做信号,在en_in2的上升沿计数,再结合same信号,对迭代计算是否停止进行判决。
附图8表示迭代控制的全部信号流程,由于存在序列比较,最开始由序列x2硬判决得到的序列d_in1,经过选择器选通之后进入存储器存储,而第一次迭代计算结束之后就可以得到第一次迭代计算之后的硬判决序列,这个时候进行如下两步操作:
第一步、将存储器存储的序列信号读出,两组序列要进行比较,得到序列相同的比特数;
第二步、同时将新得到的比特序列写入存储器,方便下次迭代计算结束之后的比较。也就是说,存储器本身有一个读出通道,而有两个写入通道,这就要用一个选择器进行选通,在迭代没开始之前将由序列x2硬判决得到的序列d_in1,经过选择器选通之后进入存储器存储,在迭代开始之后将最开始由序列dec2_out硬判决得到的序列le2_deside,该序列信号经过延时成为信号d_in2,然后经过选择器选通之后进入存储器存储。
所述的块状RAM是使用FPGA内部自带的固化存储器实现。
本发明采用(13,15)RSC组成的Turbo码,1/3码率,帧长N=1024,MAX-LOG-MAP算法,自适应迭代控制,最大迭代次数5次,采用BPSK调制,在AWGN信道条件下得到理论仿真和实际FPGA硬件测试性能对比图,如图9~10所示。
由性能对比图可以看出,硬件电路的译码性能与实验室仿真差距很小,两条曲线基本重合,就算有差距也是在一个数量级之内。这种程度的性能损失对于硬件设计来说是可以接受的。而从译码速度测试图可以看到,随着信道信噪比的提高,硬件译码速度有明显地提升。这说明硬件电路的确实现了信道自适应迭代控制的功能,使译码速度大大提高,达到了优化译码算法的功能。

Claims (3)

1、一种Turbo码信道自适应实现方法,所述Turbo码通过编码器和译码器分别进行编码和译码;
所述编码器由两个递归系统卷积码编码器、一个交织器和一个复接器组成,交织器将输入信息序列x1经过打乱之后变成序列x2,两组序列x1,x2分别经过两个编码器得到两组校验比特序列y1,y2,再将x1,y1,y2复接成序列{x1,y1,y2}发送至信道,完成编码步骤;
所述译码器设有两个与编码器对应的软输入软输出分量译码器,第一译码器接收到来自信道的序列x1,序列y1以及全部为0的序列le1进行译码,得到的输出dec1_out经过外信息计算以及交织器交织之后作为第二译码器的先验信息序列输入le2,而第二译码器将序列x1经过交织器交织之后得到的序列x2,序列y2,序列le2进行译码,得到的输出dec2_out经过外信息计算以及反交织器反交织之后作为下一次迭代计算时第一分量译码器的先验信息输入le1,完成一次迭代循环,经过多次迭代后对第二译码器的输出结果dec2_out进行反交织和硬判决,从而得到最终译码输出c_out序列;
其特征在于:所述译码器在每次迭代结束之后进行硬判决,再将本次迭代硬判决得到的比特序列与上次迭代硬判决得到的比特序列相比较,计算两个序列不相同的比特数,当两个序列不相同的比特数为0时就停止迭代,输出结果。
2、根据权利要求1所述的Turbo码信道自适应实现方法,其特征在于所述译码器的迭代过程包括如下步骤:
1)预先设定最大迭代次数Imax,将先验信息le1初始化为0;
2)对输入的序列x2先进行一次硬判决,得到长度为N的比特序列R1,所述N为帧长;(这里对x2进行硬判决的方式与对dec2_out进行硬判决类似,如果x2大于等于0就判定当前R1序列的值为1;如果x2小于0就判定当前R1序列的值为0)
3)开始译码迭代;
4)译码迭代结束之后,进行硬判决,得到长度为N的比特序列R2,如果当前迭代次数i=Imax,就转到步骤7,如果当前迭代次数i≠Imax,就转到步骤5;
5)把R1,R2进行比较,得到两序列中不相同的比特个数NUMBER;
6)判断NUMBER的取值,如果NUMBER=0,就转到步骤7,否则用R2代替R1并转到步骤3;
7)把R2作为译码结果输出,结束迭代。
3、根据权利要求1或2所述的Turbo码信道自适应实现方法,其特征在于所述译码器先将交织好的序列x2送入迭代控制模块进行硬判决,并且把硬判决的结果送入存储器进行存储,第一次迭代计算得到的第二译码器译码输出dec2_out也进行硬判决,得到le2_deside信号,然后同步读取存储器中的数据,送入序列比较模块进行比较,得到表示两个序列相同的比特数的信号same,在送入到迭代停止判决模块进行判断是否结束迭代,而le2_deside信号经过延时器的延时,也送入RAM进行存储,所述译码器还通过迭代计数模块用每次dec2_out的同步电平en_in2做信号,在en_in2的上升沿计数,再结合same信号,对迭代计算和迭代停止进行判决。
CN200910193139A 2009-10-16 2009-10-16 一种Turbo码信道自适应实现方法 Pending CN101674094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910193139A CN101674094A (zh) 2009-10-16 2009-10-16 一种Turbo码信道自适应实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910193139A CN101674094A (zh) 2009-10-16 2009-10-16 一种Turbo码信道自适应实现方法

Publications (1)

Publication Number Publication Date
CN101674094A true CN101674094A (zh) 2010-03-17

Family

ID=42021122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910193139A Pending CN101674094A (zh) 2009-10-16 2009-10-16 一种Turbo码信道自适应实现方法

Country Status (1)

Country Link
CN (1) CN101674094A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103220007A (zh) * 2013-05-09 2013-07-24 南京航空航天大学 一种自适应调整子码不可靠位数的tpc迭代译码算法
CN107565982A (zh) * 2017-09-20 2018-01-09 上海东软载波微电子有限公司 Turbo迭代译码的输出控制方法、装置及译码设备
CN110299921A (zh) * 2019-06-11 2019-10-01 东南大学 一种模型驱动的Turbo码深度学习译码方法
CN111130572A (zh) * 2020-01-06 2020-05-08 西南电子技术研究所(中国电子科技集团公司第十研究所) Turbo码快速实现方法
CN112751651A (zh) * 2020-12-29 2021-05-04 上海瀚芯实业发展合伙企业(有限合伙) 一种Turbo码与神经网络相结合的信号传输方法
CN113556137A (zh) * 2021-07-27 2021-10-26 天津大学 一种基于DWC的Turbo译码器容错方法
CN116527207A (zh) * 2023-07-04 2023-08-01 福建福大北斗通信科技有限公司 一种北斗三号通信基带自适应迭代次数的turbo译码方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103220007B (zh) * 2013-05-09 2016-03-30 南京航空航天大学 一种自适应调整子码不可靠位数的tpc迭代译码算法
CN103220007A (zh) * 2013-05-09 2013-07-24 南京航空航天大学 一种自适应调整子码不可靠位数的tpc迭代译码算法
CN107565982B (zh) * 2017-09-20 2020-11-17 上海东软载波微电子有限公司 Turbo迭代译码的输出控制方法、装置及译码设备
CN107565982A (zh) * 2017-09-20 2018-01-09 上海东软载波微电子有限公司 Turbo迭代译码的输出控制方法、装置及译码设备
CN110299921B (zh) * 2019-06-11 2023-01-17 东南大学 一种模型驱动的Turbo码深度学习译码方法
CN110299921A (zh) * 2019-06-11 2019-10-01 东南大学 一种模型驱动的Turbo码深度学习译码方法
CN111130572A (zh) * 2020-01-06 2020-05-08 西南电子技术研究所(中国电子科技集团公司第十研究所) Turbo码快速实现方法
CN111130572B (zh) * 2020-01-06 2024-04-23 西南电子技术研究所(中国电子科技集团公司第十研究所) Turbo码快速实现方法
CN112751651A (zh) * 2020-12-29 2021-05-04 上海瀚芯实业发展合伙企业(有限合伙) 一种Turbo码与神经网络相结合的信号传输方法
CN112751651B (zh) * 2020-12-29 2021-09-07 白盒子(上海)微电子科技有限公司 一种Turbo码与神经网络相结合的信号传输方法
CN113556137A (zh) * 2021-07-27 2021-10-26 天津大学 一种基于DWC的Turbo译码器容错方法
CN116527207A (zh) * 2023-07-04 2023-08-01 福建福大北斗通信科技有限公司 一种北斗三号通信基带自适应迭代次数的turbo译码方法
CN116527207B (zh) * 2023-07-04 2023-08-29 福建福大北斗通信科技有限公司 一种北斗三号通信基带自适应迭代次数的turbo译码方法

Similar Documents

Publication Publication Date Title
CN100542051C (zh) 解码方法和设备
CN101674094A (zh) 一种Turbo码信道自适应实现方法
JP5479580B2 (ja) Lteにおける並列turboデコーディングの方法及び装置
CN104579369A (zh) 一种Turbo迭代译码方法和译码装置
JP4229948B2 (ja) 復号装置、復号方法、及び受信装置
Gilbert et al. Low complexity stopping criteria for UMTS turbo-decoders
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
KR100738250B1 (ko) Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법
CN1773867B (zh) Turbo码译码方法
CN113872615A (zh) 一种可变长度的Turbo码译码器装置
KR100530339B1 (ko) 터보 복호기의 복호 지연시간 감소장치 및 그 방법
KR20110011223A (ko) 저전력 터보복호기의 조기정지 시스템 및 방법
CN2506034Y (zh) Turbo译码器件
KR100823727B1 (ko) 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법
Bai et al. Hardware implementation of Log-MAP turbo decoder for W-CDMA node B with CRC-aided early stopping
CN103701475A (zh) 移动通信系统中8比特运算字长Turbo码的译码方法
KR100662076B1 (ko) 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법
Aziz et al. Implementation of a smart and power efficient Turbo Decoder using SDR algorithm
Wang et al. Research on Parallel Turbo Encoding and Decoding Technology
CN1744444A (zh) 基于自适应原理的双二元Turbo码译码方法
KR100776910B1 (ko) 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법
Kei et al. Improved stopping criteria for iterative decoding of short-frame multi-component turbo codes
KR20040086872A (ko) 터보 복호기의 반복복호 횟수 제어장치 및 그 방법
Tan et al. A Novel Stopping Criterion for LTE-A High Speed Turbo Decoder
CN103888153A (zh) 一种提高Turbo码MAP译码性能的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100317