摘要
如今,随着卫星导航技术的飞速发展,位置信息服务已经融入到我们的日常生活中。为了使导航系统不受干扰的影响,本文以北斗导航系统为平台,研究基于阵列天线的自适应抗干扰算法。
首先,文章就自适应抗干扰算法的原理和方法进行了系统介绍,并在 MATLAB 中建立阵列模型,对基于功率倒置算法的空域抗干扰算法和空时联合抗干扰算法进行性能仿真。然后根据系统的指标,确定了在 FPGA 中实现抗干扰算法的方案,包括数字下变频、权值计算、数据加权、数字上变频等模块。根据权值计算模块实现方式的不同,本文提供了两种抗干扰算法在 FPGA 中实现的方案:一种是基于 FPGA 嵌入式软核 NIOS II 的抗干扰实现,将权值计算的过程放在 NIOS II 软核中,用 C 语言进行实现;另一种是基于逻辑语言的抗干扰算法的实现,即用硬件描述语言 Verilog HDL 进行权值的计算。权值计算涉及到浮点数运算和 Hermite 矩阵求逆,本文给出了各模块的设计方法和仿真结果,并与 MATLAB 仿真结果进行对比。最后给出了两种实现方案的实测结果,表明两种实现方案都具备抗干扰性能,验证了抗干扰系统的正确性。
关键词:空域滤波,空时自适应处理,矩阵求逆,浮点运算,DDC,FPGA,NIOS II




6 北斗导航系统抗干扰算法实测验证
本章主要对空域和空时两种抗干扰算法进行实测验证。权值计算 FPGA 实现的过程中,两种算法的区别主要在于协方差矩阵的维数上。空域算法协方差矩阵维数低,采用分块求矩阵逆的方法,占用资源少,权值更新时间短,选用低成本、低功耗的 CYCLONE III 系列作为实现平台即可。空时算法协方差矩阵为高阶矩阵,分块求矩阵逆的方法不再适合。CYCLONE V 系列提供了实数矩阵求逆的 IP 核,在该 IP 核的基础上可以快速求出复数共轭对称矩阵的逆。
6.1 抗干扰算法的硬件实现平台和实验场景的搭建
图 6.1 是系统的数字板结构框图。数字板主要由一片 FPGA 芯片、一片时钟芯片、一片 4 通道 ADC 芯片、一片配置芯片、一片 DA 芯片组成。为了实现低功耗、小型化的设计要求,ADC 芯片选用 AD9253。ADC 采样后的信号传送到 FPGA。在 FPGA 芯片中完成数字下变频、空域滤波(空时二维联合)算法、数据加权,然后再数字上变频,交给射频通道进行模拟上变频后,最后把数据交给接收机进行解调。

图 6.1 系统的数字板结构框图
空域算法的 FPGA 实验板主要是由 ALTERA 公司的 EP3C120F780 芯片和 ADI 公司的 AD9268 芯片组成,空时算法的 FPGA 实验板主要是由 ALTERA 公司的 5CGXFC7C6F23I7 芯片和 ADI 公司的 AD9253 芯片组成,两种算法使用的数字板的实物图如图 6.2 所示。


a) 空域算法数字板 b) 空时算法数字板
图 6.2 抗干扰算法的硬件实现平台
图 6.2(a)中 1 是 FPGA 芯片,2、3 是 AD 芯片,4 是时钟分配芯片,5 是 FLASH,6、7 是两个 DSP 芯片(本文没有用到),8 是 DA 芯片。数字板的尺寸为 95mm95mm。图 6.2(b)中 1 是 FPGA 芯片,2 是 AD 芯片,3 是 DA 芯片,5 是晶振,数字板的尺寸为 58mm45mm。可见少了 DSP 芯片后整个数字板的功耗、尺寸以及成本都大大降低。整个实验环境的搭建与仪器使用情况如图 6.3 所示。

图 6.3 北斗导航抗干扰系统实验环境
图 6.3 中,1 是抗干扰天线,2、3、5 是 3 个方位角俯仰角均不同的干扰源天线,4 是二维转台,6 是信号源,7 是便携式频谱仪,8 是接收机,9 是直流电源,10 是电脑,11 为八角天线。整个系统的工作流程为:
(1)搭建图 6.3 所示的实验环境。将 1 北斗导航抗干扰天线置于 4 二维转台上,可以测试天线各个方向上的抗干扰性能,并模拟干扰源运动的情况下抗干扰天线能否正常搜星定位。由于是 4 单元天线阵列,因此抗干扰天线最多能在 3 个干扰源下正常工作,将 3 个干扰源架在 3 个方位角不同的位置,同时调节干扰源的俯仰角角度。将 6 信号源与 3 个干扰天线相连作为干扰源,用 11 八角天线标定干扰源到达天线阵面的干扰信号功率的大小并调节干扰源到适当位置。将 1 导航天线与 8 接收机相连,并将接收机通过串口线 RS232 连接到 10 电脑,用搜星软件进行搜星定位。也可以用 7 频谱仪观察抗干扰天线输出的信号频谱,判断干扰是否被抑制。待整个环境搭建好之后,开启 9 直流电源,整个系统开始工作。
(2)调节 6 信号源的输出信号,包括信号的大小、类型(点频、宽带等)。
(3)启动转台,将天线 360 度旋转。
(4)在 10PC 端观察北斗导航抗干扰天线在有干扰下的搜星定位是否正常。
实验的判断指标主要包括:
(1)输出频谱是否稳定。
(2)搜星数量是否大于等于 4 个,是否会发生丢星现象。
(3)通过 SignalTap 抓取抗干扰前的数据和抗干扰后的数据,在 MATLAB 中分析 FPGA 抗干扰的效果。
(4)将 SignalTap 抓取的干扰数据在 MATLAB 中进行仿真,对比 MATLAB 与 FPGA 抗干扰之后的频谱图。
6.2 各模块实测结果分析
6.2.1 模数转换器 ADC(AD9253)
本系统选取的 ADC 是串行 LVDS 输出的 AD9253。AD9253 单个芯片包括四个通道,且采用的是 48 脚的 LFCSP 封装,大大简化了 PCB 布线工作,同时减少了在数字板上的使用面积。AD9253 的采样率可以达到 125MSPS,而且支持双倍速率(DDR)操作。AD9253 采用串行 LVDS 电平信号数据输出,拥有 14bit 分辨率,数据读取操作简单,接口时序如图 6.4 所示。其中 CLK 为差分采样时钟对,DCO 是输出比特数据同步时钟,FCO 为字节标志位,标志一个字节数据的开始。AD9253 的数据不是高低位依次输出的,因此需要在 FPGA 中根据标志位将数据重新组合,完成串并转换功能。AD9253 是 14 位分辨率,输出 16 位的时候,默认最低两位为 0。

图 6.4 AD9253 接口时序图
ALTLVDS_RXIP 核的主要参数设置如下:
(1)输入通道数为 9。包括 8 对分别为 A、B、C、D 四个通道的串行数据差分对:D0_A、D1_A、D0_B、D1_B、D0_C、D1_C、D0_D、D1_D,还有一对为帧时钟差分对 FCO。
(2)解串行化因子为 8,表示每 8 个串行数据转化为一个 8 位的并行数据。
(3)数据速率为 496Mbps,时钟频率为 248MHz。
将程序下载到数字板中,加入 5MHz、0dB 的输入信号,SignalTap 抓取的 ADC 采样数据如图 6.5 所示。

图 6.5 5MHz、0dB 的输入信号 SignalTap 时域波形图
6.2.2 下变频 DDC 模块功能验证
将 FPGA 中的 jic 文件烧写到 EPCS 配置芯片中,重新上电后,程序自动启动。用 SignalTap 抓取进入 DDC 模块前后的数据,在 MATLAB 中画出频谱曲线,如图 6.6 所示。


a) 加点频干扰时 AD 采样的信号频谱 b) 加点频干扰时 DDC 后的信号频谱


c) 加宽带干扰时 AD 采样的信号频谱 d) 加宽带干扰时 DDC 后的信号频谱
图 6.6 点频信号和宽带信号经过数字下变频后的频谱图
图 6.6(a)、(b)是加 1.26852GHz 点频干扰时下变频前后的数据。AD 的采样频率为 62MHz。下变频后,信号频谱由原来的 15.5MHz 搬移到零频。图 6.6(c)、(d)是加中心频点为 1.26852GHz、带宽为 20MHz 的宽带干扰的情况。宽带干扰的信号中心频率经过下变频也由原来的 15.5MHz 搬移到零频,可以验证下变频模块设计的正确性。
6.2.3 上变频 DUC 模块功能验证
用 SignalTap 抓取上变频 DUC 模块的输入输出端口的数据,在 MATLAB 中画出频谱图,如图 6.7 所示。


a) DUC 输入信号频谱 b) DUC 输出信号频谱
图 6.7 抗干扰后的宽带信号经过数字上变频后的频谱图
图 6.7(a)、(b)分别是上变频变频模块输入、输出端口的数据。上变频的工作时钟为 124MHz。由图可以看出,通过上变频模块后,信号频率又由零频搬回原来的中频频率 46.5MHz,可以验证上变频模块的正确性。
6.3 抗干扰系统性能验证
将上下变频模快、协方差矩阵计算模块、权值计算模块、数据加权模块联合起来的顶层模块图如图 6.8 所示。


图 6.8 北斗导航抗干扰算法顶层模块图
对顶层模块进行编译,空域算法与空时算法的资源占用情况如表 6.1 所示。
| 算法 | 空域 | 空时 |
|---|---|---|
| Device | EP3C120F780C7 | 5CGXFC7C6F23I7 |
| Total logic elements | 108742/119088(91%) | |
| Logic utilization (in ALMs) | 26,236/56,480(46% ) | |
| Total registers | 68578 | 42098 |
| Total memory bits | 1016612/3981312(26%) | 831,442/7,024,640(12% ) |
| Embedded Multiplier 9-bit elements | 576/576(100%) | |
| Total DSP Blocks | 156/156(100% ) |
将两种抗干扰算法的 jic 文件分别烧写到 EPCS 配置芯片中,重新上电后,程序自动启动。用 SignalTap 抓取权值,根据两次权值更新所需的时钟周期,可以计算出抗干扰算法权值更新的时间。空时算法的计算时间比较长,可以通过计数器求得两次权值输出有效标志位的上升沿之间的时钟周期求得整个算法权值更新的时间。

a) 空域算法

b) 空时算法
图 6.9 抗干扰算法权值更新时间
根据图 6.9 可以算出,空域算法权值计算的工作时钟为 124MHz,权值更新共需要 1284 个时钟周期,因此权值更新时间为 10μs。而空时算法两次权值更新共需要 25879 个时钟,也就是 0.21ms。两种算法在 FPGA 中权值更新的速度都有很大的提高。
为了验证空域算法抗干扰的性能,调节信号源,将干扰调为干信比为 78dB 的宽带干扰,通过 SignalTap 同时抓取下变频数据以及抗干扰之后的数据,导入 MATLAB 进行分析,图 6.10(a)是抗干扰前后的信号频谱图。将下变频的数据导入 MATLAB,在 MATLAB 中进行抗干扰后,画出抗干扰后的频谱曲线,与数字板抗干扰的频谱图进行对比,如图 6.10(b)所示。


a) 数字板抗干扰性能 b) MATLAB 与数字板抗干扰性能对比
图 6.10 空域算法抗干扰性能验证
图 6.10(a)中红色的曲线是抗干扰前的信号频谱图,蓝线是抗干扰之后的信号频谱图,可以发现程序有抗干扰效果。图 6.10(b)中红色的曲线是数字板抗干扰之后的信号频谱图,蓝线是 MATLAB 抗干扰之后的信号频谱图。可以看出在干信比为 78dB 的宽带干扰下,FPGA 抗干扰和 MATLAB 抗干扰效果相当。此干扰下,导航天线的能正常搜星定位,但载噪比已经到达接收机灵敏度的极限值 30dB,如图 6.11(b)所示。

a) 未加干扰

b) 加 78dB 宽带干扰
图 6.11 干信比为 78dB 的宽带干扰下导航天线的搜星定位情况
6.4 本章小结
本章主要介绍了北斗导航抗干扰系统的实验平台,并给出了抗干扰算法的实测结果。首先介绍了抗干扰算法的硬件实现平台、系统外场测试的环境搭建和实验使用的各种实验仪器。然后给出了整个 FPGA 程序的顶层模块图和资源占用情况,并用逻辑分析仪抓取数据,给出两种算法权值的更新时间。把 SignalTap 抓取的数据导入 MATLAB,先画出上下变频前后的频谱图,验证上下变频模块的正确性,然后对比 FPGA 数字板抗干扰与 MATLAB 抗干扰的性能,验证了 FPGA 抗干扰程序的正确性。最后给出了整个系统在空域抗干扰算法下加干扰前后的搜星定位图,验证了整个系统的抗干扰性能。


