胡铁乔,李恒昶
(中国民航大学天津市智能信号与图像处理重点实验室,天津 300300)
广播式自动相关监视(ADS-B,automatic dependent surveillance-broadcast)是一种基于机载导航系统与机载广播发射系统的航空器运行监视技术[1]。近年来,在国际民用航空组织ICAO的推动下,ADS-B技术得到了广泛的应用,同时ADS-B也面临着欺骗式干扰的问题,文献[2-3]介绍了多种产生欺骗干扰的方式。针对ADS-B欺骗式干扰问题,已提出很多解决方法,如加密技术[4-6]、多基站多点定位的方法[7-8]、增加时间戳[9]、使用扇形天线的单脉冲技术[10]、利用MLAT(multilateration)辅助飞行信息系统[11]等。这些方法在其使用条件内均各具优势,但从系统实现的角度,有的需修改ADS-B协议、增加额外的兼容条件,有的需多方协同工作,实现的复杂程度较大、成本较高。
文献[12]提出一种基于空间相关的ADS-B欺骗干扰检测方法,通过比较阵列信号的来向变化与ADSB报文中飞机位置的变化来识别真实目标与虚假目标,该方法检测性能较好,且适于工程实现。基于该方法,根据硬件实现的特点对其进行优化,降低计算复杂度,并利用现场可编辑门阵列(FPGA,field programmable gate array)和数字信号处理器(DSP,digital signal processor)信号处理平台实现优化后的方法,从实际角度验证了ADS-B欺骗干扰检测方法的有效性。
采用十字阵列天线接收信号,共包含5个阵元,如图1所示,以中心阵元O为参考阵元,外部的4个阵元与O的距离为信号波长。
图1 十字阵列Fig.1 Cross-antenna array
在不考虑ADS-B信号交织情况下,十字阵列接收到的一条ADS-B信号可表示为
其中:s(t)为源信号;n(t)为高斯白噪声;a(θ,φ)为十字阵列信号导向矢量,可表示为
其中:θ和φ为信号相对于十字阵列的方位角与俯仰角;β=2πd/λ。
信号到达十字阵列天线时,其他4个阵元接收到的信号相对于参考阵元信号之间会存在时延,从而会存在一定的相位差,又因a(θ,φ)由信号到达各阵元的相位差所组成[13],故导向矢量又可表示为
其中:αi表示其他4个阵元收到的信号相对于参考阵元接收到的信号之间的相位差。
基于空间相关的ADS-B欺骗干扰检测方法的算法原理可描述为:接收机对接收到的ADS-B信号解码,选择空中位置类型的ADS-B信号可获得飞机的经度、纬度和高度,根据飞机的ICAO地址为每架飞机的信号分组,由此可得到一架飞机的一组ADS-B信号;通过坐标转换得到飞机在地心地固坐标系中的位置,结合阵列天线在地心地固坐标系中的位置,可得到一组表示飞机相对于阵列天线的方向向量;通过计算阵列信号的协方差矩阵,又可得到一组表示飞机来向的特征向量;分别计算方向向量组和特征向量组中相邻两个向量的夹角余弦值,得到两组表示飞机位置变化的余弦序列;计算两组余弦序列的皮尔逊相关系数,通过设定合适的相关系数门限判别当前飞机是真实飞机还是欺骗干扰。
基于FPGA和DSP系统实现的特点,结合ADS-B信号的固有特性,算法优化部分主要集中在以下4个方面。
1)考虑到FPGA和DSP对算法中阵列信号协方差矩阵的求取、矩阵分解中特征值与特征向量求取的复杂过程,结合第1节内容可知:通过计算阵列信号中不同通道信号之间的相位差可得到导向矢量。因此,将对协方差矩阵做特征值分解求取特征向量的过程优化为通过计算阵列信号相位差来获得导向矢量,由此降低了FPGA和DSP对算法实现的复杂度。
2)ADS-B 信号采用脉冲位置调制(PPM,pulse position modulation),一帧信号在其持续时间内并不是所有时刻都存在脉冲,计算相位差只针对脉冲进行计算,计算前需要先选择信号中的脉冲部分。
3)相位差数值的范围为[-π,π],在-π 与 π 附近区域的相位差可能会出现临界问题,出现临界问题的相位差需进行相位差校正,将该路相位差加上一个偏移量,使其被搬移到非临界位置求取均值,之后再将偏移量减掉。
4)根据标准DO-260B[1],当ADS-B传输子系统采用发射分集时,会使用飞机的上天线和下天线交替地发射所要求类型的ADS-B消息。飞机尾翼对信号的阻碍会影响上天线的性能,上天线的天线方向图在尾翼的方向会存在增益的减小,信号并不会被完全阻碍,而是被削弱若干分贝。鉴于此特性,算法中计算方向向量组与导向矢量组及后续的计算过程只针对飞机单一天线发射的信号,对每条ADS-B信号求取功率,以信号功率的大小来区分信号的发射天线。
系统整体实现的硬件结构,如图2所示。
系统工作时,十字阵列天线接收射频信号,下变频器将1 090 MHz的ADS-B射频信号转换为10 MHz中频信号,经模数转换后的数字中频信号首先进入FPGA1对数据做预处理(主要对数据做希尔伯特变换并去除直流分量),FPGA1将预处理后的数据传给FPGA2,FPGA2再将该数据传输给FPGA3。FPGA2和DSP主要承担基于空间相关的ADS-B欺骗干扰检测方法的具体实现。FPGA3实现ADS-B接收机功能,当检测到一条ADS-B信号后,会向FPGA2发出一个帧有效信号和一个脉冲有效信号。帧有效信号是用于确保FPGA2和FPGA3处理的是同一条ADS-B信号,脉冲有效信号是为了帮助FPGA2对ADS-B信号做脉冲选择。另外,FPGA3还会将处理得到的112位ADSB数据通过外部存储器接口(EMIF,external memory interface)发送给DSP,DSP将对其做解码。
图2 系统硬件结构Fig.2 System hardware structure
系统所用3片FPGA均为Xilinx的Virtex5系列FPGA,DSP为TI的TMS320C6713B系列芯片。
ADS-B欺骗干扰检测系统的FPGA设计与实现部分主要集中在FPGA2中,图3为FPGA2的功能设计图。
图3FPGA2功能设计Fig.3 Function design of FPGA2
FPGA2的输入信号为来自FPGA1的五路复信号和FPGA3的帧有效信号和脉冲有效信号。FPGA2主要实现以下功能:选择ADS-B信号的脉冲部分、计算阵列信号的相位差、对出现临界问题的相位差数据做校正及对信号模值的计算。处理后的四路相位差数据和信号的模值通过EMIF传输给DSP做进一步的处理。
DSP的功能设计如图4所示。DSP工作时,首先进行初始化,包括初始化片上芯片库和各类参数,配置EMIF使其正常工作,通过配置PLL来设置各模块的工作时钟;DSP利用EMIF传来的数据对飞机信号进行检测。
图4 DSP功能设计Fig.4 Function design of DSP
考虑到实际中可能出现的误判情况,经测试分析后,在实际实现时将对一架飞机连续检测5次,每次检测使用20组信息和数据。若5次检测过程中至少有3次的门限判决结果显示该架飞机为真实飞机,则认定其为真实飞机,否则为虚假飞机。通过这种对同一目标多次检测的方式可有效提高系统性能和可靠性。
利用真实目标信号和虚假目标信号分别对实现后的系统做测试,外界飞机所发射的ADS-B信号为真实目标信号,通过ADS-B发射系统发射出的信号为虚假目标信号。接收天线为5阵元的十字阵列,经测试分析后,设置相关系数的门限为0.2。接收真实目标信号时,测试系统将真实目标判为虚假目标的概率,即虚警率;接收虚假目标信号时,测试系统将虚假目标判为真实目标的概率,即漏警率。
首先,测试外界真实目标信号,对所接收到的信号不做任何筛选,共检测200架次飞机,错误识别架次为9架,虚警率大约为0.045。对所出现的错误进行分析,当飞机飞行高度较低、信号功率较小或飞机飞行过程中相对于接收天线的角度变化较小时容易出现误判情况。为进一步降低虚警率,防止误判,对接收到的信号做筛选,排除这3种易错情况后仍检测200架次真实飞机,其中,错误检测架次仅为1架,虚警率为0.005,系统性能得到了明显提升。
虚假目标信号的产生方式如图5所示,上位机软件生成的ADS-B数据传输到ADS-B发射机,发射机根据上位机生成的数据可产生1 090 MHz的ADS-B信号,这些信号的报文内容所表示的都是现实中不存在的飞机,即虚假目标,信号经发射天线向外界发射出去,由此可产生ADS-B欺骗式干扰。
图5 欺骗式干扰产生方式Fig.5 Generation of spoofing attack
利用不同功率的虚假目标信号,在每种信号功率下检测200架次的虚假目标,测试结果如表1所示。分析可知,虚假目标信号功率的不同对系统的检测性能并没有明显的影响,系统可对虚假目标信号进行有效检测。
表1 虚假目标测试Tab.1 Spoofing target test
针对ADS-B的欺骗式干扰问题,深入分析了基于空间相关的ADS-B欺骗干扰检测方法,根据FPGA、DSP系统实现的特点对算法进行优化,降低了实现的复杂度。系统实现后,分别用真实目标信号和虚假目标信号对系统进行测试,结果表明:系统可有效检测出ADS-B系统中的欺骗式干扰,可为未来ADS-B欺骗式干扰检测的实际应用和实施提供参考,具有一定的现实意义。