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

基于FPGA的多速率卷积编码器的设计,第1张

摘要:在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的多速率卷积编码器的设计,图1:1/2的卷积编码器结构,第2张

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

基于FPGA的多速率卷积编码器的设计,图2:3/4码率的删余过程,第3张

基于FPGA的多速率卷积编码器的设计,图3:2/3 码率删余过程,第4张

图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的多速率卷积编码器的设计,图4 :多码率卷积码在L-DACS1中硬件实现结构,第5张

 

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

基于FPGA的多速率卷积编码器的设计,表1为多速率卷积编码器模块端口说明,第6张

图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的多速率卷积编码器的设计,3/4码率卷积编码模块后仿真时序图,第7张

图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:3/4码率卷积编码模块在线测试结果时序图,第8张

图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 型号的芯片下完成了硬件的调试、仿真及在线测试,结果表明达到了预期的设计要求,并用于实际项目中。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2612713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存