首页> 中国专利> 一种基于并行与加窗结构的Turbo码高速译码实现方法

一种基于并行与加窗结构的Turbo码高速译码实现方法

摘要

本发明涉及一种基于并行与加窗结构的Turbo码高速译码实现方法,通过Turbo码高速译码器实现,包括第一、第二输入缓存模块、第一、二外信息存储模块、交织/解交织模块、N个SISO译码单元、硬判决模块和输出缓存模块,第一、二输入缓存模块以乒乓操作方式连续接收外部输入的数据帧,N个SISO译码单元完成第一次迭代的第一分量译码和第二分量译码,依次类推,完成第M次迭代的第一分量译码与第二分量译码,迭代终止,对第M次迭代的第二分量译码得到的对数似然比信息LLR在硬判决模块中进行解交织处理,并将解交织处理结果进行硬判决,最后将硬判决结果存入输出缓存模块;该方法结合并行译码与滑动窗译码的优点,大幅提高了译码运行速度,具有较好的译码性能。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-15

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):H03M13/29 申请日:20140320

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本发明涉及一种基于并行与加窗结构的Turbo码高速译码实现方法, 属于卫星移动通信系统技术领域。

背景技术

在卫星移动通信系统中,接收机收到的信号常受到衰落信道和干扰噪 声等影响。对此,卫星移动通信系统常采用具有高信道编码增益的差错控 制码Turbo或LDPC(低密度奇偶校验码)码来提高信息传输的可靠性, 将误码率降低并逼近香农极限。Turbo码的优势在于,其短码码字在低信噪 比条件下具有更好的误码性能,更适于突发传输或实时通信应用中。目前, Turbo码已被作为DVB-RCS(数字视频广播-卫星回传信道)、CCSDS(空 间数据系统资讯委员会)等卫星移动通信系统和深空通信系统的推荐信道 编码方案之一。同时,Turbo码也在地面移动通信系统如3GPP(第3代合 作伙伴计划)标准组织的LTE(长期演进)系统和WiMax等系统中得到广 泛应用。

比较这几种系统采用的Turbo码,可以发现3GPP TS212标准所定义 的码字采用了最大无竞争交织器,可以提供更加灵活的并行阶数选择,更 适用于宽带通信系统中高速编译码应用。所以,这里以母码编码效率为1/3 的Turbo码为例,生成多项式表示为

G(D)=[1,g1(D)g0(D)],

g0(D)=1+D2+D3,g1(D)=1+D+D3.

也可表示为八进制(15,13),该编码器的约束长度为v=4,其结构包含2 个8状态子编码器、1个Turbo码内交织器。输入长度为K的信息ck,编 码输出长度为N=3K的码字,包含信息位uk和校验位两部分。该码字在 信息比特编码之后,添加尾比特使编码器回到初始状态0,经过不同删余方 案可得到更多更高编码效率的Turbo码字。

相对于编码器,译码器的实现结构要复杂得多,也是宽带卫星通信接 收机的设计难点。采用迭代译码的思想是Turbo码的一个重要特点,为了 实现迭代译码过程中在分量译码器之间交换软信息,Turbo码的分量译码必 须采用SISO(软输入软输出)算法。其中,MAP(最大后验概率)类算法 相比SOVA(软输出维特比)算法类性能要好,而且降低复杂度的MAP类 算法较易于硬件实现,得到了广泛的应用。其中,Max-Log-MAP算法的实 现复杂度最低。常用的MAP译码器结构如下图所示,其中,表示分量编 码器在k时刻的输出的信息位uk,ys、y1p、y2p表示接收机解调之后、译码 之前的信息位和2个分量译码器各自的校验位信息,并记Y={ys、y1p、y2p}。 如图1所示为常用的MAP译码器结构图。

在迭代过程中,分量译码器1的输出L1(uk|Y)可表示为系统信息、先验 信息和外部信息:L1a(uk)、L1e(uk)

L1(uk|Y)=L(xks)+L1a(uk)+L1e(uk)

对分量译码器2,外部信息L2e(uk)表示为输出L2(uk|Y)减去系统信息 先验信息L2a(uk):

L2e(uk)=L2(uk|Y)-Lπ(xks)-L2a(uk)

式中,π表示交织处理:

L2a(uk)=L1e(uπ(k))、L1a(uπ(k))=L2e(uk)

记当前状态为s,前一状态为s',则Log-MAP译码算法的对数似然信 息为

L(uk)=1nΣ(s,s),u=1αk-1(s)γk(s,s)βk(s)Σ(s,s),u=0αk-1(s)γk(s,s)βk(s),s,s{0,1,....,7}

其中,定义

1)前向状态度量,αk(s)=Σsαk-1(s)γk(s,s)

2)后向状态度量,βk-1(s)=Σsβk(s)γk(s,s)

3)分支度量,γk(s',s)=p(uk)p(yk|s',s)

定义操作max*x(f(xi))=max[f(xi)]+1nΣi=1kef(xi)-max[f(xi)],若采用近似 max*x(f(xi))max[f(xi)],则得到Max-Log-MAP译码算法

1)Ak(s)=1nΣsak-1(s)γk(s,s)=max*s[Ak-1(s)+M(s,s)]

2)Bk-1(s)=1nΣsβk(s)γk(s,s)=max*s[Bk(s)+Mk(s,s)]

3)Mk(s,s)=1nγk(s,s)=1np(uk)+1np(yk|xk)

得到对数似然信息

L(uk)=max*s,s,uk=1[Ak-1(s)+M(s,s)+Bk(s)]-max*s,s,uk=0[Ak-1(s)+M(s,s)+Bk(s)]

由于MAP类算法在译码过程中需要计算后向状态度量值,因此只有接 收完整个序列后才能开始译码。这样,在数据序列比较长的情况下,MAP 类算法的译码时延就比较大,必须通过修改算法来降低译码时延。

发明内容

本发明的目的在于克服现有技术的上述不足,提供一种基于并行与加 窗结构的Turbo码高速译码实现方法,该方法结合并行译码与滑动窗译码 的优点,大幅提高了译码运行速度,具有较好的译码性能,实测性能比理 论性能相差小于0.15dB;同时采用实时计算的方式,节约了存储资源。

本发明的上述目的主要是通过如下技术方案予以实现的:

一种基于并行与加窗结构的Turbo码高速译码实现方法,通过Turbo 码高速译码器实现,所述Turbo码高速译码器包括第一输入缓存模块、第 二输入缓存模块、第一外信息存储模块RAM3、第二外信息存储模块RAM4、 交织/解交织模块、SISO译码模块、硬判决模块和输出缓存模块RAM5, 其中第一输入缓存模块包括信息位存储单元RAM1和校验位存储单元 RAM2,第二输入缓存模块包括信息位存储单元RAM1’和校验位存储单元 RAM2’,SISO译码模块包括N个SISO译码单元,具体实现过程如下:

步骤(一)、第一输入缓存模块和第二输入缓存模块以乒乓操作方式连 续接收外部输入的数据帧,所述数据帧为待译码数据yk,将待译码数据yk中 的信息位ys分为等长的N段存入信息位存储单元RAM1或RAM1’,将第一 校验位y1p、第二校验位y2p分别均分为等长的N段存入校验位存储单元 RAM2或RAM2’;

步骤(二)、交织/解交织模块产生顺序地址和交织地址,N个SISO译 码单元根据所述顺序地址分别读取信息位存储单元RAM1或RAM1’中的分 为N段的信息位ys和校验位存储单元RAM2或RAM2’中的分为N段的第 一校验位y1p,进行第一次迭代的第一分量译码,得到对数似然比信息LLR 和分为等长的N段的外信息L1e,将所述外信息L1e按照所述顺序地址存入第 二外信息存储模块RAM4;N个SISO译码单元根据所述交织地址分别从第 二外信息存储模块RAM4读取分为等长的N段的外信息L1e,同时根据所述 交织地址读取信息位存储单元RAM1或RAM1’中的分为N段的信息位ys, 根据所述顺序地址读取校验位存储单元RAM2或RAM2’中的分为N段的 第二校验位y2p,进行第一次迭代的第二分量译码,得到对数似然比信息LLR 和分为等长的N段的外信息L2e,将外信息L2e根据所述交织地址存入第一外 信息存储模块RAM3;

步骤(三)、N个SISO译码单元根据所述顺序地址分别读取信息位存 储单元RAM1或RAM1’中的分为N段的信息位ys和校验位存储单元RAM2 或RAM2’中的分为N段的第一校验位y1p,同时读取第一外信息存储模块 RAM3中的外信息L2e,进行第二次迭代的第一分量译码,得到对数似然比 信息LLR和分为等长的N段的外信息L'1e,将外信息L'1e按照所述顺序地址 存入第二外信息存储模块RAM4;N个SISO译码单元根据所述交织地址从 第二外信息存储模块RAM4读取分为等长的N段的外信息L'1e,根据所述 交织地址读取信息位存储单元RAM1或RAM1’中的分为N段的信息位ys, 根据所述顺序地址读取校验位存储单元RAM2或RAM2’中的分为N段的 第二校验位y2p,进行第二次迭代的第二分量译码,得到对数似然比信息LLR 和分为等长的N段的外信息L'2e,将外信息L'2e按照所述交织地址存入第一 外信息存储模块RAM3;

步骤(四)、依次类推,重复步骤(三),完成N个SISO译码单元的 第M次迭代的第一分量译码与第二分量译码,迭代终止,所述M为设定的 迭代次数;

步骤(五)、对第M次迭代的第二分量译码得到的对数似然比信息LLR 在硬判决模块中进行解交织处理,并将解交织处理结果进行硬判决,最后 将硬判决结果存入输出缓存模块RAM5中;

其中N、M均为正整数,且N≥4,M≥6。

在上述基于并行与加窗结构的Turbo码高速译码实现方法中,步骤(一) 中信息位ys分为等长的N段,第一校验位y1p、第二校验位y2p均分为等长 的N段,具体表示为:定义K为信息位长度,用比特数表示,m=K/N为每 段的长度,r为每段头或尾添加的重叠比特数,一帧数据被均匀分成N段, 送入N个SISO译码单元的第1段长度为m+r;中间段长度为m+2r;最后 一段长度m+r+tail_bit,tail_bit表示信息位ys、第一校验位y1p、第二校验位 y2p的尾比特。

在上述基于并行与加窗结构的Turbo码高速译码实现方法中,步骤(一) 中分为等长的N段的信息位ys表示如下:

Bs[1,…,N]={{y0,y1,...,yK/N-1},...,{y(N-1)K/N,y(N-1)K/N+1,...,yK-1}};

分为等长的N段的第一校验位y1p、第二校验位y2p分别表示如下:

B1p[1,…,N]={{yK,yK+1,...,y(N+1)K/N-1},...,{y(2N-1)K/N,y(2N-1)K/N+1,...,y2K-1}};

B2p[1,...,N]={{y2K,y2K+1,...,y(2N+1)K/N-1},...,{y(3N-1)K/N,y(3N-1)K/N+1,...,y3K-1}};

将重新组合的数据{Bs[1](k),Bs[2](k),....,Bs[N](k)},k∈[0,K/N-1]按顺 序存入信息位存储单元RAM1或RAM1’;将重新组合的数据{B1p[1](k), B1p[2](k),….,B1p[N](k)},k∈[0,K/N-1]按顺序存入校验位存储单元RAM2 或RAM2’中的上半部分;将重新组合的数据{B2p[1](k),B2p[2](k),...., B2p[N](k)},k∈[0,K/N-1]按顺序存入校验位存储单元RAM2中的下半部分, 其中,K为信息位长度。

在上述基于并行与加窗结构的Turbo码高速译码实现方法中,N个 SISO译码单元内部均采用滑动窗译码流程,进行每次迭代的第一分量译码 和第二分量译码的实现过程如下,其中每个SISO译码单元包括LIFO存储 器RAM6和RAM7:

步骤(一)、在第1个滑动窗时间内,计算当前数据段最后一个滑动窗 前向状态度量α,作为下一数据段第一个滑动窗前向状态度量α的初始值; 计算当前数据段第一个滑动窗后向状态度量β,作为上一数据段最后一个滑 动窗后向状态度量β的初始值;

步骤(二)、在第2个滑动窗时间内,把第一滑动窗中的信息位ys、校 验位yp、先验信息La存入深度为1个滑动窗长度SW的LIFO存储器RAM6 中;计算第1个滑动内数据的前向状态度量α,存储到深度为1个滑动窗 长度SW的LIFO存储器RAM7;计算第2个滑动窗的后向状态度量β,作 为第1个滑动窗后向状态度量β值的有效初始状态;

步骤(三)、在第3个滑动窗时间内,计算第一个滑动窗的后向状态度 量有效β值,同时从LIFO存储器RAM6中读取缓存的信息位ys、校验位yp、 先验信息La,从LIFO存储器RAM7中读取前向状态度量α,一起计算对数 似然比LLR和外信息Le

步骤(四)、依次类推,重复步骤(二)、(三),直到完成SISO译码单 元内最后一个滑动窗译码。

在上述基于并行与加窗结构的Turbo码高速译码实现方法中,N个 SISO译码单元内部可以同时进行前向状态度量α和后向状态度量β值的计 算,进一步降低译码时延。

在上述基于并行与加窗结构的Turbo码高速译码实现方法中,还包括 逻辑控制模块,用于对Turbo码高速译码器所有模块进行控制,包括第一、 第二输入缓存模块中待译码数据的分段存储的读写控制、乒乓操作的片选 控制;第一、第二外信息存储模块数据使能、地址控制;SISO译码单元中 滑动窗译码的启动、终止,整个译码迭代控制;交织/解交织模块中顺序地 址、交织地址的选择控制;硬判决模块的使能控制;输出缓存模块中译码 结果的存储和分段输出控制。

本发明与现有技术相比具有如下有益效果:

(1)、本发明创新设计了一种基于并行与加窗结构的Turbo码高速译码 实现方法,该方法所设计的译码结构结合并行译码与滑动窗译码的优点, 大幅提高了译码运行速度,在译码时钟110MHz时,有效信息大于36Mbps;

(2)、本发明Turbo码高速译码实现方法中系统信息位、校验位、外信 息存储过程中,按照合并存储方式,减少了RAM个数,便于译码控制;

(3)、本发明Turbo码高速译码系统中存储单元均采用双口RAM形式, SISO译码单元可以同时进行前向状态度量α和后向状态度量训练β值的计 算,进一步减小了译码时延;

(4)、本发明所设计的并行加窗译码器采用了优化的Max-Log-MAP算 法,具有较好的译码性能,实测性能比理论性能相差小于0.15dB;

(5)、本发明仿真并寻找了最佳的数据位宽,一帧数据被均匀分成N段, 并对每段的长度进行优化设计,在实现资源消耗与译码性能之间有较好的 折中。

附图说明

图1为常用的MAP译码器结构图;

图2为本发明Turbo码高速译码方法所采用的译码器结构框图;

图3为本发明SISO译码单元结构示意图;

图4为本发明SISO译码单元译码工作流程图;

图5为本发明Turbo码理论与实测性能曲线,r=0.4333、0.4888、0.5444。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细的描述:

本发明结合分块并行译码和滑动窗译码的优点,设计一种基于N个 SISO译码单元的并行Turbo码译码器,并在SISO内部采用固定长度的滑 动窗译码流程,以进一步降低译码延时并节约存储。

如图2所示为本发明Turbo码高速译码方法所采用的译码器结构框图, 本发明Turbo码高速译码器包括第一输入缓存模块、第二输入缓存模块、 第一外信息存储模块RAM3、第二外信息存储模块RAM4、交织/解交织模 块、逻辑控制模块、SISO译码模块、硬判决模块和输出缓存模块RAM5, 其中第一输入缓存模块包括信息位存储单元RAM1和校验位存储单元 RAM2,第二输入缓存模块包括信息位存储单元RAM1’和校验位存储单元 RAM2’,SISO译码模块包括N个SISO译码单元。各模块的功能如下:

(1)第一输入缓存模块/第二输入缓存模块:存储整个待译码数据yk,将 信息位ys存入信息位存储单元RAM1/RAM1’,将第一校验位y1p、第二校验 位y2p存入校验位存储单元RAM2/RAM2’。同时,为了实现帧间数据连续处 理,需要两块相同的存储空间对连续的数据帧进行乒乓操作。

(2)第一、二外信息存储模块:存储SISO译码模块得到的外信息Le到存储单元RAM3或RAM4中,作为下一次SISO译码的先验信息, RAM3、RAM4分别提供第1分量译码、第2分量译码所需的先验信息;

(3)SISO译码模块:作为Turbo译码器的核心模块,主要完成译码算 法的实现,包括前向状态度量α、后向状态度量β的计算,译码器的输出为 对数似然比信息LLR和外信息Le。本发明所设计的SISO译码单元有N个: SISO_1、SISO_2、…、SISO_N;

(4)交织/解交织模块:提供读/写系统位、校验位和外信息的地址信号, 地址包括顺序地址和交织地址,第1分量译码时提供顺序地址,第2分量 译码时提供交织地址,其中,按照交织地址读出的信息需要进行相应的移 位;

(5)输出缓存模块:输出缓存模块RAM5用于存储译码结果并输出。

(6)逻辑控制模块:产生整个译码器的控制信号,用于对上述所有模块 进行控制,包括第一、第二输入缓存模块中待译码数据的分段存储的读写 控制、乒乓操作的片选控制;第一、第二外信息存储模块数据使能、地址 控制;SISO译码单元中滑动窗译码的启动、终止,整个译码迭代控制;交 织/解交织模块中顺序地址、交织地址的选择控制;硬判决模块的使能控制; 输出缓存模块中译码结果的存储和分段输出控制。

设一个有符号定点数据类型的比特数是nc位,第1位表示符号位,低p 位用来表示小数部分,高nc-p-1位用来表示整数部分,记作(nc,p)定点量化。 数据的位宽选择对性能和资源消耗有很大的影响,本发明通过分析和仿真 来寻找最佳的数据位宽,本发明中的数据位宽采用以下格式:

1)经过信道的信息位和校验位的定点格式为(6,2),

2)先验信息的定点格式为(8,2),

3)α和β的定点格式为(11,2),

4)对数似然比的定点格式为(12,2)。

Turbo码译码器中两个分量译码的计算在时间上是顺序完成的,分量译 码器1和分量译码器2之间各自需要对方的外信息作为先验信息,所以第1 分量译码器和第2分量译码器复用同一个分量SISO译码模块。

本发明基于并行与加窗结构的Turbo码高速译码实现方法具体包括如 下步骤:

步骤(一)、第一输入缓存模块和第二输入缓存模块以乒乓操作方式连 续接收外部输入的数据帧,所述数据帧为待译码数据yk,将待译码数据yk中 的信息位ys分为等长的N段存入信息位存储单元RAM1或RAM1’,将第一 校验位y1p、第二校验位y2p分别均分为等长的N段存入校验位存储单元 RAM2或RAM2’。

其中信息位ys分为等长的N段,第一校验位y1p、第二校验位y2p均分 为等长的N段,具体表示为:定义K为信息位长度(比特数),用比特数表 示,m=K/N为每段的长度,r为每段头(或尾)添加的重叠比特数。一般的, 每段与每段之间添加的重叠比特数为RSC编码器约束长度的5~8倍即可获 得较好的性能,为简化操作,选取固定的r=32bit,第一段的开始处和最后 一段的最后不需要添加重叠比特。一帧数据被均匀分成N段,送入N个 SISO译码单元的第1段长度为m+r;中间段长度为m+2r;最后一段长度 m+r+tail_bit,tail_bit表示信息位ys、第一校验位y1p、第二校验位y2p的尾 比特。

第一输入缓存模块接收完一帧数据yk,k∈[0,3K-1],将系统位信息ys和 校验位信息y1p、y2p分别划分,其中分为等长的N段的信息位ys表示如下:

Bs[1,…,N]={{y0,y1,...,yK/N-1},...,{y(N-1)K/N,y(N-1)K/N+1,...,yK-1}};

分为等长的N段的第一校验位y1p、第二校验位y2p分别表示如下:

B1p[1,…,N]={{yK,yK+1,...,y(N+1)K/N-1},...,{y(2N-1)K/N,y(2N-1)K/N+1,...,y2K-1}};

B2p[1,...,N]={{y2K,y2K+1,...,y(2N+1)K/N-1},...,{y(3N-1)K/N,y(3N-1)K/N+1,...,y3K-1}};

将重新组合的数据{Bs[1](k),Bs[2](k),….,Bs[N](k)},k∈[0,K/N-1]按顺 序存入信息位存储单元RAM1;将重新组合的数据{B1p[1](k),B1p[2](k),...., B1p[N](k)},k∈[0,K/N-1]按顺序存入校验位存储单元RAM2中的上半部分; 将重新组合的数据{B2p[1](k),B2p[2](k),....,B2p[N](k)},k∈[0,K/N-1]按顺序 存入校验位存储单元RAM2中的下半部分,并初始化外信息存储单元 RAM3为0。SISO译码单元开始进行一帧数据的译码,同时第二输入缓存 模块接收下一帧数据并对其存储缓冲,K为信息位长度。

步骤(二)、交织/解交织模块产生顺序地址和交织地址,N个SISO译 码单元根据所述顺序地址分别读取信息位存储单元RAM1中的分为N段的 信息位ys和校验位存储单元RAM2中的分为N段的第一校验位y1p,进行第 一次迭代的第一分量译码,得到对数似然比信息LLR和分为等长的N段的 外信息L1e,将所述外信息L1e按照所述顺序地址存入第二外信息存储模块 RAM4。

如图3所示为本发明SISO译码单元结构示意图;如图4所示为本发 明SISO译码单元译码工作流程图,本发明N个SISO译码单元内部均采 用滑动窗译码流程,每个SISO译码单元包括LIFO存储器RAM6和RAM7, 第一次迭代的第一分量译码的具体方法如下:

(1)、在第1个滑动窗时间内,计算当前数据段最后一个滑动窗前向状 态度量α,作为下一数据段第一个滑动窗前向状态度量α的初始值;计算当 前数据段第一个滑动窗后向状态度量β,作为上一数据段最后一个滑动窗后 向状态度量β的初始值;

(2)、在第2个滑动窗时间内,把第一滑动窗中的信息位ys、校验位yp、 先验信息La存入深度为1个滑动窗长度SW的LIFO存储器RAM6中;计 算第1个滑动内数据的前向状态度量α,存储到深度为1个滑动窗长度SW 的LIFO存储器RAM7;计算第2个滑动窗的后向状态度量β2,作为第1 个滑动窗后向状态度量β1值的有效初始状态;

(3)、在第3个滑动窗时间内,计算第一个滑动窗的后向状态度量有效β1 值,同时从LIFO存储器RAM6中读取缓存的信息位ys、校验位yp、先验 信息L1a(首次迭代为0),从LIFO存储器RAM7中读取前向状态度量α, 一起计算对数似然比LLR和外信息L1e

(4)、依次类推,重复步骤(2)、(3),直到完成SISO译码单元内最后 一个滑动窗译码。

存储单元均采用双口RAM形式,所以SISO译码单元可以同时进行前 向状态度量α和后向状态度量训练β值的计算,进一步降低译码时延。

如图4所示的SISO译码单元工作流程图中,Cl步骤包括了后向状态 度量训练β2值的计算;C2步骤包括了前向状态度量α值的计算;C3步 骤包括后向状态度量有效β1值、对数似然比值LLR以及外信息值Le计算。

后向状态度量训练β2计算的最后临界值作为β1值计算的有效初始状 态,β1值计算出来后马上用来计算对数似然比LLR,所以均无需存储。

之后N个SISO译码单元根据所述交织地址分别从第二外信息存储模 块RAM4读取分为等长的N段的外信息L1e,同时根据所述交织地址读取信 息位存储单元RAM1中的分为N段的信息位ys,根据所述顺序地址读取校 验位存储单元RAM2中的分为N段的第二校验位y2p,进行第一次迭代的 第二分量译码,得到对数似然比信息LLR和分为等长的N段的外信息L2e, 将外信息L2e根据所述交织地址存入第一外信息存储模块RAM3。第一次迭 代的第二分量译码方法同第一分量译码方法。

为获得更好地译码性能,计算得到的外信息可以通过乘以一个加权因 子ω来优化Max-Log-MAP译码算法。本发明取ω=0.75,并通过移位加法 运算来实现,以避免使用乘法器资源。

步骤(三)、N个SISO译码单元根据所述顺序地址分别读取信息位存 储单元RAM1中的分为N段的信息位ys和校验位存储单元RAM2中的分为 N段的第一校验位y1p,同时读取第一外信息存储模块RAM3中的外信息 L2e,进行第二次迭代的第一分量译码,得到对数似然比信息LLR和分为等 长的N段的外信息L'1e,将外信息L'1e按照所述顺序地址存入第二外信息存 储模块RAM4;N个SISO译码单元根据所述交织地址从第二外信息存储模 块RAM4读取分为等长的N段的外信息L'1e,根据所述交织地址读取信息 位存储单元RAM1中的分为N段的信息位ys,根据所述顺序地址读取校验 位存储单元RAM2中的分为N段的第二校验位y2p,进行第二次迭代的第 二分量译码,得到对数似然比信息LLR和分为等长的N段的外信息L'2e, 将外信息L'2e按照所述交织地址存入第一外信息存储模块RAM3。第二次迭 代的译码方法同步骤(二)。

步骤(四)、依次类推,重复步骤(三),完成N个SISO译码单元的 第M次迭代的第一分量译码与第二分量译码,迭代终止,所述M为设定的 迭代次数;

步骤(五)、对第M次迭代的第二分量译码得到的对数似然比信息LLR 在硬判决模块中进行解交织处理,并将解交织处理结果进行硬判决,最后 将硬判决结果存入输出缓存模块RAM5中;SISO译码单元等待或开始进 行下一帧的译码。

实施例

本发明针对3GPP TS212标准所定义的一组K={1248、1408、1568}, L=2880的码字,设计一种基于N(N=8)个SISO译码单元的并行Turbo 码译码器。

输入缓存单元接收完一帧数据yk,k∈[0,3K-1],将系统位信息ys和校 验位信息y1p、y2p分别划分为8个等长的段:Bs[1,…,8],B1p[1,…,8], B2p[1,…,8],将重新组合的数据{Bs[1](k),Bs[2](k),….,Bs[8](k)}, k∈[0,K/8-1]按顺序存入信息位存储单元RAM1;将重新组合的数据 {B1p[1](k),B1p[2](k),....,B1p[8](k)},k∈[0,K/8-1]按顺序存入校验位存储单 元RAM2中的上半部分;将重新组合的数据{B2p[1](k),B2p[2](k),...., B2p[8](k)},k∈[0,K/8-1]按顺序存入校验位存储单元RAM2中的下半部分。 并初始化外信息存储单元RAM3为0,译码单元开始进行一帧数据的译码, 同时接收下一帧数据对其存储缓冲。

初始化状态度量参数。对所有子段,除第1个子段首状态和最后子段 的尾状态已知外,其它子段首尾的状态都是未知的。对于已知子段α(或β) 8个状态s∈{0,1,2,...,7}的初始值,令已知状态为0,未知状态为-256;对未 知子段α(或β)8个状态的初始值,采用重叠比特递推的方式获得,重叠 比特α(或β)状态的初始值设为0,即8个状态是等概率出现的。

然后,开始对所有子段并行地进行第1次迭代译码。

对第1分量译码器译码。从RAM1、RAM2、RAM3中按顺序分别读取 信息位ys、第1校验位y1p、先验信息L1a(即外信息L2e,首次迭代为0)送 入SISO译码单元做第1分量译码,译码后得到的外信息L1e按顺序存入外 信息存储单元RAM4中,作为第2分量译码器的先验信息。

对第2分量译码器译码。首先,对状态度量参数进行初始化。然后, 从RAM1、RAM4中按交织顺序分别读取信息位ys、先验信息L2a(即外信 息L1e),并和RAM2中的第2校验位y2p一起送入SISO译码单元做第2分 量译码,译码后得到的外信息L2e按解交织顺序存入外信息存储单元RAM3, 作为第1分量译码器的先验信息。

反复迭代直到迭代次数达到预先设定的最大迭代次数M。其中存储单 元均采用双口RAM形式,所以SISO译码模块可以同时进行前向状态度量 α和后向状态度量训练β值的计算。

迭代终止、输出缓存。在完成预定的迭代次数M之后,对第2分量译 码后得到的已经经过解交织的对数似然比进行硬判决,并将硬判决结果存 入输出缓存RAM5中,译码单元等待或开始进行下一帧的译码。

采用Xilinx XC6VLX240T芯片对所设计的软件程序进行实现,所设计 译码器工作时钟可达110MHz,有效信息速率可达36Mbps;消耗资源为占 用slice数目为6024,是此芯片37680个slice的16%,占用8个36k RAM, 是此芯片资源的2%。

如图5所示给出了本发明FPGA实现的Turbo码译码器性能曲线,并 给出理论曲线做比较,信号采用BPSK调制,信息为长度分别为K={1248、 1408、1568},编码后经过速率匹配模块Turbo码长为L=2880。所有仿真 结果均以信噪比(Eb/N0)与误码率(BER)的关系曲线形式给出。从仿真曲 线可以看出,FPGA实现的Turbo码译码器与理论曲线在8次迭代时,性 能损失不超过0.15dB。

以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并 不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知 技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号