siso

更新时间:2022-11-25 06:38:44 阅读: 评论:0


2022年11月25日发(作者:attachment是什么意思)

基于SW-Log-MAP算法的Turbo-SISO译码器的设计与实

蔺吉顺;刘东华

【摘要】Turbo码通过软输入、软输出(SISO)的迭代译码达到了接近Shannon

理论极限的性能,为了改进其译码延时较大的缺点,设计了一种可单芯片实现的、支

持Turbo译码的滑动窗Log-MAP译码器(SW-MAP),并在XilinxVeritex-4FPGA

上用VerilogHDL语言进行了仿真.结果表明,使用该译码器对CCSDS标准Turbo

码译码,可以达到10Mbit·s-1的数据处理速率,且与软件仿真相比性能损失在0.1

dB以内.

【期刊名称】《黑龙江大学自然科学学报》

【年(卷),期】2014(031)005

【总页数】6页(P691-696)

【关键词】Turbo码;SW-Log-MAP;FPGA;SISO迭代译码

【作者】蔺吉顺;刘东华

【作者单位】内蒙古民族大学机械工程学院,通辽028000;内蒙古民族大学机械工

程学院,通辽028000

【正文语种】中文

【中图分类】TN911.22

0引言

Turbo码是1993年由法国不列颠通信大学的两位教授Berrou和Glavieux提出

的[1],由于Turbo码将Shannon预想的具有随机特性的码设计付予实现,因

此取得了接近香农限的优异性能[2-3]。Turbo码一般由两个分量码经由交织

器并行级联构成。译码时通过分量译码器之间外部信息的交换提高性能,通常分量

译码器采用基于最大后验概率及其简化算法的软输入,软输出译码,复杂性较高。

随着可编程逻辑芯片的发展,在单片FPGA芯片上实现Turbo迭代译码器成为可

能。

本文设计了一种基于滑动窗对数最大后验概率译码算法的软输入、软输出分量译码

器,该译码器已经成功应用于卫星通信系统中。

1Turbo码的编译码原理

1.1编码原理[4-6]

通常Turbo码编码采用两个递归系统卷积码(RSC)通过交织器并行级联,其结构如

图1所示。在编码过程中,两个分量编码的输入信息序列相同的、长度为N的信

息序列{uk},在送入分量编码器1进行编码的同时作为系统输出{}直接送至复接器,

同时{uk}经过交织器I后的交织序列{un}送入分量编码器2。其中,n=I(k),0≤n,

k≤N-1。I(·)为交织映射函数,N为交织长度,即信息序列长度。两个分量编码器

输出的校验序列分别为{}和{}。为提高编码率,可以将分量编码器输出的校验序列

经过删余后(得到{})再与系统输出{}一起经过并串变换构成码字序列{ck}。CCSDS

标准建议的Turbo码的分量码结构如图2所示。

图1Turbo编码器Fig.1Turboencoder

图2CCSDS建议的Turbo分量编码器Fig.2CCSDSrecommended

componentencoder

1.2译码器

Turbo码迭代译码器的结构如图3所示。译码器主要由与分量编码器对应的分量

译码器和交织器、解交织器组成。译码时接收序列Y在送入译码器之前首先经过

并串变换,分成系统序列{和校验序列{}作为分量译码器输入。DCTC对于第k个被

译比特,D-CTC译码器中每个分量译码器的输入都包括系统信息或、校验信息{}

和先验信息(uk)。分量译码器的输入先验信息(uk)是另一个分量译码器生成的外部

信息(uk)经过解交织/交织后的值,译码输出为对数似然比Λi(uk),上述上标i=1,

2,I(k)表示交织映射。

图3Turbo迭代译码器Fig.3Turboiterativedecoder

在迭代过程中,分量译码器1的输出Λ(1)(uk)可表示为系统信息、先验信息(uk)

和外部信息(uk)之和的形式,其中(uk)=(uI(k))。在第一次迭代时(uk)=0。同样,

对于分量译码器2,其外部信息(uI(k))为输出对数似然比Λ(2)(uI(k))减去系统信息

和先验信息(uI(k))的结果,其中(uI(k))=(uk)。外部信息(uI(k))解交织后反馈为分量

译码器1的先验输入,完成一轮迭代译码。重复进行上述信息交换过程即实现迭

代译码。在迭代译码完成后,以分量译码器2的输出对数似然比经过解交织后硬

判决输出译码结果。由于分量译码器的输入输出均采用软信息数据,因此分量译码

器也称为SISO译码器。

2SW-Log-MAP译码算法

2.1最大后验概率译码(MAP)原理

MAP算法的基本思想是根据最大似然译码原理,计算在接收采样条件下不同发送

符号的概率p(uk=u|Y)并将接收采样判决为概率值最大的信息符号,即

在算法描述中,用e)和(e)分别表示卷积码网格图中k时刻到k+1时刻的分支e的

起始状态和终止状态,k时刻输入信息比特和起始状态唯一确定了输出码字、结束

状态以及网格图中的分支,其中sEk(e)=(e)。k时刻译码输出信息比特概率P(u)为

k

对于递归系统卷积码编码器,当k时刻状态sk已知时,k时刻以后发生的事件与

之前的输入无关,等效于一个Markov源。因此,式(1)中联合条件概率αk(s)和

βk(s)可分别通过前向和后向递推计算得到

分支度量γk(e)可以用Baysian公式计算

其中,第一项为网格图中分支(边)的状态转移概率,由信息比特的先验信息La(uk)

决定;第二项P(Xk|e)根据Xk是否与边e有关而取值为1或0;最后一项根据信道模

型的不同而有所区别:对于加性高斯白噪声(AWGN)信道上采用BPSK调制的传输

系统,P(Rk|Xk)为均值为(2uk-1)、方差为N0/2的高斯分布概率密度函数,其中

ES为信号功率,N0为高斯白噪声的双边功率谱密度。

在MAP算法中涉及大量运算,考虑到对数化不改变函数的单调性,因此可以将

MAP算法中的αk(s)、βk(s)和γk(s)计算过程对数化,即得到Log-MAP算法。

2.2SW-Log-MAP译码算法[7-8]

2.2.1算法描述

MAP算法和Log-MAP的译码延时较大,不适合工程应用。SW-Log-MAP算法

的基本思想是将数据帧分成多个数据块,然后分别对每个数据块进行译码。其思路

是在划分数据块时使相邻数据块的头尾有一部分比特重复,然后通过修正MAP算

法使译码操作在某个固定的延时D之后进行符号判决,这就是滑动窗Log-

MAP(SW-MAP)算法。SW-MAP算法推导的假设条件与推导MAP算法时的假设

条件相同,在MAP算法基础上修改βk(s)的计算过程:

1.初始化后向递推计算联合条件概率(k>D):βk(sj)=αk(sj),sj2.从k-1时刻到

k-D时刻后向递推计算联合条件概率

且βk-l(s)=,s。

其他变量的计算和判决过程与MAP算法和Log-MAP算法相同。对上述计算过程

对数化,即得到SWLog-MAP算法。

2.2.2算法分析

对于SW-Log-MAP算法,由于数据块编码结束时网格图的状态取的是估计值,

因此数据块结束之前的一部分被译比特(K个比特)的似然值与已知数据帧结束状态

时得到的似然值存在误差,随着迭代次数的增加,似然值越来越接近最优似然值。

若记Λknown(u)为从已知状态开始计算βk(s)的条件下译码得到的软输出,

Λunknown(u)为从未知状态开始计βk(s)的条件下译码得到的软输出,则两种情况

下软输出误差为

显然,第一个被译比特对应的Λunknown(u)和Λknown(u)之间存在一定的差距。

随着译码的进行,被译比特对应的Λunknown(u)逐渐接近Λknown(u),从而判

决结果出现差异的可能性也越来越小。类似地,第一个被译比特相应的ε值应该比

较大,接下来的被译比特对应的ε值在不断地减小。一般取重复译码比特数K为

编码记忆长度v的10倍左右即可。这样可以保证ε<2%。

3SW-Log-MAP译码器的FPGA设计与实现

3.1双滑动重叠窗设计

用于Turbo码迭代译码的SISO分量译码器采用SW-Log-MAP算法及模块化设

计思想,主要完成前述αk(s)、βk(s)、γk(e)、Λ(uk)和Le(uk)的计算,并保证时序

对齐、数据处理速率和正确性。其中设计的关键是βk(s)的计算,采用双滑动重叠

窗技术实现,窗口划分如图4所示。

图4双滑动重叠窗示意图Fig.4Schematicofdualslidingoverlapping

windows

设滑动窗口宽度为W,窗口重叠(收尾均重叠)宽度为K,将数据帧根据设置的W

和K值按顺序划分成奇数窗和偶数窗,窗口的宽度和重叠宽度均相同。考虑到译

码器的通用性,W和K的值都是在一定范围内可设置的,分成的窗口数为(N-

K)/(W-K),但W-K不一定能整除N-K,因此考虑对最后一个窗口的数据(结尾

窗)进行特殊处理。译码过程中,使用两个相同的模块分别处理奇数窗和偶数窗的

数据,结尾窗的处理根据其与奇偶窗的位置关系调用处理模块,对于图4所示的

结尾窗,就用偶数窗处理模块进行处理。

3.2译码器结构设计

根据前面MAP算法描述中αk(s)、βk(s)、γk(e)、和Le(uk)的关系可知,在译码

时需要先计算γk(e),然后计算调用γk(e)的αk(s)和βk(s),得到αk(s)和βk(s)的

值后计算Λ(uk),最后计算得到Le(uk)。由于αk(s)和βk(s)分别通过前向递推和

后向递推得到,即使使用双滑动窗,对于卷积码网格图的同一个状态,也无法在同

一时刻得到αk(s)和βk(s)的值,因此需要设计数据缓存器。另外,Le(uk)的值也

需要缓存。根据上述分析,设计SW-Log-MAP译码器结构如图5所示。

SW-Log-MAP译码器的输入包括系统信息Msg、校验信息Parity、先验信息La

以及时钟、存储器读写地址和使能信号。译码时βk(s)值的计算是译码器实现的重

点,首先由数据控制单元对输入数据进行分窗并进行数据缓存,由信号控制分别读

取奇偶窗数据送入γ计算模块计算得到γk(e),然后由窗控制模块生成数据接口并

将数据送到相应的β计算模块。其中结尾窗数据由模块选择控制单元确定将数据

送到哪一个β计算模块。在分窗计算得到βk(s)值后,由β合成器通过倒序方式将

βk(s)值按照原始顺序存到缓存器,通过β输出控制模块送到LLR计算模块使用。

根据公式(3),β计算模块计算βk(s)时需要利用当前k时刻的分支度量值γk(e)和

后一时刻(事先缓存)计算得到的βk+1(s)来计算当前k时刻的βk(s),每个时刻k,

D-CTC分量码网格图中有8种状态,每个状态对应一个βk(s)值,在每个时刻k,

网格图上每个状态节点向前有4条边,对应输入两个编码比特的不同取值,将式

(3)的求和式展开并对数化后,每个βk(s)的计算可以通过加法器和加比选移

ACSO(Add-Compare-Select-Offt)实现,用加法器计算得到最后结果。

αk(s)值的计算也是通过递推方式实现的[9-10],根据公式(2)和(3)可知,也需

要先计算γk(e),α计算模块与β计算模块结构完全相同,仅仅是输入有所差别。

LLR计算模块计算k时刻被译系统比特的对数似然比,计算网格图中k-1时刻所

有通过不同输入分支进入k时刻所有状态的前向递推度量αk(s)、分支路径度量

γk(e)和后向递度量βk+1(s)之和并进行比较,其中的关键是数据对齐。最后,由

于LLR的计算与输入相比存在一定的延时,因此计算外部信息Le之前先将系统信

息和先验信息缓存,实现时序对齐,保证Le计算的正确性。最终,译码器输出译

码硬判决结果和外部信息,其中外部信息经过交织或解交织后送回译码器作为先验

信息用于下一轮SISO译码。

图5SW-Log-MAP译码器的硬件结构Fig.5Hardwareconfiguration

diagramofSW-Log-MAPdecoder

3.3仿真结果

对所设计的SW-Log-MAP译码器在ISE12.2环境下基于XilinxVeritex系列芯片

xc6vlx240tff1156-1上进行了仿真,仿真时序图如图6所示。

图6SISO分量译码器功能仿真结果Fig.6Functionsimulationresultsofthe

SISOcomponentdecoder

在图6中,en-data信号指示输入数据准备好,system-data、parity-data

和apori-data分别对应于译码器的输入系统数据、输入校验数据和输入先验信

息数据,译码输出为LLR和Le,对应的标记信号分别为Flag1和Flag2,高电平

有效。在图6的功能仿真中,系统时钟周期为14ns,滑动窗口宽度为64,译码

处理延时为116,故输入输出之间的译码延时为(64+116)×14ns=2.52ms,如

图6上半部分所示。而若不采用滑动窗技术,对于CCSDS建议的各种帧长,则译

码延时至少为(1784+116)×14ns=26.6ms,最大可达到(16384+116)×14

ns=231ms,可见采用滑动窗技术可以大大减小译码延时。图6下半部分给出的

是一帧译码开始输出数据时刻的仿真结果。

4性能仿真分析

应用所设计的SISOSW-Log-MAP译码器对CCSDS标准建议的Turbo码进行译

码,在数据速率为10Mbit·s-1时最多可以进行16次译码迭代。下面给出性能

仿真结果,其中帧长选择1784和7136两种,码率为1/2和1/3,译码迭代16

次。FPGA上实现的译码的参数设置为:输入数据位宽为6bit(包括1个符号位,3

个整数位,量化间隔为0.25);αk(s)、βk(s)和γk(e)计算时的数据位宽设置为9

bit(包括1个符号位,5个整数位,量化间隔为0.125)。信号模型采用加性高斯白

噪声信道(AWGN)仿真结果如图8所示。

图7误码率性能仿真结果Fig.7SimulationresultsoftheBERperformance

从仿真结果可以看出,FPGA上实现的译码性能与SW-Log-MAP算法(浮点运算)

软件仿真结果之间的译码性能损失均在0.1dB以内,在工程上是完全可行的。

5结论

Turbo码第一次在实践中证明了接近Shannon理论极限的存在,在宽带无线接入、

卫星通信及移动通信等领域都得到了广泛应用。本文设计的针对CCSDS标准建议

的Turbo码设计了SISOSW-Log-MAP译码器,能够在保持性能下降很小的情况

下大大减小译码延时,同时节省存储空间,通过在Xilinx公司的FPGA芯片上实

现和验证,达到了10Mbit·s-1以上的处理速度,有很好的参考意义和工程应用

价值。

参考文献

[1]ROBERTSONP,HOEHERP.Optimalandsub-optimalmaximuma

posteriorialgorithmsuitableforturbodecoding[J].EuropeanTranson

Telecomm,1997,8:119-125.

[2]梁福来.Turbo码译码算法及交织器的研究[D].河北:燕山大学,2013.

[3]丁昭洋.Turbo码的性能分析和应用研究[D].成都:四川大学,2005.

[4]喻文芳,周辉.Turbo码编译码原理及其性能分析[J].装备指挥技术学

院学报,2003,14(3):57-60.

[5]魏景心,王琳.Turbo码编译码原理与应用新进展[J].华北科技学院学

报,2007,4(1):58-61.

[6]宁成月.基于FPGA的Turbo码编译码器研究[D].长春:长春理工大学,

2012.

[7]FRANCISMJ.Astudyofturbodecodingwithoptimalandsub-

optimalmaximumaposteriorialgorithms[D].Waterloo:TheUniversity

ofWaterloo,1998.

[8]金小龙.基于SW-LOG-MAP算法的TURBO译码器算法研究和RTL实现

[D].成都:电子科技大学,2006.

[9]李涛护.CCSDS标准Turbo译码器硬件实现和性能仿真[D].西安:西安

电子科技大学,2005.

[10]张凯.CCSDS标准Turbo码译码器设计及实现[D].北京:北京邮电大

学,2012.

本文发布于:2022-11-25 06:38:44,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/16862.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:barack obama
下一篇:antidepressant
标签:siso
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图