L?DACS1中多速率卷积编码器的设计与FPGA实现

时间:2022-10-05 07:19:13

L?DACS1中多速率卷积编码器的设计与FPGA实现

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

关键词: L?DACS1; 多速率卷积编码; FPGA; Verilog HDL

中图分类号: TN925?34 文献标识码: A 文章编号: 1004?373X(2013)07?0008?03

0 引 言

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

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

1 多速率卷积译码器原理

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

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

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

1/2码率卷积编码器结构(171,133,7)

3/4码率的删余过程

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

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

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

为多码率卷积码在L?DACS1中硬件实为多速率卷积编码器模块端口说明[8]。

多码率卷积编码器总模块端口

[端口名称\&位宽\&方向\&描述\&DIN\&1\&Input\&输入数据\&EN\&1\&Input\&输入有效,与输入数据同步拉高\&RST_n\&1\&Input\&复位信号,低电平有效\&CLK\&1\&Input\&时钟输入信号75M\&CLK_34\&1\&Input\&时钟输出信号100M\&CLK_23\&1\&Input\& 时钟输出信号112.5M\&MODE\&4\&Input\&模式信号控制码率0001(1/2)、

0011(2/3)、1111(3/4)\&RDY\&1\&Output\&输出有效,与输出数据同步拉高\&DOUT\&1\&Output\&输出数据\&]

显示给出的多速率卷积编码器工作流程如下:数据在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所示。

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

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

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

4 结 语

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

参考文献

[1] SAJATOVIC M. L?DACS1 system definition proposal: deliverable D2 [R]. Brussels: EUROCONTROL, 2009.

[2] 李冬冬.LTE中卷积码的译码器设计与FPGA实现[J].现代电子技术,2011,34(13):46?49.

[3] 王新梅,肖国镇.纠错码原理与方法[M].西安:西安电子科技大学出版社,2001.

[4] 肖娟,刘倩,徐震.基于FPGA的移动通信中卷积码编码器设计[J].现代电子技术,2012,35(5):65?67.

[5] 傅民仓,冯立杰,李文波.基于FPGA的高速Viterbi译码器优化设计和实现[J].现代电子技术,2006,29(7):52?54.

[6] 元锋刚,许海涛.802.11b中卷积码和Viterbi译码的FPGA设计实现[J].无线电工程,2012,42(1):51?53.

[7] PROAKIS John G. Digital communications [M].5th ed.北京:电子工业出版社,2011.

[8] 史治国,洪少华,陈抗生.基于Xilinx FPGA的OFDM通信系统基带设计[M].杭州:浙江大学出版社,2009.

[9] 夏宇闻.Verilog数字系统设计教程[M].2版.北京:北京航空航天大学出版社,2008.

[10] 肖金球,刘传洋,仲嘉霖.基于FPGA的高速实时数据采集系统[J].电路与系统学报,2005,10(6):128?131.

上一篇:乡村旅游与村落卫生研究 下一篇:人人抗击艾滋病