ADS-B系统导频同步算法研究及改进
2024-03-20王忠跃
王忠跃, 梁 源, 向 新
(空军工程大学航空工程学院,西安 710000)
0 引言
自动相关监视广播(Automatic Dependent Surveillance-Broadcast,ADS-B)是一种利用机上传感器和GNSS信息对外不间断发送飞机状态信息的空中交通管理和控制监视系统[1]。1帧ADS-B信息可以包含飞机的位置、高度、速度、航向、识别号等信息[2],在向地面广播信息的同时,周围其他航空器也可以收到相关数据,从而达到空中防撞的目的。ADS-B系统最大的特点在于不需要其他地面雷达设备的协助就能完成相应的数据信息收发,这一点在岛屿、沙漠等人口稀少并且航空管制薄弱的地区尤为重要。每一帧信号都包含着某一时刻的飞机状态数据,但接收过程中受同步算法缺陷的影响,容易发生解析失败丢包状况,为提高ADS-B系统接收的可靠性,降低误包率,改进同步算法尤为重要。
ADS-B系统数据的接收过程包括天线接收、物理层数据处理、信息解析和数据显示4个部分。物理层数据处理作为ADS-B信号接收过程的前端部分,在整个过程中就显得十分重要,其中,报头检测事关能否准确地从数据流中截选出所需的信息,从而顺利地解析飞机的有关状态[3]。ADS-B广播数据报头检测技术主要分为两种:一种是脉冲沿检测法[4],该方法最大的特点就是简单,原理在于利用脉冲位置及上升沿来判断报头的位置和到达时间,但是在DF字段受到干扰时极易导致DF验证不通过检测失败[5];另一种方法是利用匹配滤波的方式检测报头[5],该方法特点在于极大地降低了检测虚警的概率和误包率。本文研究和改进了ADS-B信号的导频同步算法,利用基于RTL-SDR检测ADS-B信号的仿真模块[6]提出了改进方法。
文献[5]中提出的基带信号归一化的互相关报头检测技术,有效解决了直接匹配滤波过程中出现的虚警问题,但是需要进行噪底估计,计算复杂度略大;文献[7]在改进检测上升沿标志和脉冲有效位置标志的方式的基础上,增加了检测上升沿标志和脉冲有效位置相关性的检测函数,改进后的算法能够有效降低信号的漏检率,但是在低信噪比的情况下还是有很大的漏检率;文献[8]提出改变常用的匹配滤波器系数,将原始的脉冲方波序列改进为近似正弦波,并与接收的信号进行互相关检测,这种方式极大地提高了解包率,但是实际上在噪声和其他信号影响后的前导序列更趋向于升余弦函数的脉冲序列。
在此基础上本文根据互相关原理进一步调整匹配滤波器的系数,同时延续了文献[8]中负电平化匹配滤波器算法,使得到的信号不需要检测具体能量值大小,仅需找到最大值即可找到脉冲到达时间(TOA),从而进一步完成帧同步过程,最后根据提出的互相关报头检测方案对基于RTL-SDR接收ADS-B信号的仿真模块进行了验证。
1 导频同步基本原理
为了解决信号在传输过程中的同步问题,常见的解决手段为帧同步,即在发送的数字序列中插入帧同步脉冲或者帧同步码作为帧的起始标志。因此,S模式的ADS-B信号就是由8 μs的前导脉冲同步序列和56/112 μs的数据位构成的[9],如图1所示。
图1 ADS-B信号格式
由图1可知,前导码分别在 0 μs、1 μs、3.5 μs、4.5 μs处有4个脉冲位置固定,接收时,利用帧同步原理将接收信号脉冲与镜像脉冲进行匹配滤波,从而达到信号同步的目的。标准同步头的滤波器如图2所示。
图2 标准同步头的滤波器
当两个脉冲序列一致时会有单峰状的尖波产生,找到数个尖峰中数值最大的那个点的位置即可认为找到ADS-B脉冲前导序列。
2 匹配滤波器优化
通常在进行数字信号接收时要有一个判决时刻,此判决时刻的瞬时功率对噪声功率平均功率之比达到最大就成为最大信噪比准则,为了达到输出信噪比最大的滤波器,采用匹配滤波器来实现[10]。
匹配滤波器在实际应用时可以将其视作计算输入自相关函数的相关器,因此匹配滤波器等同于相关器。根据匹配滤波的定义[10]通过相关接收找到最佳判决点的位置,从而得到输出信噪比在某一特定时刻最大。
(1)
式中:xn为标准序列;N为序列长度;yn-m为接收的信号序列。
仿真模块中采用ADS-B系统理想矩形脉冲报头与信号进行同步接收从而获得最佳抽样时刻,通过仿真分析后发现,虽然这种方法在一定程度上可以得到输出信噪比最大值点,但仍存在比特解析时误包率大以及抽样时刻峰值低的问题。
经过分析发现,在信道的传播过程中,由于信号受到其他S模式信号或者噪声的干扰,并且信号在经过内插、下采样等信号处理操作后,进入匹配滤波器前的信号序列已不再是规则的矩形脉冲信号,实际接收时前导脉冲序列如图3所示,其波形是更接近于升余弦函数,此时再用仿真模块进行相关接收时显然就会造成上述问题。本文针对前文方法的不足,在汲取其优点的前提下,提出了优化互相关报头波形的方法。
图3 实际前导脉冲序列
在仿真模块的基础上,经过大量的波形比对发现,若将匹配滤波器波形改为如图4所示的类型时将得到较好的接收效果,此时的同步序列能与接收到的前导脉冲序列近似镜像,并且在一定程度上表明通过改变匹配滤波器波形提高信噪比从而降低比特解析误包率的方法是可行的。
图4 优化后滤波器
FIR滤波器是特殊的卷积,但是卷积不一定是常规的FIR滤波器,对应真实的卷积过程来讲会产生延时,只有消除延时能将信号同步。仿真模块的helperAdsbRxPhyPacketSearch函数[6]中并未将延时消除,在函数的第37行的去除延时代码如下:同步时间=尖峰最大值位置×下采样后长报文样点数-前导脉冲的样点数+第n批×长报文样点数。此处可以看到,按照此算法在去掉延时的代码部分时间后未同步,而只是和应同步样点的前一位对齐,所以应将第37行代码改为:同步时间=尖峰最大值位置×下采样后长报文样点数+2-前导脉冲的样点数+第n批×长报文样点数(此处+2是由于模块中匹配滤波器前有2倍下采样)。
3 仿真测试
为了验证优化后的匹配滤波器效果,将设备和仿真模块在如图5所示的方式下进行仿真,一方面可以根据匹配滤波器输出峰值的变化判断优化前后匹配滤波器的性能是否更佳,另一方面可以判断比特解析的误包率变化。
图5 信号接收同步过程
图6为滤波器系数调整前后互相关输出波形对比。
图6 滤波器系数调整前后输出波形对比
由图6可以看到,优化后的匹配滤波器输出信号尖峰值较原始匹配滤波器输出信号的尖峰值更高,证明调整后的匹配滤波器系数与ADS-B信号的前导脉冲相关度更高且性能更好。
将优化前后两组同步模块分别处理同一段已采集好的ADS-B信号,此数据包为开源数据[6],通过比较长报文误包率前后变化,可以十分清楚地了解此方式的效果。报文误包率(PER)表示为
(2)
图7所示为修改滤波器系数前后长报文PER对比。
图7 修改滤波器系数前后长报文PER对比
从图7看出,修改参数后的滤波器输出信号报文的误包率基本保持在12.10%,修改前的报文误包率为32.0%,相比较使用矩形脉冲波形的匹配滤波器的误包率下降了62.5%,证明优化后的匹配滤波器更有利于寻找匹配相关最大值等信号处理工作。文献[7]在信噪比为0 dB条件下误包率可达到10.0%,但相比较改进为正弦函数的前导序列[7],本文算法可达到同等效果且技术实现更为简单。
4 总结
对ADS-B信号前导序列的处理是接收模块中承上启下的关键环节,为了提高信号处理的效率,本文首先根据互相关原理,提出改进原始标准序列的方式,以另一种更贴近真实信号报头的负电平化匹配滤波器系数,使得匹配滤波器输出互相关峰值得到较大提升,提升了低功率下的输出信噪比,有效降低了接收ADS-B数据信号的误包率;同时在匹配滤波器延时理论的基础上,优化了仿真模块中的去除延时的代码,最后经过仿真实验,证实了此方式提高信号接收的解包率可行性。