论文部分内容阅读
摘要:针对广播式自动相关监控(ADS-B)接收机存在高误码率的问题,设计一种基于FPCJA的ADS-B接收机,通过ADC电路转换解调后的模拟信号为数字信号,并利用FPCJA的并行处理的特点,采用流水线方式处理ADS-B信号;利用有关数字滤波和数字信号提取算法,计算得到ADS-B信息,并经过PL2303HX发送电脑上位机中。实验结果证明,可以较好地完成1090MHz ES ADS-B信号的接收,实现了内部数字信号滤波算法和CRC校验,有效地降低设备的误码率。本文网络版地址:http://xvww.eepxv.com.cn/article/274749.htm
关键字:ADS-B;FPCJA;1090MHzDOI:10.3969/j .issn.1005-5517.2015.5.01 2
1 序言
广播式自动相关监视(ADS-B)是一种基于GPS全球卫星定位系统和空一空、地一空数据链通信的航空器运行监视技术,正在逐渐成为空中交通管制的一种重要监视手段。ADS-B技术将卫星导航、通信技术、机载设备以及地面设备等先进技术相结合,提供了更加安全、高效的空中交通监视手段,能有效提高管制员和飞行员的运行态势感知能力,扩大监视覆盖范围,提高空中交通安全水平、空域容量与运行效率。本文介绍了一种基于FPGA的1090MHz ES ADS-B的设计方法,通过ADC采样解调之后的信号,并通过数字滤波的方法滤除干扰信号,得到真实信号,利用相关的解算算法,提出ADS-B中的信息,并将其发送到上位机中。
1.1 ADS-B消息格式
1090MHz ES ADS-B消息包含了四个识别脉冲信号和112位或56位的消息序列。AD S-B消息数据编码格式采用脉冲位置调制(PPM)编码,如图1所示。
1.2 消息提取算法
ADS-B的消息提取采用振幅比较的方法,在该接收机中,采用了10MSPS的采样速率,所以每个信息位前、后时间位置脉冲分别采样5次。
(1)将信息位前时间位置的采样集合命名为,后时间位置采样集合为
(2)计算出SA,SB内在参考功率正负3dB之内的所有采样点: 其中Ref参考功率,即每个信息位的10个采样点相近振幅最多点的集合;
(3)计算出SA,SB内参考功率小6dB以上所有采样点集合:
(4)对以上四个集合的点进行加权运算,考虑到本系统FPGA的性能,所有权值均为整数,其中点S0、S4、s5、s9运算权值是1,点S1、S3、S6、S8运算权值是2,点S2、S7的运算权值是3,则求的四个运算结果分别为A、B、C、D:
(5)对以上四个运算结果再次做如下运算:
Ri=A-B+C-D
R2= B-A+D-C
若R1>R2则该信息位为“1”,否则信息位的值为“o”。
1.3 数字滤波
为了消除ADS-B信号中的杂波,这里采用图像应用中的中值滤波算法。中值滤波的原理是将序列中一点的值,用该点领域内各点值的中值来代替。
假设x1,X2,X3…Xn为一组信号序列,按照其大小排序为x1、x2、x3、…xn,则计算得到其中值数值y是
以上公式中,在一维情况下,中值滤波器是一个含有奇数个采样点的滑动滤波窗口。则滤波器的输出信号序列为:
2 硬件设计
2.1 系统设计
接收机通过1090MHz天线接收ADS-B的信号,并通过解调设备,得到解调信号,采用FPGA作为核心处理器,通过AD9233高速ADC转换芯片采集信号,在FPGA中解算提取相关信息。其设计框图如图2所示。
2.2 前端硬件设计
前端设备采用了TA1090EC、BGM1013.TA0232.AD8313芯片,实现滤波和解调的功能,由于后端采用ADC转换电路,所以此处不需要转换为TTL电平信号,最大程度保证信号的完整性和真实性,提高解码的高效性和降低误码率。原理图如图3所示。
2.3 ADC电路设计
ADC采样电路需要满足10MSPS的采样速率,并且需要保证信号的适当幅度。在这个模块中,采用了ADI公司的AD9233芯片(电路图如图14),其采样频率可以达到125MHz,大大提高ADS—B接收机的信号采集效率:其分辨率为12位,能够很好地识别小信号,还原真实信号,为后面的数字滤波提供数据。
2.3 FPGA电路设计
ADS-B信号的滤波和解码都是通过FPGA实现的。FPGA电路采用Altera公司的EP4CE6E22C8N的芯片,外部通过AMS-1117系列的电源芯片实现3.3V、1.2V、2.5V的供电,并采用EPCS4SI8N作为FPGA的配置芯片。整个系统采用外部有源晶振50MHz作为系统时钟,并通过时钟分频产生ADS—B信号的采样和串口发送的时钟信号。并预留了JTAG和AS的下载接口,以便实现FPGA的调试和下载。整个FPGA在AD S-B接收机中起到了信号的数字滤波、信号报头识别、信号提取、CRC校验、信息转换为ASICⅡ码和信息的发送等功能是AD S-B接收机的核心。
2.4 传输模块设计
传输模块实现的是FPGA与电腑之间的信息交换。利用FPGA的FIFO进行数据缓存,并通过该模块发送到上位机中。为了提高信息的传输速率,传输模块采用的是PL2303HX,实现了TTL和USB信号的转换,将ADS-B信号转换为AISC II码传递到电脑上位机中。通过上位机解码,提取相关的飞机的位置、速度、高度、经纬度等信息,并显示在界面上,原理图如图5所示。
3 软件设计
3.1 总体设计 软件设计包括ADC数据读取、数字滤波、信息提取、CRC校验、串口发送等几个部分。通过读取前端信号,并滤除相关的干扰信号,得到平滑信号,提取相关信息发送到上位机中。由于FPGA并行处理的特点,所以数据的滤波和数据的提取是流水线的处理方式:数据格式的转换采用的是连续型赋值的方法,保证数据随时更新;同时,数据的发送是独立进行的,通过是否存在存储数据来判断是否发送:其流程图如图6所示。
3.2信号提取设计
ADS—B的信号经过数字滤波之后,去掉干扰成分。在模式S应答处理中,首先要完成的操作是报头检测,它是一切后续处理的前提和基础,信号的提取主要是检测信号的报头起始部分,即检测四个有效脉冲;检测到报头之后提取信号的有效功率,通过多振幅采样点方法计算代码,提取112位或56位消息。其流程图如图7所示。
3.3 串口程序设计
通过FPGA实现串口的设计,需要将数据送入FIFO中,然后从FIFO读取相关的数据,发送到上位机中,保障数据的完整性。为了保证数据读写速率相同,这里的FIFO采用了读写时钟同步的FIFO读写方式。在得到信号提取接收信号之后,读取存储ADS—B信息的数组,然后进行CRC校验,如果校验正确,转化为ASICII码,将数据写入FIFO中,并改变FIFO的存储状态;同时,串口发送部分通过判断FIFO的状态信号来判断是否发送信息,如果FIFO为空,则等待不为空信号;否则发送相关数据。具体流程图如8所示。
3.4 RTL级原理图
使用Verilog编写了FPGA的实现程序,共包含数据处理部分、FIFO读写部分、串口发送部分和PLL部分,实现AD S-B信息的数字滤波、数据信息提取、数据读写和数据发送的功能。其RTL级原理图如图9所示。
4 实验结果
利用MATLAB读取接收机经过模数转换之后的数据,并通过MATLABGUI界面显示,获得图10中的滤波前的信号:经过MATLAB编写中值滤波算法实现仿真验证,测试中值滤波在AD S-B信号滤波中的实际效果,得到了图10滤波之后的波形。从图中可以看出中值滤波,能够消除信号中的杂波干扰,使信号变得平滑,并且不改变信号的信号宽度和信号位置,仅仅消除了信号中的杂波干扰信号。
利用串口调试助手验证滤波效果,在相同波特率下,经过滤波之后的信号CRC校验正确的数据要比对比实验组的数据量大,由此可以看出该设计可以降低接收机的误码率。
4 结论
本文介绍的基于FPGA的AD S-B接收机的设计方法,采用了高速ADC转换电路,通过数字滤波算法实现了信号的滤波,消除了杂波的干扰,采用了多振幅采样点方法提取消息更加精确。系统采用了数字滤波的方法,降低了ADS-B信号的误码率,提高了设备的精确度。
关键字:ADS-B;FPCJA;1090MHzDOI:10.3969/j .issn.1005-5517.2015.5.01 2
1 序言
广播式自动相关监视(ADS-B)是一种基于GPS全球卫星定位系统和空一空、地一空数据链通信的航空器运行监视技术,正在逐渐成为空中交通管制的一种重要监视手段。ADS-B技术将卫星导航、通信技术、机载设备以及地面设备等先进技术相结合,提供了更加安全、高效的空中交通监视手段,能有效提高管制员和飞行员的运行态势感知能力,扩大监视覆盖范围,提高空中交通安全水平、空域容量与运行效率。本文介绍了一种基于FPGA的1090MHz ES ADS-B的设计方法,通过ADC采样解调之后的信号,并通过数字滤波的方法滤除干扰信号,得到真实信号,利用相关的解算算法,提出ADS-B中的信息,并将其发送到上位机中。
1.1 ADS-B消息格式
1090MHz ES ADS-B消息包含了四个识别脉冲信号和112位或56位的消息序列。AD S-B消息数据编码格式采用脉冲位置调制(PPM)编码,如图1所示。
1.2 消息提取算法
ADS-B的消息提取采用振幅比较的方法,在该接收机中,采用了10MSPS的采样速率,所以每个信息位前、后时间位置脉冲分别采样5次。
(1)将信息位前时间位置的采样集合命名为,后时间位置采样集合为
(2)计算出SA,SB内在参考功率正负3dB之内的所有采样点: 其中Ref参考功率,即每个信息位的10个采样点相近振幅最多点的集合;
(3)计算出SA,SB内参考功率小6dB以上所有采样点集合:
(4)对以上四个集合的点进行加权运算,考虑到本系统FPGA的性能,所有权值均为整数,其中点S0、S4、s5、s9运算权值是1,点S1、S3、S6、S8运算权值是2,点S2、S7的运算权值是3,则求的四个运算结果分别为A、B、C、D:
(5)对以上四个运算结果再次做如下运算:
Ri=A-B+C-D
R2= B-A+D-C
若R1>R2则该信息位为“1”,否则信息位的值为“o”。
1.3 数字滤波
为了消除ADS-B信号中的杂波,这里采用图像应用中的中值滤波算法。中值滤波的原理是将序列中一点的值,用该点领域内各点值的中值来代替。
假设x1,X2,X3…Xn为一组信号序列,按照其大小排序为x1、x2、x3、…xn,则计算得到其中值数值y是
以上公式中,在一维情况下,中值滤波器是一个含有奇数个采样点的滑动滤波窗口。则滤波器的输出信号序列为:
2 硬件设计
2.1 系统设计
接收机通过1090MHz天线接收ADS-B的信号,并通过解调设备,得到解调信号,采用FPGA作为核心处理器,通过AD9233高速ADC转换芯片采集信号,在FPGA中解算提取相关信息。其设计框图如图2所示。
2.2 前端硬件设计
前端设备采用了TA1090EC、BGM1013.TA0232.AD8313芯片,实现滤波和解调的功能,由于后端采用ADC转换电路,所以此处不需要转换为TTL电平信号,最大程度保证信号的完整性和真实性,提高解码的高效性和降低误码率。原理图如图3所示。
2.3 ADC电路设计
ADC采样电路需要满足10MSPS的采样速率,并且需要保证信号的适当幅度。在这个模块中,采用了ADI公司的AD9233芯片(电路图如图14),其采样频率可以达到125MHz,大大提高ADS—B接收机的信号采集效率:其分辨率为12位,能够很好地识别小信号,还原真实信号,为后面的数字滤波提供数据。
2.3 FPGA电路设计
ADS-B信号的滤波和解码都是通过FPGA实现的。FPGA电路采用Altera公司的EP4CE6E22C8N的芯片,外部通过AMS-1117系列的电源芯片实现3.3V、1.2V、2.5V的供电,并采用EPCS4SI8N作为FPGA的配置芯片。整个系统采用外部有源晶振50MHz作为系统时钟,并通过时钟分频产生ADS—B信号的采样和串口发送的时钟信号。并预留了JTAG和AS的下载接口,以便实现FPGA的调试和下载。整个FPGA在AD S-B接收机中起到了信号的数字滤波、信号报头识别、信号提取、CRC校验、信息转换为ASICⅡ码和信息的发送等功能是AD S-B接收机的核心。
2.4 传输模块设计
传输模块实现的是FPGA与电腑之间的信息交换。利用FPGA的FIFO进行数据缓存,并通过该模块发送到上位机中。为了提高信息的传输速率,传输模块采用的是PL2303HX,实现了TTL和USB信号的转换,将ADS-B信号转换为AISC II码传递到电脑上位机中。通过上位机解码,提取相关的飞机的位置、速度、高度、经纬度等信息,并显示在界面上,原理图如图5所示。
3 软件设计
3.1 总体设计 软件设计包括ADC数据读取、数字滤波、信息提取、CRC校验、串口发送等几个部分。通过读取前端信号,并滤除相关的干扰信号,得到平滑信号,提取相关信息发送到上位机中。由于FPGA并行处理的特点,所以数据的滤波和数据的提取是流水线的处理方式:数据格式的转换采用的是连续型赋值的方法,保证数据随时更新;同时,数据的发送是独立进行的,通过是否存在存储数据来判断是否发送:其流程图如图6所示。
3.2信号提取设计
ADS—B的信号经过数字滤波之后,去掉干扰成分。在模式S应答处理中,首先要完成的操作是报头检测,它是一切后续处理的前提和基础,信号的提取主要是检测信号的报头起始部分,即检测四个有效脉冲;检测到报头之后提取信号的有效功率,通过多振幅采样点方法计算代码,提取112位或56位消息。其流程图如图7所示。
3.3 串口程序设计
通过FPGA实现串口的设计,需要将数据送入FIFO中,然后从FIFO读取相关的数据,发送到上位机中,保障数据的完整性。为了保证数据读写速率相同,这里的FIFO采用了读写时钟同步的FIFO读写方式。在得到信号提取接收信号之后,读取存储ADS—B信息的数组,然后进行CRC校验,如果校验正确,转化为ASICII码,将数据写入FIFO中,并改变FIFO的存储状态;同时,串口发送部分通过判断FIFO的状态信号来判断是否发送信息,如果FIFO为空,则等待不为空信号;否则发送相关数据。具体流程图如8所示。
3.4 RTL级原理图
使用Verilog编写了FPGA的实现程序,共包含数据处理部分、FIFO读写部分、串口发送部分和PLL部分,实现AD S-B信息的数字滤波、数据信息提取、数据读写和数据发送的功能。其RTL级原理图如图9所示。
4 实验结果
利用MATLAB读取接收机经过模数转换之后的数据,并通过MATLABGUI界面显示,获得图10中的滤波前的信号:经过MATLAB编写中值滤波算法实现仿真验证,测试中值滤波在AD S-B信号滤波中的实际效果,得到了图10滤波之后的波形。从图中可以看出中值滤波,能够消除信号中的杂波干扰,使信号变得平滑,并且不改变信号的信号宽度和信号位置,仅仅消除了信号中的杂波干扰信号。
利用串口调试助手验证滤波效果,在相同波特率下,经过滤波之后的信号CRC校验正确的数据要比对比实验组的数据量大,由此可以看出该设计可以降低接收机的误码率。
4 结论
本文介绍的基于FPGA的AD S-B接收机的设计方法,采用了高速ADC转换电路,通过数字滤波算法实现了信号的滤波,消除了杂波的干扰,采用了多振幅采样点方法提取消息更加精确。系统采用了数字滤波的方法,降低了ADS-B信号的误码率,提高了设备的精确度。