您的位置 首页 数字

选用可编程逻辑器件的译码器优化完成计划

采用可编程逻辑器件的译码器优化实现方案-由于卷积码优良的性能,被广泛应用于深空通信、卫星通信和2G、3G移动通信中。卷积码有三种译码方法:门限译码、概率译码和Viterbi算法,其中Viterbi算法是一种基于网格图的最大似然译码算法,是卷积码的最佳译码方式,具有效率高、速度快等优点。从工程应用角度看,对Viterbi译码器的性能评价指标主要有译码速度、处理时延和资源占用等。本文通过对Viterbi译码算法及卷积码编码网格图特点的分析,提出一种在FPGA设计中,采用全并行结构、判决信息比特与路径信息向量同步存储以及路径度量最小量化的译码器优化实现方案。测试和试验结果表明,该方案与传统的译码算法相比,具有更高的速度、更低的时延和更简单的结构。

因为卷积码优秀的功用,被广泛运用于深空通讯、卫星通讯和2G、3G移动通讯中。卷积码有三种译码办法:门限译码、概率译码和Viterbi算法,其间Viterbi算法是一种依据网格图的最大似然译码算法,是卷积码的最佳译码办法,具有效率高、速度快等长处。从工程运用视点看,对Viterbi译码器的功用点评目标首要有译码速度、处理时延和资源占用等。本文经过对Viterbi译码算法及卷积码编码网格图特色的剖析,提出一种在FPGA规划中,选用全并行结构、判定信息比特与途径信息向量同步存储以及途径衡量最小量化的译码器优化完成计划。测验和实验成果表明,该计划与传统的译码算法比较,具有更高的速度、更低的时延和更简略的结构。

2 卷积编码网格图特色

图1所示为卷积编码网格图结构,图中每一状况有两条输入支路和两条输出支路。

选用可编程逻辑器件的译码器优化完成计划

2.1 输入支路的特色

恣意一个状况节点Si都有两条输入支路,且这两条输入支路对应的源节点分别为:

此外,i为偶数时,两条输入支路的输入信息都为‘1’;i为奇数时,两条输入支路的输入信息都为‘0’。

2.2 输出支路的特色

恣意一个状况节点Si都有两条输出支路,且两条输出支路对应的意图节点分别为:

此外,意图节点是Sj1的输出支路对应的输入信息都为‘0’;意图节点是Sj2的输出支路对应的输入信息都为‘1’。

3 Viterbi译码器的优化算法

3.1 判定信息比特与途径信息向量同步存储算法

由网格图的输入支路特色剖析可知,产生恣意一个状况节点Si的输入条件mi是确认的,即mi=‘1’,i为偶数;mi=‘0’,i为奇数。输入条件mi表明译码器终究需求输出的比特信息。此外,译码器所要找的留选途径是不同状况的组合。关于(2,1,6)卷积码而言,具有2m=26=64(m为编码存储)个不同状况,能够用6位比特向量来表明一切的状况。将mi作为最高位加在状况向量上,用7位比特向量一起表明每一状况和对应的输入支路的译码信息,这样在译码器回溯时就能够直接输出存储向量的高位作为译码器的输出。选用这种办法大大下降了回溯途径和译码器判定的难度,由此下降了译码器结构的复杂性。

3.2 全并行结构规划

全并行结构Viterbi译码器的特色是一切状况的途径衡量核算或途径存储一起进行。其间,途径衡量包含两条输出支路和两条输入支路的衡量,途径存储包含状况向量存储和译码比特信息存储。因而,在(2,1,6)卷积码的全并行译码器的FPGA规划中,一个时钟周期内需求完成2×n×2m=256次途径衡量运算和2m=64次7比特向量存储操作。

全并行结构对每一个状况都具有独立的处理单元,互不影响,一起作业,比起传统的串行结构,大大进步了译码速度。而且因为在FPGA中,有着海量的独立逻辑单元(LCs)和丰厚的分布式存储资源(RAM),全并行结构规划正好能够发挥FPGA的这一优势。

3.3 途径衡量的最小量化算法

跟着网格图的跋涉,每个状况输出支路的途径衡量会不断添加,衡量值所需量化位宽越来越大,导致存储资源的添加。为了下降途径衡量存储单元的巨细,节约存储资源,规划中选用了途径衡量的最小量化算法。在每次途径衡量运算时,将各状况的衡量值减去上一次各状况留选途径衡量值的最小值。即需求保存的途径衡量值仅仅各状况衡量与最小衡量的差值,然后抵达削减衡量值量化的位宽。

关于(2,1,m)卷积码,每次核算出的途径衡量最大值与最小值之差不超越2×m,所以,途径衡量的量化宽度为log2(2m)。关于(2,1,6)卷积码,存储途径衡量的寄存器位宽为log2(2×6)=4。

4 FPGA完成及验证

4.1 FPGA完成的全体结构

选用Altera公司的QuartusⅡ为开发工具,以EPlS25的FPGA为验证渠道,用于规划和验证本文提出的Viterbi优化译码算法,译码器全体规划结构如图2所示。译码器结构首要包含时钟单元、主控单元、全并行ACS单元、回溯单元及译码输出单元。

(1)时钟单元

用于把板级时钟经过锁相环分频取得译码器所需的作业时钟。

(2)主控单元

给出各种操控信号,操控其他各单元的作业时序,确保译码器各模块和谐作业。

(3)支路衡量与全并行ACS单元

由64个具有相同结构和功用的支路衡量与全并行ACS构成,用于核算和比较每条支路的衡量,选出并保存衡量值最小的途径供回溯单元运用,存储途径包含表明状况的6位信息向量和对应的译码信息比特mi。因为(2,1,6)卷积码的译码深度D=5(m+1)=35,为确保存储单元写操作与回溯单元读操作同步进行,将存储单元分为两个部分做流水线处理,因而存储单元巨细应有2×D×(m+1)×2m=31 360 b。

(4)回溯单元

用于在译码深度抵达时刻,依据各状况ACS单元选出的留选途径,判别衡量最小的留选途径,并从这条途径对应的状况开端向前寻觅,直到找完前面一切状况,一起把从存储单元中读出的译码信息比特mi送给译码输出单元。

(5)译码输出单元

将回溯单元送出的反序译码信息按正序输出,用RAM完成。即先将比特信息按次序写入RAM,待一段信息写完后再按反序读出。为了确保本段反序读操作与下一段次序写操作一起进行,将RAM分为两部分做流水线处理。每段信息流的长度为译码深度,因而流水线RAM的巨细为2×D=70 b。

4.2 规划验证

为了验证本文提出的Viterbi优化译码算法,编写了图3所示的验证框图。包含一个信源产生模块、一个卷积码编码模块、一个伪随机序列产生模块以及误码计算模块。在编码器输出中加上伪随机序列模仿的噪声构成有扰译码输入信息,用于验证译码器的纠错功用。

经过QuartusⅡ软件内嵌的signalTap及JTAG下载线在EPlS25的FPGA上的在线测验,得到时序图如图4所示。

图中,信号量BER是误码计算模块计算的误码数,在Viterbi译码才能范围内,其值一直为0,这就验证了译码器的译码功用。经过测验与比较功用目标得到以下成果:

(1)译码器速度

经过在FPGA开发板中的实践运转,译码器输出的比特速率可达90 Mb/s。这与QuartusⅡ供给的Viterbi译码器IP核的parallel结构适当,而比其hybrid结构的译码速度快十几倍。

(2)译码器时延

本计划的译码器时延巨细首要取决于译码深度D。(2,1,6)卷积码的译码深度为D=35,回溯单元处理时刻和D相同;一起,回溯前最小衡量的判别时刻为(m-1),所以从译码输入到译码输出的总延时为2×D+(m-1)=75,这比起选用QuartusⅡ供给的Viterbi译码器IP核(延时为170)缩短了一半以上。

(3)译码器资源

QuartusⅡ软件的资源剖析归纳陈述如图5所示,首要耗费的资源为LEs:2 339,占整个芯片逻辑资源的9%;RAM:31 430,占整个芯片RAM资源的2%。因而,本计划对资源的需求是很少的。这与QuartusⅡ供给的3.2版别的Viterbi译码器IP核适当,而比4.2版别的Viterbi节约1 000多个逻辑资源。

5 结 语

经过对Viterbi译码算法及卷积码编码网格图特色的深入剖析,提出一种选用全并行结构、判定信息比特与途径信息向量同步存储以及途径衡量最小量化算法的译码器优化完成计划。测验和实验成果表明,在不下降译码器功用的前提下,能进步译码速度、下降译码器的资源耗费和时延、简化译码器结构。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/86041.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部