• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于FPGA的卷积码的编/译码器设计

基于FPGA的卷积码的编/译码器设计

录入:edatop.com     点击:

4 译码器设计中改进和优化算法

本文采取状态路径和判决比特同时存储,在表示状态信息的比特前加上1位判决比特来表示相应状态的输入支路的译码信息,因此,译码器在回溯时就可直接输出判决比特作为译码器的输出,降低了译码器的判决难度,节省了存储回溯路径所需要的内存,从而降低了译码器结构复杂性。

本设计中译码器在计算所有状态的路径量度的同时进行路径存储,从而大大提高了译码速度。路径量度是指每个状态的2条输入支路和2条输出支路,路径存储指的是状态存储以及相应的译码判决比特存储。该结构的译码器对每一个状态都具有独立的处理单元,彼此互补影响,并行工作,提高了译码速度。对于(2,1,3)卷积码,一个时钟需要进行2x2x2m=32次路径量度计算和2m=8次4比特存储操作。充分发挥了FPGA拥有大量LCS和RAM的优势。

在网格图中,随着状态的改变,每个状态的输出支路的路径量度逐渐增加,造成存储资源压力增大,设计中在每次进行路径量度计算时,将该状态的量度值与上次剩余路径量度的最小值做差后进行保存,以达到减小存储器空间的需求。对于编码效率为1/2的卷积码,以上差值最大不超过2m,因此,路径量度的量化宽的为1b(2m)。对于(2,1,3)卷积码,存储路径量度的寄存器位宽为lb(2×3)=3。

5 验证仿真

本设计采用Xilinx公司的ISE 9.2i为开发平台,选用的是Xilinx Virtex 4 FPGA为开发芯片用于设计和验证所提出的卷积编码和维特比(Veterbi)译码算法。

5.1 卷积编码器

如图6所示,clk为时钟信号,reset为复位信号,din为输入信号,out_1,out_2为编码后得到的并行码字序列。可看出:输入码元为"101010111011 000100011011111111100……"经过编码得到编码结果为"1101000100010010101000101011001101110011101001010101010 10101011"结果正确。

5.2 Verterbi译码器

Vertrbi译码器仿真波形如图7所示,rev[1:0]为输入译码器的接收序列,clk为时钟信号,rst为复位信号,enable为使能信号,h_out为译码器输出序列。可看出:译码输出码元为"10101011101100010001101111111l100……"。结果正确。

6 结束语

通过对卷积编码原理与维特比译码算法的深入研究,在理解传统实现方法的基础上提出适合FPGA存储器和独立运算单元丰富的特点的优化算法,有效地提高了译码器的处理速度,简化了译码器的复杂程度。

来源:21ic

上一篇:一种基于级联混沌系统的 像加密算法
下一篇:移动网间号码携带集中数据库系统接口协议设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图