基于FPGA的多速率卷积编码器的设计

FPGA/ASIC技术

204人已加入

描述

摘要:在L波段数字航空通信系统(L-DACS1 )中,不同类型的数据采用不同速率传输,为了降低信道的噪声和畸变与多普勒频移的影响,采用具有良好差错控制能力的多速率卷积编码进行信道纠错。通过利用Verilog HDL硬件描述语言完成其FPGA实现与验证,测试结果表明多速率卷积编码器可以实时地调整码率,高效稳定地进行差错控制,满足L-DACS1 高速传输仍保持稳定的要求,并且用于实际项目中。

0 引言

为了解决地-空的数据传输业务增长而带来的高通信速度要求和高宽带要求问题,国际民航组织(ICAO)要求民航通信从航空电报专用网络向新一代航空电网过渡。因此欧洲EUROCONTROL 提出了未来航空通信系统(FAC),即L 波段数字航空通信系统类型1和2(L-DACS1 和L-DACS2),利用L波段(960~1 164 MHz)构建新的地-空无线数据链路,提高数据传输速度,替代之前的窄带通信系统。

在L-DACS1 中,由于信道的噪声和畸变与多普勒频移的影响,会对传输的信息引起失真和信号判决错误,而且不同类型的数据需要采用不同的速率传输,因此需要使用多速率的信道编码来降低误码率。卷积编码是广泛使用的信道编码技术,具有一定克服突发错误的能力,可以降低信道的误码率,带来很高的编码增益。

因而多速率的卷积编码是目前L-DACS1 中重要的组成部分。

1 多速率卷积译码器原理

卷积码通常用(n,k,N)表示。其中k 表示输入编码器的数据位数;n 表示编码器输出的数据位数;N 为编码约束长度,R = k n是卷积码的码率。L-DACS1 协议中采用(2,1,7)结构的主题:卷积编码,其生成多项式为[177,133],使用三种码率分别是R=1/2,2/3,3/4。

L-DACS1 中使用的码率R=1/2的卷积编码器结构如图1所示。图1中,D1D2D3D4D5D6 表示编码器的状态索引;U 表示输入数据比特;X(1)X(2)表示输出数据比特。

FPGA

L-DACS1 基带信号处理中,为了实现更高的速率和多种不同的传输速率,需要在1/2码率卷积编码的基础上采用删余操作,来实现多码率的卷积编码功能。3/4码率的删余过程如图2 所示,2/3 码率删余过程如图3所示。

FPGA

FPGA

图2中,3/4码率的删余过程是每输入3 b数据,编码为6 b的数据,删除固定位置的2 b,最终产生码率为3/4的卷积码[8]。

图3 中,2/3 码率的删余过程是每输入2 b 数据,编码为4 b的数据,删除固定位置的1 b,最终产生码率为2/3的卷积码。

2 多速率卷积编码器的设计与实现

多速率卷积编码模块,根据主控单元输出的模式信号(MODE)来控制数据的传输码率,决定数据是否要进入删余处理以及进入哪个删余处理单元。

图4 为多码率卷积码在L-DACS1 中硬件实现结构图。

FPGA

 

表1为多速率卷积编码器模块端口说明。

FPGA

图4显示给出的多速率卷积编码器工作流程如下:数据在CLK时钟的驱动下以串行比特流的形式输入1/2码率的卷积码模块中进行编码处理,该卷积编码模块以同步的方式工作,每输入1 b将会并行输出2位编码数据,根据MODE控制信号,判断1/2码率卷积后数据进行何种删余操作,以实现3/4或2/3的码率。

若采用1/2码率编码,由于后续模块的实现算法是需要数据串行输入,因此需要进行并/串转换,同时将时钟提高至2×CLK_。为此需要增加一个2位的并入串出型缓存单元即删余缓存单元。若采用2/3和3/4码率编码,经过1/2码率的卷积编码模块处理后,根据MODE信号把数据放入相应的删余缓存进行删余操作,以达到所需的码率。输出时钟CLK_23,CLK_34 分别为1.33×CLK和1.5×CLK。

3 多速率卷积编码器仿真

利用Verilog HDL硬件描述语言对多速率卷积编码器进行仿真[9],对工程文件进行综合、布线和仿真,以3/4码率卷积编码为例进行分析,其后仿真结果如图5所示。

FPGA

图5 中,MODE 是模式控制信号,可根据该信号来选择不同的删余方式。con_in为模块的输入数据,每次连续输入144 b数据,先进行1/2 码率的卷积编码,数据变为288 b,由于模式信号MODE为1111,所以进行3/4码率的删余操作,得到192 b的串行数据,使用CLK_34时钟将3/4码率的卷积编码数据从data_out_34端口输出。

将仿真通过的工程文件使用ChipScope添加观察信号采样时钟、触发信号和待观察信号后重新综合、布局布线生成bit文件,下载到Xilinx公司的Virtex-5系列的XC5VLX110-F1153型号的芯片后用ChipScope进行在线测试,采用主时钟75 MHz,得到测试结果如图6所示。

FPGA

图6 中,con_en 表示输入使能信号,con_in 表示编码之前的数据,data_out表示3/4码率编码之后的数据,rdy_34 表示输出数据有效的信号,输入时钟频率为75 MHz,采样时钟频率为150 MHz。

通过对比图5的仿真结果和图6的在线测试结果,可以验证在高速的时钟下设计的正确性。

4 结语

本文主要阐述了L-DACS1 中多速率卷积编码器的工作原理,利用FPGA设计实现了可以在高速多码率条件下正常工作的多速率卷积编码器。同时用VerilogHDL 硬件描述语言对此设计进行了仿真验证,最后使用75 MHz的主时钟频率,在Xilinx公司的Virtex-5系列的XC5VLX110-F1153 型号的芯片下完成了硬件的调试、仿真及在线测试,结果表明达到了预期的设计要求,并用于实际项目中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分