CN102523076A - 通用可配置的高速率Turbo码译码系统及其方法 - Google Patents
通用可配置的高速率Turbo码译码系统及其方法 Download PDFInfo
- Publication number
- CN102523076A CN102523076A CN2012100015633A CN201210001563A CN102523076A CN 102523076 A CN102523076 A CN 102523076A CN 2012100015633 A CN2012100015633 A CN 2012100015633A CN 201210001563 A CN201210001563 A CN 201210001563A CN 102523076 A CN102523076 A CN 102523076A
- Authority
- CN
- China
- Prior art keywords
- state
- prime
- metric
- constantly
- module
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种通用可配置的高速率Turbo码译码系统及其方法,解决了现有技术在Turbo码译码器中同时配置独立的Radix-4Max-Log-MAP算法和Radix-4SOVA算法实现模块使硬件资源消耗过大的问题。本发明实现方法的步骤:接收信息;顺序读取信息,进行第一次分量译码;计算分支度量;计算前向状态度量和度量差;计算对数似然比;计算外信息;按交织地址读取信息,进行第二次分量译码;译码终止判决;硬判决。本发明利用两种Radix-4算法之间的共性,完成了在一个译码系统中同时实现两种算法通用可配置的高速率Turbo码译码,降低了硬件资源消耗,可用于下一代宽带无线通信系统中的Turbo码译码器。
Description
技术领域
本发明属于无线通信技术领域,更进一步涉及信道编码技术领域中的一种通用可配置的高速率Turbo码译码系统及其方法。本发明可实现Radix-4Max-Log-MAP算法/Radix-4SOVA算法通用可配置的高速率Turbo码译码,可用于下一代宽带无线通信系统中的Turbo码译码器。
背景技术
高吞吐率的Turbo码译码是下一代宽带无线通信系统中的一个核心技术。Turbo码译码算法分为两类:一类是由Viterbi算法演化而来的软输出维特比(Soft OutputViterbi Algorithm,SOVA)算法;一类是最大后验概率(Maximum a posterioriProbability,MAP)算法,以及由MAP算法延伸出的Log-MAP算法和Max-Log-MAP算法。从译码复杂度的角度来说,MAP算法和Log-MAP算法需要大量的指数和对数计算,复杂度高,而Max-Log-MAP算法和SOVA算法则完全用加减法运算和最大(小)值操作就可实现,复杂度低,有利于硬件上的实现。因此Max-Log-MAP算法和SOVA算法成为了Turbo码的实用译码算法。
为了提高译码速率,近年来两者的Radix-4结构算法得到了广泛的研究,北京卫星信息工程研究所提出的专利申请“一种基于DVB-RCS标准的双二元Turbo码译码方法及译码器”(申请日:2007年11月30日,申请号:200710178506.1,公开号:CN101162908A)中公开了一种Radix-4Max-Log-MAP译码器及方法,来解决Turbo码译码速率低的问题。该专利申请中的译码器在译码时采用双二元输入,一个时钟完成两个比特的译码,因此相对于传统的Max-Log-MAP译码器,在相同的时钟频率下可以将译码速率提高一倍。但是,该专利申请公开的译码器及方法存在的不足是,在译码时译码器需要进行前向和后向两次递归运算,因此该译码器虽然能提高译码速率,但提高有限。
Haratsch E F等人在“A Radix-4 Soft-Output Viterbi Architecture”(IEEEIntemational Symposium on VLSI Design,Automation and Test,Hsinchu,2008:224-227.)提出了一种高译码速率的Radix-4SOVA译码器。该译码器通过用可信度更新运算替代后向递归运算,使译码速率相比Radix-4Max-Log-MAP译码器又得到进一步提高。该方法存在的不足是:由于没有进行后向递归运算,则Radix-4SOVA译码器在译码时就很难选取最佳路径,因此译码性能比Radix-4Max-Log-MAP译码器差。
根据实际的传播信道条件,权衡译码性能和速率,当传播信道质量差时,一般选择译码性能相对较好的Radix-4Max-Log-MAP算法;当传播信道质量较好时,可以选择译码速率较高的Radix-4SOVA算法。但是值得注意的是,如果在一个Turbo码译码器中同时配置独立的Radix-4Max-Log-MAP算法和Radix-4SOVA算法实现模块,那将是对硬件资源的极大浪费,不能满足下一代宽带无线通信系统对Turbo码译码器的低复杂度和低硬件资源消耗的要求。
发明内容
本发明的目的在于克服上述现有技术的不足,提供了一种通用可配置的高速率Turbo码译码系统及其方法,可实现Radix-4Max-Log-MAP算法/Radix-4SOVA算法通用可配置的Turbo码译码,有效地降低了同时独立实现上述两种算法的硬件资源消耗。
为了实现上述目的,本发明方法的思路是:利用Radix-4Max-Log-MAP算法和Radix-4SOVA算法之间的共性,完成在一个译码系统中同时实现两种算法通用可配置的译码,从而可以根据无线信道条件,实时地选择其中一种算法进行译码,保证下一代宽带无线通信系统对Turbo码译码器的低硬件资源消耗和高译码速率的要求。
本发明的系统包括十二个模块:输入数据存储模块、分支度量计算模块、分支度量存储模块、前向状态度量/路径度量差计算模块、前向状态度量/度量差存储模块、后向状态度量计算模块、对数似然比计算模块1、可信度更新模块、对数似然比计算模块2、外信息计算模块、外信息存储模块、硬判决模块;其中:输入数据存储模块,用于接收并存储接收到的信息序列;分支度量计算模块,用于计算状态转移分支的分支度量;分支度量存储模块,用于为Radix-4Max-Log-MAP算法存储分支度量计算模块产生的分支度量;前向状态度量/路径度量差计算模块,用于计算状态的前向路径度量值、路径度量差和路径判决比特,向可信度更新模块发送路径判决比特;前向状态度量/度量差存储模块,用于存储前向状态度量值和路径度量差;后向状态度量计算模块,用于为Radix-4Max-Log-MAP算法计算状态的后向路径度量值;对数似然比计算模块1,用于计算Radix-4Max-Log-MAP算法中的对数似然比;可信度更新模块,用于Radix-4SOVA算法中的可信度更新;对数似然比计算模块2,用于计算Radix-4SOVA算法中的对数似然比;外信息计算模块,用于计算待译码比特的外信息;外信息存储模块,用于存储外信息计算模块产生的外信息;硬判决模块,用于完成对数似然比的硬判决。
本发明方法的实现步骤如下:
(1)接收信息序列
输入数据存储模块接收并存储信息序列,两帧交替进行接收和译码。
(2)顺序读取信息,进行第一次分量译码
分支度量计算模块按照顺序地址读取输入数据存储模块中第一个分量码的系统信息序列和校验信息序列,同时将按照顺序地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列,其中外信息序列的初始值初始化为0。
(3)计算分支度量
分支度量计算模块利用系统信息序列、校验信息序列和先验信息序列,通过分支度量计算公式计算合并后的两步状态转移分支的分支度量。
(4)计算前向状态度量和度量差
4a)前向状态度量/度量差计算模块通过路径度量计算公式,计算每个状态的四条输入分支对应的路径度量;
4b)前向状态度量/度量差计算模块利用路径度量,通过前向状态度量计算公式计算每个状态的前向状态度量;
4c)前向状态度量/度量差计算模块利用路径度量,通过度量差计算公式计算每个状态的度量差,度量差计算公式如下:
其中,Δk+1(s)表示k+1时刻状态s的度量差;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s表示分量编码器在k+1时刻的寄存器状态,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;P(si″,sj′,s)表示从k-1时刻状态si″转移到k时刻状态si′再转移到k+1时刻状态s的路径度量,i∈{1,2,3,4},j∈{1,2};s1″,s2″,s3″,s4″表示转移到k+1时刻状态s在k-1时刻的四个寄存器状态,s1′,s2′表示转移到k+1时刻状态s在k时刻的两个寄存器状态,且k-1时刻的状态s1″,s2″转移到了k时刻的s1′,k-1时刻的状态s3″,s4″转移到了k时刻的s2′,s1″,s2″,s3″,s4″,s1′,s2′∈{0,1,...,2m-1};Δk(s)表示k+1时刻状态s的幸存路径在k时刻所处状态的度量差;|·|表示求绝对值操作。
(5)计算对数似然比
5a)选取与Radix-4SOVA算法的误比特率10-4对应的信噪比作为信噪比门限,当接收信号的信噪比小于门限时,执行步骤5b),当接收信号的信噪比大于门限时,执行步骤5c);
5b)选择Radix-4Max-Log-MAP算法:后向状态度量计算模块通过后向状态度量计算公式计算后向状态度量,对数似然比模块1通过对数似然比计算公式1计算对数似然比;
5c)选择Radix-4SOVA算法:可信度更新模块通过可信度更新公式进行可信度更新,对数似然比模块2通过对数似然比计算公式2计算对数似然比,可信度更新公式如下:
其中,Lk+1(uj)表示k+1时刻uj的可信度,k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;uj表示第j个待译码比特,j=k-δ,k-δ+1,...,k,δ表示更新深度;Lk-1(uj)表示k-1时刻uj的可信度;vj表示最大似然路径对uj的判决值,wj表示k时刻的竞争路径对uj的判决值,cj表示k+1时刻的竞争路径对uj的判决值;Δk、Δk+1分别表示最大似然路径在k和k+1时刻对应状态的度量差,Δ=min{Δk,Δk+1}。
(6)计算外信息
外信息计算模块通过外信息计算公式计算外信息,并将外信息按照顺序地址存储到外信息存储器。
(7)按交织地址读取信息,进行第二次分量译码
7a)分支度量计算模块按照交织地址读取输入数据存储模块中第二个分量码的系统信息序列和校验信息序列,同时将按照交织地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列;
7b)对第二个分量码的系统信息序列、校验信息序列和先验信息序列按照步骤(3)、步骤(4)、步骤(5)和步骤(6)的计算方法获得第二次分量译码的外信息序列;
7c)将第二次分量译码的外信息序列按照交织地址存储到外信息存储器中完成一次迭代译码。
(8)译码终止判决
当迭代次数达到最大迭代次数,执行步骤(9),反之,执行步骤(2),进行下一次迭代。
(9)硬判决
硬判决模块按照硬判决规则进行硬判决,得到待译码比特的估计值,译码结束。
本发明与现有技术相比具有以下优点:
第一,由于本发明充分利用了Radix-4Max-Log-MAP算法和Radix-4SOVA算法之间的共性,完成在一个译码系统中同时实现两种算法的通用可配置Turbo码译码,从而克服了现有技术在Turbo码译码器中同时配置独立的Radix-4Max-Log-MAP算法和Radix-4SOVA算法实现模块使硬件资源消耗过大的缺点,使本发明能够降低硬件资源消耗。
第二,由于本发明在接收信号的信噪比大于信噪比门限时,采用Radix-4SOVA算法进行译码,克服了现有技术采用Radix-4Max-Log-MAP译码器译码速率低的缺点,使本发明能够提高译码速率。
第三,由于本发明在接收信号的信噪比小于信噪比门限时,采用Radix-4Max-Log-MAP算法进行译码,克服了现有技术采用Radix-4SOVA译码器译码性能差的缺点,使本发明能够提高译码性能。
第四,由于本发明采用的更新方法可一次完成两个度量差对可信度的更新,因此比现有技术中的更新方法更适合用于Radix-4SOVA算法。
附图说明
图1是本发明系统的方框图;
图2是本发明方法的流程图;
图3是本发明的前向状态度量/路径度量差通用计算模块的内部结构示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
参照附图1,本发明的系统包括十二个模块:输入数据存储模块、分支度量计算模块、分支度量存储模块、前向状态度量/路径度量差计算模块、前向状态度量/度量差存储模块、后向状态度量计算模块、对数似然比计算模块1、可信度更新模块、对数似然比计算模块2、外信息计算模块、外信息存储模块、硬判决模块。其中,输入数据存储模块、分支度量计算模块、前向状态度量/路径度量差计算模块、前向状态度量/度量差存储模块、外信息计算模块、外信息存储模块、硬判决模块属于共用模块;分支度量存储模块、后向状态度量计算模块、对数似然比计算模块1属于Radix-4Max-Log-MAP算法独用模块;可信度更新模块、对数似然比计算模块2属于Radix-4SOVA算法独用模块。CTRL表示控制信号,用于为当前译码选择其中一种独用模块。
输入数据存储模块,用于接收并存储接收到的信息序列,该存储模块的容量包括两帧,一帧用于译码,一帧用于接收,两帧交替进行。
分支度量计算模块,用于计算两步状态转移合并后的分支度量,该模块计算分支度量需要输入数据存储模块提供系统信息序列和校验信息序列,需要外信息存储模块提供先验信息序列。
分支度量存储模块,用于为Radix-4Max-Log-MAP算法存储分支度量计算模块产生的分支度量。
前向状态度量/路径度量差计算模块,用于计算状态的前向路径度量值、路径度量差和路径判决比特,向可信度更新模块发送路径判决比特。
前向状态度量/度量差存储模块,用于存储前向状态度量值和路径度量差。
后向状态度量计算模块,用于为Radix-4Max-Log-MAP算法计算状态的后向路径度量值。
对数似然比计算模块1,用于计算Radix-4Max-Log-MAP算法中的对数似然比,该模块利用分支度量、前向状态度量和后向状态度量通过对数似然比计算公式1计算对数似然比。
可信度更新模块,用于Radix-4SOVA算法中的可信度更新,通过本发明的更新规则,该模块可一次完成两个度量差对可信度的更新。
对数似然比计算模块2,用于计算Radix-4SOVA算法中的对数似然比。
外信息计算模块,用于计算待译码比特的外信息,外信息需要存储到外信息存储模块,用来作为下一次分量译码的先验信息。
外信息存储模块,用于存储外信息计算模块产生的外信息。
硬判决模块,用于完成对数似然比的硬判决,输出待译码比特的估计值。
参照附图2,对本发明的实现方法做进一步描述。
步骤1,接收信息序列
输入数据存储模块接收并存储信息序列,当接收完第一帧后开始译码,第二帧开始接收,当第二帧接收完开始译码时,第一帧开始接收,两帧交替进行接收和译码。
步骤2,顺序读取信息,进行第一次分量译码
分支度量计算模块按照顺序地址读取输入数据存储模块中第一个分量码的系统信息序列和校验信息序列,同时将按照顺序地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列,其中外信息序列的初始值初始化为0。
步骤3,计算分支度量
分支度量计算模块利用系统信息序列、校验信息序列和先验信息序列,通过分支度量计算公式计算合并后的两步状态转移分支的分支度量。分支度量是按照下面的公式计算得到:
其中,γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s″和s分别表示分量编码器在k-1和k+1时刻的寄存器状态,s″,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;xk、xk+1分别表示分量编码器从状态s″转移到状态s输出的系统比特, La(uk)、La(uk+1)分别表示uk和uk+1的先验信息;uk、uk+1分别表示第k和k+1个待译码比特;Lc为信道可信度量值;yk、rk分别表示k时刻输入数据存储模块接收到的系统信息和校验信息,yk+1、rk+1分别表示k+1时刻输入数据存储模块接收到的系统信息和校验信息;zk、zk+1分别表示分量编码器从状态s″转移到状态s输出的校验比特,
步骤4:计算前向状态度量和度量差
前向状态度量/度量差计算模块通过路径度量计算公式,计算每个状态的四条输入分支对应的路径度量,路径度量计算公式如下:
P(s″,s′,s)=αk-1(s″)+γk,k+1(s″,s)
其中,P(s″,s′,s)表示从k-1时刻状态s″转移到k时刻状态s′再转移到k+1时刻状态s的路径度量;s″、s′和s分别表示分量编码器在k-1,k和k+1时刻的寄存器状态,s″,s′,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;αk-1(s″)表示k-1时刻状态s″的前向状态度量;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量。
前向状态度量/度量差计算模块利用路径度量,通过前向状态度量计算公式计算每个状态的前向状态度量,前向状态度量计算公式如下:
αk+1(s)=max{P(s1″,s1′,s),P(s2″,s1′,s),P(s3″,s2′,s),P(s4″,s2′,s)}
其中,αk+1(s)表示k+1时刻状态s的前向状态度量,k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s表示分量编码器在k+1时刻的寄存器状态,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;P(si″,sj′,s)表示从k-1时刻状态si″转移到k时刻状态sj′再转移到k+1时刻状态s的路径度量,i∈{1,2,3,4},j∈{1,2};s1″,s2″,s3″,s4″表示转移到k+1时刻状态s在k-1时刻的四个寄存器状态,s1′,s2′表示转移到k+1时刻状态s在k时刻的两个寄存器状态,且k-1时刻的状态s1″,s2″转移到了k时刻的s1′,k-1时刻的状态s3″,s4″转移到了k时刻的s2′,s1″,s2″,s3″,s4″,s1′,s2′∈{0,1,...,2m-1}。
前向状态度量/度量差计算模块利用路径度量,通过度量差计算公式计算每个状态的度量差,度量差计算公式如下:
其中,Δk+1(s)表示k+1时刻状态s的度量差;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s表示分量编码器在k+1时刻的寄存器状态,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;P(si″,sj′,s)表示从k-1时刻状态si″转移到k时刻状态sj′再转移到k+1时刻状态s的路径度量,i∈{1,2,3,4},j∈{1,2};s1″,s2″,s3″,s4″表示转移到k+1时刻状态s在k-1时刻的四个寄存器状态,s1′,s2′表示转移到k+1时刻状态s在k时刻的两个寄存器状态,且k-1时刻的状态s1″,s2″转移到了k时刻的s1′,k-1时刻的状态s3″,s4″转移到了k时刻的s2′,s1″,s2″,s3″,s4″,s1′,s2′∈{0,1,...,2m-1};Δk(s)表示k+1时刻状态s的幸存路径在k时刻所处状态的度量差;|·|表示求绝对值操作。
图3给出了前向状态度量/路径度量差通用计算模块的内部结构示意图,由图3可见,该模块由3个加比选(ACS)和2个求绝对值单元组成,并且前向状态度量αk+1(s)、度量差Δk(s)和Δk+1(s)处于同一级流水线,因此本发明给出的前向状态度量/路径度量差通用计算模块具有硬件实现结构简单和处理延迟小的优点。
步骤5,计算对数似然比
选取与Radix-4SOVA算法的误比特率10-4对应的信噪比作为信噪比门限,当接收信号的信噪比小于门限时,选择Radix-4Max-Log-MAP算法,当接收信号的信噪比大于门限时,选择Radix-4SOVA算法。
选择Radix-4Max-Log-MAP算法计算对数似然比,具体步骤如下:
首先,后向状态度量计算模块通过后向状态度量计算公式计算后向状态度量,后向状态度量计算公式如下:
其中,βk-1(s″)表示k-1时刻状态s″的后向状态度量;k表示译码时间,1≤k≤N-1且k取奇数;s″和s分别表示分量编码器在k-1和k+1时刻的寄存器状态,s″,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;βk+1(s)表示k+1时刻状态s的后向状态度量;γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量。
其次,对数似然比模块1利用分支度量、前向状态度量和后向状态度量,通过下式计算对数似然值:
其中,LLR(uk,k+1=AB)表示uk,k+1=AB的对数似然值;uk,k+1=[uk,uk+1]表示待译码比特uk、uk+1组成的一个比特对,AB=00,01,10,11;k表示译码时间,1≤k≤N-1且k取奇数;s″和s分别表示分量编码器在k-1和k+1时刻的寄存器状态,s″,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;αk-1(s″)表示k-1时刻状态s″的前向状态度量;γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量;βk+1(s)表示k+1时刻状态s的后向状态度量。
最后,对数似然比模块1通过对数似然比计算公式1计算对数似然比,对数似然比计算公式1如下:
L(uk)=max{LLR(uk,k+1=11),LLR(uk,k+1=10)}
-max{LLR(uk,k+1=01),LLR(uk,k+1=00)}
L(uk+1)=max{LLR(uk,k+1=11),LLR(uk,k+1=01)}
-max{LLR(uk,k+1=10),LLR(uk,k+1=00)}
其中,L(uk)、L(uk+1)分别表示uk和uk+1对数似然比;uk,k+1=[uk,uk+1]表示待译码比特uk、uk+1组成的-个比特对;LLR(uk,k+1=AB)表示uk,k+1=AB的对数似然值,AB=00,01,10,11。
选择Radix-4SOVA算法计算对数似然比,具体步骤如下:
首先,初始化:Lk-1(uk)=+∞,Lk+1(uk+1)=Δk+1,Δ=min{Δk,Δk+1}。
其中,Lk-1(uk)表示k-1时刻待译码比特uk的可信度,uk表示第k个待译码比特;Lk+1(uk+1)表示k+1时刻待译码比特uk+1的可信度,uk+1表示第k+1个待译码比特,Δk、Δk+1分别表示最大似然路径在k和k+1时刻对应状态的度量差,Δ表示度量差Δk和Δk+1中较小的哪一个。
其次,可信度更新模块通过可信度更新公式进行可信度更新,可信度更新公式如下:
其中,Lk+1(uj)表示k+1时刻uj的可信度,k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;uj表示第j个待译码比特,j=k-δ,k-δ+1,...,k,δ表示更新深度;Lk-1(uj)表示k-1时刻uj的可信度;vj表示最大似然路径对uj的判决值,wj表示k时刻的竞争路径对uj的判决值,cj表示k+1时刻的竞争路径对uj的判决值;Δk、Δk+1分别表示最大似然路径在k和k+1时刻对应状态的度量差,Δ=min{Δk,Δk+1}。
最后,对数似然比模块2通过对数似然比计算公式2计算对数似然比,对数似然比计算公式2如下:
L(uk)=(2vk-1)Lk+δ+1(uk)
L(uk+1)=(2vk+1-1)Lk+δ+1(uk+1)
其中,L(uk)、L(uk+1)分别表示uk和uk+1的对数似然比,uk、uk+1分别表示第k和k+1个待译码比特;vk、vk+1表示最大似然路径对uk和uk+1的判决值;Lk+δ+1(uk)、Lk+δ+1(uk+1)分别表示k+δ+1时刻uk和uk+1的可信度。
步骤6,计算外信息
外信息计算模块通过外信息计算公式计算外信息,并将外信息按照顺序地址存储到外信息存储器。外信息计算公式如下:
Le(uk)=L(uk)-La(uk)-Lc·yk
Le(uk+1)=L(uk+1)-La(uk+1)-Lc·yk+1
其中,Le(uk)、Le(uk+1)分别表示uk和uk+1的外信息;uk、uk+1分别表示第k和k+1个待译码比特;L(uk)、L(uk+1)分别表示uk和uk+1的对数似然比;La(uk)、La(uk+1)分别表示uk和uk+1的先验信息;Lc表示信道可信度量值;yk、yk+1分别表示第k和k+1时刻接收到的系统信息。
步骤7,按交织地址读取信息,进行第二次分量译码
首先,分支度量计算模块按照交织地址读取输入数据存储模块中第二个分量码的系统信息序列和校验信息序列,同时将按照交织地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列。
其次,对第二个分量码的系统信息序列、校验信息序列和先验信息序列按照步骤(3)、步骤(4)、步骤(5)和步骤(6)的计算方法获得第二次分量译码的外信息序列。
最后,将第二次分量译码的外信息序列按照交织地址存储到外信息存储器中完成一次迭代译码。
步骤8,译码终止判决
当迭代次数达到最大迭代次数,执行步骤(9),反之,执行步骤(2),进行下一次迭代。
步骤9:硬判决
硬判决模块按照硬判决规则进行硬判决,得到待译码比特的估计值,硬判决规则如下:
得到待译码比特的估计值后,译码结束。
下面通过本发明与现有技术译码器实现结构的复杂度比较对本发明的效果作进一步描述。
本发明与现有技术译码器实现结构的复杂度比较选用TD-LTE标准中编码速率为1/3的Turbo编码器,分量编码器的存储级数为m=3,更新深度δ取约束长度的5倍,即δ=(m+1)×5=20。下表给出了现有技术的Radix-4Max-Log-MAP译码器、Radix-4SOVA译码器与本发明的实现结构复杂度的比较结果。
译码器\运算单元 | 加(减)法器 | 乘法器 | 最大(小)值单元 |
Radix-4Max-Log-MAP译码器 | 171 | 4 | 80 |
Radix-4SOVA译码器 | 89 | 4 | 46 |
本发明 | 187 | 4 | 102 |
上表中Radix-4Max-Log-MAP译码器需要171个加(减)法器,4个乘法器,80个最大(小)值单元;Radix-4SOVA译码器需要89个加(减)法器,4个乘法器,46个最大(小)值单元;本发明需要187个加(减)法器,4个乘法器,102个最大(小)值单元;由于(171+89-187)/(171+89)=28%,(80+46-102)/(80+46)=19%,因此本发明与现有技术同时独立实现Radix-4Max-Log-MAP译码器和Radix-4SOVA译码器相比,加(减)法器节省了28%;最大(小)值单元节省了19%。可见本发明具有低复杂度和低硬件资源消耗的有益效果。
Claims (9)
1.通用可配置的高速率Turbo码译码系统,包括十二个模块:输入数据存储模块、分支度量计算模块、分支度量存储模块、前向状态度量/路径度量差计算模块、前向状态度量/度量差存储模块、后向状态度量计算模块、对数似然比计算模块1、可信度更新模块、对数似然比计算模块2、外信息计算模块、外信息存储模块、硬判决模块;其中:
输入数据存储模块,用于接收并存储接收到的信息序列;
分支度量计算模块,用于计算状态转移分支的分支度量;
分支度量存储模块,用于为Radix-4Max-Log-MAP算法存储分支度量计算模块产生的分支度量;
前向状态度量/路径度量差计算模块,用于计算状态的前向路径度量值、路径度量差和路径判决比特,向可信度更新模块发送路径判决比特;
前向状态度量/度量差存储模块,用于存储前向状态度量值和路径度量差;
后向状态度量计算模块,用于为Radix-4Max-Log-MAP算法计算状态的后向路径度量值;
对数似然比计算模块1,用于计算Radix-4Max-Log-MAP算法中的对数似然比;
可信度更新模块,用于Radix-4SOVA算法中的可信度更新;
对数似然比计算模块2,用于计算Radix-4SOVA算法中的对数似然比;
外信息计算模块,用于计算待译码比特的外信息;
外信息存储模块,用于存储外信息计算模块产生的外信息;
硬判决模块,用于完成对数似然比的硬判决。
2.根据权利要求1所述的通用可配置的高速率Turbo码译码系统,其特征在于,所述输入数据存储模块的容量包括两帧,一帧用于译码,一帧用于接收。
3.通用可配置的高速率Turbo码译码方法,包括如下步骤:
(1)接收信息序列
输入数据存储模块接收并存储信息序列,两帧交替进行接收和译码;
(2)顺序读取信息,进行第一次分量译码
分支度量计算模块按照顺序地址读取输入数据存储模块中第一个分量码的系统信息序列和校验信息序列,同时将按照顺序地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列,其中外信息序列的初始值初始化为0;
(3)计算分支度量
分支度量计算模块利用系统信息序列、校验信息序列和先验信息序列,通过分支度量计算公式计算合并后的两步状态转移分支的分支度量;
(4)计算前向状态度量和度量差
4a)前向状态度量/度量差计算模块通过路径度量计算公式,计算每个状态的四条输入分支对应的路径度量;
4b)前向状态度量/度量差计算模块利用路径度量,通过前向状态度量计算公式计算每个状态的前向状态度量;
4c)前向状态度量/度量差计算模块利用路径度量,通过度量差计算公式计算每个状态的度量差,度量差计算公式如下:
其中,Δk+1(s)表示k+1时刻状态s的度量差;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s表示分量编码器在k+1时刻的寄存器状态,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;P(si″,sj′,s)表示从k-1时刻状态si″转移到k时刻状态sj′再转移到k+1时刻状态s的路径度量,i∈{1,2,3,4},j∈{1,2};s1″,s2″,s3″,s4″表示转移到k+1时刻状态s在k-1时刻的四个寄存器状态,s1′,s2′表示转移到k+1时刻状态s在k时刻的两个寄存器状态,且k-1时刻的状态s1″,s2″转移到了k时刻的s1′,k-1时刻的状态s3″,s4″转移到了k时刻的s2′,s1″,s2″,s3″,s4″,s1′,s2′∈{0,1,...,2m-1};Δk(s)表示k+1时刻状态s的幸存路径在k时刻所处状态的度量差;|·|表示求绝对值操作;
(5)计算对数似然比
5a)选取与Radix-4SOVA算法的误比特率10-4对应的信噪比作为信噪比门限,当接收信号的信噪比小于门限时,执行步骤5b),当接收信号的信噪比大于门限时,执行步骤5c);
5b)选择Radix-4Max-Log-MAP算法:后向状态度量计算模块通过后向状态度量计算公式计算后向状态度量,对数似然比模块1通过对数似然比计算公式1计算对数似然比;
5c)选择Radix-4SOVA算法:可信度更新模块通过可信度更新公式进行可信度更新,对数似然比模块2通过对数似然比计算公式2计算对数似然比,可信度更新公式如下:
其中,Lk+1(uj)表示k+1时刻uj的可信度,k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;uj表示第j个待译码比特,j=k-δ,k-δ+1,...,k,δ表示更新深度;Lk-1(uj)表示k-1时刻uj的可信度;vj表示最大似然路径对uj的判决值,wj表示k时刻的竞争路径对uj的判决值,cj表示k+1时刻的竞争路径对uj的判决值;Δk、Δk+1分别表示最大似然路径在k和k+1时刻对应状态的度量差,Δ=min{Δk,Δk+1};
(6)计算外信息
外信息计算模块通过外信息计算公式计算外信息,并将外信息按照顺序地址存储到外信息存储器;
(7)按交织地址读取信息,进行第二次分量译码
7a)分支度量计算模块按照交织地址读取输入数据存储模块中第二个分量码的系统信息序列和校验信息序列,同时将按照交织地址读取外信息存储模块中的外信息序列作为本次分量译码的先验信息序列;
7b)对第二个分量码的系统信息序列、校验信息序列和先验信息序列按照步骤(3)、步骤(4)、步骤(5)和步骤(6)的计算方法获得第二次分量译码的外信息序列;
7c)将第二次分量译码的外信息序列按照交织地址存储到外信息存储器中完成一次迭代译码;
(8)译码终止判决
当迭代次数达到最大迭代次数,执行步骤(9),反之,执行步骤(2),进行下一次迭代;
(9)硬判决
硬判决模块按照硬判决规则进行硬判决,得到待译码比特的估计值,译码结束。
4.根据权利要求3所述的通用可配置的高速率Turbo码译码方法,其特征在于,步骤(1)所述的两帧交替进行接收和译码是指,当接收完第一帧后开始译码,第二帧开始接收;当第二帧接收完开始译码时,第一帧开始接收。
5.根据权利要求3所述的通用可配置的高速率Turbo码译码方法,其特征在于,步骤(3)所述的分支度量计算公式如下:
其中,γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s″和s分别表示分量编码器在k-1和k+1时刻的寄存器状态,s″,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;xk、xk+1分别表示分量编码器从状态s″转移到状态s输出的系统比特, La(uk)、La(uk+1)分别表示uk和uk+1的先验信息;uk、uk+1分别表示第k和k+1个待译码比特;Lc为信道可信度量值;yk、rk分别表示k时刻输入数据存储模块接收到的系统信息和校验信息,yk+1、rk+1分别表示k+1时刻输入数据存储模块接收到的系统信息和校验信息;zk、zk+1分别表示分量编码器从状态s″转移到状态s输出的校验比特,
6.根据权利要求3所述的通用可配置的高速率Turbo码译码方法,其特征在于,步骤(4a)所述的路径度量计算公式如下:
P(s″,s′,s)=αk-1(s″)+γk,k+1(s″,s)
其中,P(s″,s′,s)表示从k-1时刻状态s″转移到k时刻状态s′再转移到k+1时刻状态s的路径度量;s″、s′和s分别表示分量编码器在k-1,k和k+1时刻的寄存器状态,s″,s′,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;αk-1(s″)表示k-1时刻状态s″的前向状态度量;k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;γk,k+1(s″,s)表示从k-1时刻状态s″转移到k+1时刻状态s的两步状态转移对应的分支度量。
7.根据权利要求3所述的通用可配置的高速率Turbo码译码方法,其特征在于,步骤(4b)所述的前向状态度量计算公式如下:
αk+1(s)=max{P(s1″,s1′,s),P(s2″,s1′,s),P(s3″,s2′,s),P(s4″,s2′,s)}
其中,αk+1(s)表示k+1时刻状态s的前向状态度量,k表示译码时间,1≤k≤N-1且k取奇数,N是编码码块的长度;s表示分量编码器在k+1时刻的寄存器状态,s∈{0,1,...,2m-1},m是分量编码器的寄存器个数;P(si″,sj′,s)表示从k-1时刻状态si″转移到k时刻状态sj′再转移到k+1时刻状态s的路径度量,i∈{1,2,3,4},j∈{1,2};s1″,s2″,s3″,s4″表示转移到k+1时刻状态s在k-1时刻的四个寄存器状态,s1′,s2′表示转移到k+1时刻状态s在k时刻的两个寄存器状态,且k-1时刻的状态s1″,s2″转移到了k时刻的s1′,k-1时刻的状态s3″,s4″转移到了k时刻的s2′,s1″,s2″,s3″,s4″,s1′,s2′∈{0,1,...,2m-1}。
8.根据权利要求3所述的通用可配置的高速率Turbo码译码方法,其特征在于,步骤(6)所述的外信息计算公式如下:
Le(uk)=L(uk)-La(uk)-Lc·yk
Le(uk+1)=L(uk+1)-La(uk+1)-Lc·yk+1
其中,Le(uk)、Le(uk+1)分别表示uk和uk+1的外信息;uk、uk+1分别表示第k和k+1个待译码比特;L(uk)、L(uk+1)分别表示uk和uk+1的对数似然比;La(uk)、La(uk+1)分别表示uk和uk+1的先验信息;Lc表示信道可信度量值;uk、yk+1分别表示第k和k+1时刻接收到的系统信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210001563.3A CN102523076B (zh) | 2012-01-04 | 2012-01-04 | 通用可配置的高速率Turbo码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210001563.3A CN102523076B (zh) | 2012-01-04 | 2012-01-04 | 通用可配置的高速率Turbo码译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523076A true CN102523076A (zh) | 2012-06-27 |
CN102523076B CN102523076B (zh) | 2014-05-14 |
Family
ID=46293885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210001563.3A Expired - Fee Related CN102523076B (zh) | 2012-01-04 | 2012-01-04 | 通用可配置的高速率Turbo码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523076B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354483A (zh) * | 2013-06-20 | 2013-10-16 | 西安电子科技大学 | 通用的高性能Radix-4SOVA译码器及其译码方法 |
CN103905067A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
CN106253912A (zh) * | 2016-07-27 | 2016-12-21 | 西安电子科技大学 | 兼容两代DVB‑RCS的Turbo译码装置及方法 |
CN106301391A (zh) * | 2016-08-08 | 2017-01-04 | 西安电子科技大学 | 一种改进的软输出咬尾卷积码译码方法 |
CN103957016B (zh) * | 2014-05-12 | 2017-02-15 | 西南大学 | 一种低存储容量的Turbo码译码器及其设计方法 |
CN108205505A (zh) * | 2016-12-20 | 2018-06-26 | 桑迪士克科技有限责任公司 | 基于误比特率的多通道存储器操作 |
CN108923887A (zh) * | 2018-06-26 | 2018-11-30 | 中国人民解放军国防科技大学 | 一种多进制部分响应cpm信号的软判决译码器结构 |
CN106253912B (zh) * | 2016-07-27 | 2019-07-16 | 西安电子科技大学 | 兼容两代DVB-RCS的Turbo译码装置及方法 |
CN113114278A (zh) * | 2021-03-07 | 2021-07-13 | 西安电子科技大学 | 双二进制Turbo译码实现方法、系统、设备及应用 |
CN113644919A (zh) * | 2021-08-11 | 2021-11-12 | 成都中科微信息技术研究院有限公司 | 一种提升DVB-RCS2中Turbo译码性能的方法及译码结构 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1961487A (zh) * | 2004-03-25 | 2007-05-09 | 法国电信公司 | 信源-信道联合解码方法和相关联的信源-信道联合解码器 |
CN101286817A (zh) * | 2008-04-03 | 2008-10-15 | 浙江大学 | 传统二进制和双二进制Turbo码通用译码方法 |
CN101425870A (zh) * | 2007-11-01 | 2009-05-06 | 中兴通讯股份有限公司 | 一种Turbo码迭代译码方法 |
CN101697492A (zh) * | 2009-11-02 | 2010-04-21 | 广州杰赛科技股份有限公司 | 双二元卷积Turbo码译码方法和装置 |
CN101777926A (zh) * | 2010-01-12 | 2010-07-14 | 浙江大学 | 一种Turbo乘积码的通用译码器及其方法 |
-
2012
- 2012-01-04 CN CN201210001563.3A patent/CN102523076B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1961487A (zh) * | 2004-03-25 | 2007-05-09 | 法国电信公司 | 信源-信道联合解码方法和相关联的信源-信道联合解码器 |
CN101425870A (zh) * | 2007-11-01 | 2009-05-06 | 中兴通讯股份有限公司 | 一种Turbo码迭代译码方法 |
CN101286817A (zh) * | 2008-04-03 | 2008-10-15 | 浙江大学 | 传统二进制和双二进制Turbo码通用译码方法 |
CN101697492A (zh) * | 2009-11-02 | 2010-04-21 | 广州杰赛科技股份有限公司 | 双二元卷积Turbo码译码方法和装置 |
CN101777926A (zh) * | 2010-01-12 | 2010-07-14 | 浙江大学 | 一种Turbo乘积码的通用译码器及其方法 |
Non-Patent Citations (2)
Title |
---|
JINHONG WU 等: "Combining Iterative SOVA and Log-MAP Algorithms for Turbo Decoding", 《IEEE 43RD ANNUAL CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS》 * |
任德锋 等: "一种新的基-4SOVA 译码算法", 《一种新的基-4SOVA 译码算法》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905067A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
CN103905067B (zh) * | 2012-12-27 | 2018-05-11 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
CN103354483B (zh) * | 2013-06-20 | 2016-08-10 | 西安电子科技大学 | 通用的高性能Radix-4SOVA译码器及其译码方法 |
CN103354483A (zh) * | 2013-06-20 | 2013-10-16 | 西安电子科技大学 | 通用的高性能Radix-4SOVA译码器及其译码方法 |
CN103957016B (zh) * | 2014-05-12 | 2017-02-15 | 西南大学 | 一种低存储容量的Turbo码译码器及其设计方法 |
CN106253912A (zh) * | 2016-07-27 | 2016-12-21 | 西安电子科技大学 | 兼容两代DVB‑RCS的Turbo译码装置及方法 |
CN106253912B (zh) * | 2016-07-27 | 2019-07-16 | 西安电子科技大学 | 兼容两代DVB-RCS的Turbo译码装置及方法 |
CN106301391A (zh) * | 2016-08-08 | 2017-01-04 | 西安电子科技大学 | 一种改进的软输出咬尾卷积码译码方法 |
CN106301391B (zh) * | 2016-08-08 | 2019-07-16 | 西安电子科技大学 | 一种改进的软输出咬尾卷积码译码方法 |
CN108205505B (zh) * | 2016-12-20 | 2020-11-03 | 桑迪士克科技有限责任公司 | 基于误比特率的多通道存储器操作 |
CN108205505A (zh) * | 2016-12-20 | 2018-06-26 | 桑迪士克科技有限责任公司 | 基于误比特率的多通道存储器操作 |
CN108923887A (zh) * | 2018-06-26 | 2018-11-30 | 中国人民解放军国防科技大学 | 一种多进制部分响应cpm信号的软判决译码器结构 |
CN113114278A (zh) * | 2021-03-07 | 2021-07-13 | 西安电子科技大学 | 双二进制Turbo译码实现方法、系统、设备及应用 |
CN113114278B (zh) * | 2021-03-07 | 2023-03-14 | 西安电子科技大学 | 双二进制Turbo译码实现方法、系统、设备及应用 |
CN113644919A (zh) * | 2021-08-11 | 2021-11-12 | 成都中科微信息技术研究院有限公司 | 一种提升DVB-RCS2中Turbo译码性能的方法及译码结构 |
CN113644919B (zh) * | 2021-08-11 | 2024-04-16 | 成都中科微信息技术研究院有限公司 | 一种提升DVB-RCS2中Turbo译码性能的方法及译码结构 |
CN114553244B (zh) * | 2022-01-19 | 2024-06-04 | 北京理工大学 | 低码率Turbo码译码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102523076B (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102523076B (zh) | 通用可配置的高速率Turbo码译码方法 | |
CN103873073B (zh) | 一种基于并行与加窗结构的Turbo码高速译码实现方法 | |
CN101951266B (zh) | Turbo并行译码的方法及译码器 | |
CN103354483B (zh) | 通用的高性能Radix-4SOVA译码器及其译码方法 | |
CN102064838B (zh) | 基于新型无冲突交织器的低延迟并行Turbo译码方法 | |
CN101388674A (zh) | 一种译码的方法、译码器以及Turbo码译码器 | |
CN104702292A (zh) | 一种部分并行ldpc译码器的实现方法 | |
CN104168032A (zh) | 兼容LTE和WiMAX的4并行度、基-16高性能Turbo译码器 | |
CN102340320B (zh) | 卷积Turbo码双向并行译码方法 | |
CN104092470B (zh) | 一种Turbo码译码装置及方法 | |
RU2571597C2 (ru) | Способ и устройство для декодирования турбокода | |
CN101162908A (zh) | 一种基于DVB-RCS标准的双二元Turbo码译码方法及译码器 | |
Prescher et al. | A parametrizable low-power high-throughput turbo-decoder | |
JP2002204173A (ja) | ターボデコーディング方法 | |
CN101964665B (zh) | turbo解码中基于Log-MAP的译码方法及其译码装置 | |
Han et al. | High speed max-log-MAP turbo SISO decoder implementation using branch metric normalization | |
CN109995383A (zh) | 译码方法、装置、存储介质和计算机程序产品 | |
US8984377B2 (en) | Stopping methods for iterative signal processing | |
CN103595424A (zh) | 分量译码方法、译码器及Turbo译码方法、装置 | |
JP3892471B2 (ja) | 復号方法 | |
CN102571107A (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
US7917834B2 (en) | Apparatus and method for computing LLR | |
CN105515591A (zh) | 一种Turbo码译码系统及方法 | |
Bobby et al. | Comparison of fast radix 2 ACS with adaptive fast radix 2 ACS in Viterbi Decoder | |
CN103701475A (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140514 Termination date: 20200104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |