GNSS接收机抗干扰电路的硬件实现

2021-04-20 00:38:40王依婷刘学勇巴晓辉
关键词:功耗定点运算

王依婷 陈 杰 杨 颖 刘学勇 李 健 巴晓辉

(1中国科学院微电子研究所, 北京100029)(2中国科学院大学, 北京100049)

全球卫星导航系统(global navigation satellite system,GNSS)采用直接序列扩频通信技术,具有一定的抗干扰能力[1].当接收到的扩频信号受到的窄带干扰强度超出扩频增益提供的抑制能力,卫星导航信号无法正常放大和检测,将严重影响接收机工作性能,甚至失去定位能力[2],因此GNSS接收机必须具备抗干扰能力.现有的抗干扰技术分为4类:时域、频域、空域以及联合域滤波技术.空域滤波技术主要采用天线阵,其使用自适应算法实现干扰识别及滤除,这种滤波技术可以滤除窄带和宽带干扰,但其使用的天线个数直接影响抗干扰能力,并且不便集成于GNSS接收机[3-4].时域滤波技术利用自适应时域陷波器进行干扰频率估计并滤除干扰[5-7],这种技术对窄带干扰有较好的抑制效果,但当导航信号存在多个干扰时,其只能串行检测和滤除干扰.频域滤波技术首先对导航信号做FFT,检测和抑制干扰后再做逆FFT,可以将干扰彻底滤除,但对卫星信号也会造成损失,并且需要较多硬件资源[8].联合域滤波技术是将3种不同域的滤波技术联合使用[9],以达到更好的滤除效果.目前也有一些其他常用方法,如建立伪卫星站或者利用辅助方式.为了满足高动态和高精度的要求,现多使用GNSS和惯导组合定位,利用GNSS和惯导组合抗干扰技术实现精确定位[10-13],但这些方法均需要外加辅助,甚至需求较大的成本.

考虑到接收机芯片的实时性以及面积需求,本文采用时频域结合的方式进行干扰抑制,其中频域利用FFT检测信号是否存在干扰,时域则是通过无限脉冲响应(infinite impulse response,IIR)滤波器滤除干扰.当检测到干扰信号时,采用频率估计算法估计干扰信号频率,并配置IIR滤波器进行滤波.由于干扰频率的估计准确度直接影响抗干扰模块的性能,因此需要对频率估计算法进行研究.常用的频率估计算法包含修正Rife(modified rife,MRife)算法和全相位FFT(all-phase FFT,apFFT)算法.其中MRife算法是对输入信号进行频谱搬移,并且频率估计均方根误差接近克拉美罗限[14].apFFT算法是对输入信号先进行预处理,再作FFT运算进行频率估计,其具有良好的频率分析特性和频谱泄漏小的优点[15].apFFT算法中的apFFT/FFT综合相差法是对信号分别进行apFFT和FFT变换,利用apFFT和FFT算法主谱线的相位差对信号频率进行估计.由于apFFT算法无需校正即可得到信号初始相位,因此apFFT/FFT算法的频率估计精度比较高[16].虽然已有学者对MRife算法和apFFT/FFT综合相差法进行硬件实现[14,17],但大多数仍基于FFT的IP核进行设计.

本文对MRife算法和apFFT/FFT综合相差法的频率估计性能以及硬件实现资源占用情况进行评估.为提高GNSS接收机芯片性能,将apFFT/FFT综合相差法应用于GNSS抗干扰模块中进行频率估计.虽然apFFT/FFT综合相差法的估计精度高,但其功耗和面积资源较大.为降低芯片面积和功耗,本文提出一种阈值判断移位方法,对apFFT/FFT综合相差法的硬件实现结构进行改进,称为改进apFFT/FFT算法,其可以减小约50%的硬件面积资源和功耗,并在FPGA平台上对所设计的GNSS硬件抗干扰模块进行干扰滤除功能验证.最后将改进apFFT/FFT算法与MRife算法占用硬件面积资源和频率估计精度进行比较,结果显示在接近相同的面积资源和功耗下,改进apFFT/FFT算法的频率估计精度约为MRife算法的2倍.

1 MRife和apFFT/FFT算法的性能评估

1.1 干扰信号模型

受窄带干扰的扩频信号模型为

x(t)=s(t)+i(t)+n0(t)

(1)

式中,x(t)表示接收到的含有窄带干扰和加性高斯白噪声的卫星导航信号;s(t)表示GNSS卫星导航信号;n0(t)表示加性高斯白噪声;i(t)表示窄带干扰.这里取单频复信号作为窄带干扰模型,经过采样后的干扰信号i(n)如下:

(2)

式中,n为采样时刻序号;f0为干扰频率;fs为采样频率;θ为初相;A为干扰信号幅值.

1.2 MRife算法

为了实现对频率的准确估计,对离散输入信号x(n)加窗后,再作FFT,其窗函数w(n)表达式为

(3)

式中,N表示FFT点数.

综合考虑硬件所能支持的计算量和窗函数性能,选择K=2情况下的最优窗函数,w(n)具体参数选择为a0=3/8,a1=1/2,a2=1/8[14].

找到最大谱线X(k0)以及与其相邻的次大谱线X(k0+r)(其中r=±1,k0为最大谱线对应的位置),并对其进行插值,频率插值δ1计算公式为

(4)

当频率插值δ1大于设定阈值1/3时,对输入信号进行频谱搬移,重新利用上述步骤计算频偏值.MRife频率估计公式为

(5)

1.3 apFFT/FFT综合相差法

apFFT/FFT综合相位差法是对数据x(n)分别进行传统加窗FFT和双窗apFFT,在主谱线k0处,传统加窗FFT和双窗apFFT的相位值φFFT(k0)、φapFFT(k0)分别为

(6)

φapFFT(k0)=θθ∈[-π,π]

(7)

式中,δk0为频率偏离值.

求出φFFT(k0)和φapFFT(k0)的相位差值Δψ

Δψ=φFFT(k0)-φapFFT(k0)

(8)

并修正Δψ范围为[-π,π].频率偏离值δk0和频率估计值f0计算公式为

(9)

(10)

1.4 性能比较

1.4.1 频率估计误差比较

实验选择的信号为GPS L1C/A信号,设定采样频率fs=65.472 MHz,FFT点数N=4 096,中频fc=7.161 MHz,单音干扰i(n)的频率为8.161 MHz,在干信比分别为20、30及40 dB时,仿真1 000组数据,浮点MRife算法和浮点传统apFFT/FFT综合相差法的频率估计平均误差及最大误差见表1.从表1可看出,浮点传统apFFT/FFT综合相差法的频率估计精度约为MRife算法的2倍,并且干信比越大,2个算法的估计误差均明显降低.

表1 2种算法的频率估计平均误差和最大误差

1.4.2 频率估计精度对IIR滤波器的影响

结合接收机的使用场景,本文选用复数滤波器,其传递函数H(z)如下[7,18-19]:

(11)

(12)

B=π(1-α)

(13)

式中,β为陷波频率控制参数;α为陷波带宽控制参数;B为陷波器3 dB带宽.本文α取值为0.998,采用的陷波频率与采样频率均与上述实验相同,其幅频响应曲线如图1所示.表1中2种算法的频率估计误差对应的信号损失估计值如表2所示,MRife算法信号损失估计值比apFFT/FFT综合相差法平均低约6.3 dB.由于抗干扰模块中频率估计的准确度是影响滤除干扰能力的重要因素,为实现GNSS接收机的高性能,本文选择apFFT/FFT综合相差法作为抗干扰的频率估计算法.

图1 陷波器幅频响应曲线

表2 信号损失 dB

2 MRife和apFFT/FFT算法的资源比较

在MRife算法和apFFT/FFT综合相差法的硬件实现中,干扰检测、滤波以及量化模块均相同.本文主要分析FFT模块对硬件资源的影响,图2为FFT的运算单元,其中箭头表示数据流向,DFF表示D触发器,ROM用来存储进行FFT运算的旋转因子.基2蝶形单元是对输入数据进行运算的单元,Xm(p)和Xm(q)为第m级运算的输入数据,经计算后得到第m级输出数据.实际上,第m级输出数据同时也是第m+1级输入数据,记为Xm+1(p)和Xm+1(q).RAM0用来存储上一级运算输出结果,RAM1存储本级输出结果,且为乒乓操作.由apFFT/FFT综合相差法原理可知,传统apFFT/FFT综合相差法需做2次FFT,而MRife算法只需做1次FFT.为保证apFFT/FFT综合相差法和MRife算法具有相同干扰检测时间,传统apFFT/FFT综合相差法采用2组FFT单元进行并行运算.

图2 FFT的运算单元

对定点传统apFFT/FFT综合相差法与定点MRife算法进行硬件资源比较,设定工作频率为200 MHz,FFT点数N为4 096.当2种算法的基2蝶形单元运算次数和干扰检测时间均分别为24 576和0.246 ms时,定点MRife算法只需1个基2蝶形单元及64 kB RAM,而定点传统apFFT/FFT综合相差法需要2个基2蝶形运算单元和128 kB RAM.

从2个硬件资源比较结果可以看出,在保证apFFT/FFT算法与MRife算法检测时间相同时,apFFT/FFT综合相差法的RAM资源和基2蝶形单元的个数均为MRife算法的2倍.本文对基2蝶形单元、64 kB RAM以及128 kB RAM的面积资源和功耗在55 nm数字工艺下进行评估,工艺角选择供电电压为1.2 V,温度为25 ℃,工作频率为200 MHz,由Memory Compiler 得到的评估结果如表3所示.

表3 资源评估结果

对于多模多频接收机,需要多个抗干扰模块,且抗干扰模块属于常开模式,则传统apFFT/FFT综合相差法的功耗将远高于MRife算法.从表3中可以看出,FFT运算单元里RAM面积资源和功耗占比远大于基2蝶形单元.为了降低传统apFFT/FFT综合相差法的功耗和面积资源,本文针对传统apFFT/FFT综合相差法中RAM的面积资源和功耗较大的问题,提出一种阈值判断移位方法并应用于apFFT/FFT综合相差法,其可以有效降低apFFT/FFT综合相差法约50%的硬件面积和功耗.

3 阈值判断移位方法设计

对于FFT运算,为了防止溢出,传统方法是增加RAM位宽,但这将导致面积资源和功耗迅速增大.本文针对FFT运算溢出情况,提出阈值判断移位方法,将每一级计算结果与设定的移位阈值T进行比较.若大于T,为了防止下级运算溢出,对该级的运算结果右移1位后再作为下一级的输入.这种结构设计不需要为了防止溢出而增加RAM位宽,结构图如图3所示.图中,箭头表示数据的流向;shift表示移位标志位,它的位宽与FFT的级数有关;RAM0和RAM1是乒乓操作.以第1级和第2级运算为例,将输入数据从RAM0中取出,由于第1级移位标志位shift为0,数据不做移位操作进入基2蝶形单元运算.每完成一次基2蝶形运算,其运算结果需要与阈值T进行比较,当该级某一个运算结果大于T时,本级移位标志位shift置1.该级所有运算结果将被存入RAM1.

第2级运算从RAM1中取出数据,根据上一级移位标志位shift判断是否做移位操作,若上一级shift为1,则对本级输入数据均右移一位再送入蝶形单元进行运算.同样,每完成一次运算,需要将其结果与阈值T进行比较,从而判断是否置位本级移位标志位shift.这种结构既维持信号原有幅值比例特性,也可有效避免数据进行乘累加操作时导致的位宽变大.将这种结构应用于apFFT/FFT综合相差法的硬件实现,称为改进apFFT/FFT算法.

N选择为4 096,考虑运算精度问题,设定阈值T为8 192,将定点改进apFFT/FFT算法与传统增加RAM位宽的浮点和定点apFFT/FFT综合相差法频率估计结果进行比较.由于干扰信号的存在,实验数据是经过A/D量化的10 bit卫星导航数据,其采样率fs=65.472 MHz,中频fc=7.161 MHz,单音干扰的频率为8.161 MHz,干信比为20 dB,仿真1 000组数据,窗函数量化比特数为16 bit.

图3 FFT的阈值判断移位方法结构设计

定点改进apFFT/FFT算法频率估计误差比浮点传统apFFT/FFT算法平均高0.190 9 Hz,比定点传统apFFT/FFT算法平均高0.168 9 Hz.虽然定点改进apFFT/FFT算法的频率估计误差比定点传统apFFT/FFT算法高,但是性能下降在可接受范围内,这样可有效节省存储器容量, 存储器容量仅为常规结构的1/2.

4 GNSS抗干扰模块的硬件设计及结果

4.1 MRife算法和apFFT/FFT综合相差法的性能比较

对于GNSS抗干扰模块的设计,本文采用软硬件相结合的方式,检测到干扰后,利用式(9)和(10)计算IIR滤波器配置系数,并对滤除干扰后的数据重新量化为2 bit数据,以便GNSS接收机进行捕获跟踪,具体结构设计如图4所示.图中x(t)表示输入数据,其中干扰检测模块采用的是改进apFFT/FFT算法的硬件实现,干扰频率计算部分由CPU完成,通过对FFT运算结果求均值,得到判断当前输入数据是否存在干扰的阈值H.本文设计最多滤除干扰个数为12.

图4 硬件结构设计

4.2 GNSS抗干扰模块的滤除干扰结果

由于目前自主设计的多模多频接收机芯片尚未集成抗干扰模块,本文通过MATLAB设计模拟信号发生器,分别产生含有单音干扰和多音干扰的GPS L1C/A信号数据,其中单音干扰频率为8.161 MHz,多音干扰频率以中频7.161 MHz为中心,间隔为±0.1 MHz,个数为12.两组数据的采样率为65.472 MHz,中频为7.161 MHz,干信比为40 dB,量化比特数为10 bit.将2组数据作为抗干扰模块的输入,FFT点数N为4 096,通过FPGA平台验证所设计GNSS抗干扰硬件模块的功能,单音干扰及滤除结果的频谱图如图5(a)和(b)所示,多音干扰及滤除结果的频谱图如图5(c)和(d)所示,其中绘制频谱图所用FFT点数N为65 472.

(a) 单音干扰频谱图

(b) 单音干扰滤除频谱图

(c) 多音干扰频谱图

(d) 多音干扰滤除频谱图

通过分析图5(b)和(d),可以看出干扰已被完全滤除,本文所设计的GNSS抗干扰模块具备良好的滤除干扰功能.

利用模拟信号发生器产生干扰个数为0、1、6及12的10 bit GPS L1C/A数据,并将其作为抗干扰模块的输入.数据中干扰功率随着时间逐渐增强,设定干扰功率范围为-94~-24 dBm,间隔为-10 dBm,每3 s改变一次功率,卫星功率为-124 dBm,载噪比为50 dB/Hz.将抗干扰模块输出的重新量化为2 bit的卫星导航数据作为GNSS接收机的输入,得到不同干扰下卫星信号的跟踪载噪比 (carrier to noise ratio,CNR).通过抗干扰模块后,GNSS接收机跟踪结果如图6所示.

图6 不同干扰的跟踪载噪比变化

通过分析图6可以发现,在干扰功率较低、小于-74 dBm时,抗干扰模块能较好地滤除单音及多音干扰,其与无干扰的跟踪性能相差较小,对于1个干扰、6个干扰及12个干扰的滤除导航数据与无干扰的导航数据分别平均相差0.806 2、0.867 9、1.559 8 dB/Hz.当干扰功率大于-64 dBm,滤除12个干扰的导航数据的跟踪载噪比明显下降,1和6个干扰的导航数据跟踪载噪比下降较缓慢;当干扰功率达到-44 dBm时,滤除6和12个干扰的导航数据失锁,为了便于分析,将其失锁后的跟踪载噪比设为零;当干扰功率大于-34 dBm时,滤除1个干扰的导航数据也出现失锁.总体而言,设计的抗干扰模块能够较好地滤除干扰,实现对卫星信号的稳定跟踪.

4.3 GNSS抗干扰模块性能比较

将定点改进apFFT/FFT算法频率估计的准确度与定点MRife算法进行比较.实验选择GPS L1C/A信号,设定的采样率fs=65.472 MHz,FFT点数N=4 096,中频fc=7.161 MHz,单音干扰i(n)的频率为8.161 MHz,在干信比分别为20、30及40 dB时,仿真1 000组数据,选择的工艺角参数与表3相同,工作频率为200 MHz,2种算法占用的硬件面积资源和功耗如表4所示,频率估计平均误差及最大误差如表5所示.

表4 2种算法的资源评估比较

表5 2种算法的频率估计平均误差和最大误差

由表4和表5可以看出,定点改进apFFT/FFT算法与定点MRife算法的面积和平均功耗相差较小,并且改进后,蝶形单元最大计算位宽减少,使得关键路径延迟变短.因此,定点改进apFFT/FFT算法的频率估计精度约为定点MRife算法的2倍,并且可以达到更高的工作频率.

5 结论

1) 传统apFFT/FFT综合相差法平均频率估计精度约为MRife算法的2倍,随干信比增大,2种算法频率估计误差均明显降低.对于频率估计带来的干扰信号损失,传统apFFT/FFT综合相差法比MRife算法平均高约6.3 dB.在保证相同检测时间条件下,传统apFFT/FFT综合相差法所需基2蝶形单元个数和RAM大小均为MRife算法的2倍.由于抗干扰模块属于常开模式,故传统apFFT/FFT综合相差法功耗将远高于MRife算法.

2) 为降低传统apFFT/FFT综合相差法功耗和面积,实现低成本、高性能的GNSS接收机,本文提出改进apFFT/FFT算法.将定点改进apFFT/FFT算法的干扰频率估计结果与传统定点及浮点apFFT/FFT综合相差法进行比较.结果表明,在几乎不损失频率估计精度条件下,改进apFFT/FFT算法可有效降低约50%的面积资源和功耗.

3) 为了验证所设计GNSS抗干扰硬件模块性能,本文利用FPGA平台对设定实验条件下的干扰进行滤除.结果表明单音和多音干扰均可以被完全滤除,所设计的GNSS抗干扰硬件模块具备良好的抗干扰能力,滤除干扰后的数据可以满足GNSS接收机对卫星信号的稳定跟踪.本文通过将定点改进apFFT/FFT算法与MRife算法进行比较,在接近相同面积资源和功耗下,定点改进apFFT/FFT算法的频率估计精度约为MRife算法的2倍,并且可以达到更高的工作频率.

猜你喜欢
功耗定点运算
例谈圆锥曲线中的定点定值问题
重视运算与推理,解决数列求和题
定点帮扶让村民过上美好生活
今日农业(2021年21期)2021-11-26 05:07:00
解析几何中定点问题的处理策略
直线过定点的5种特优解法
有趣的运算
“整式的乘法与因式分解”知识归纳
揭开GPU功耗的面纱
个人电脑(2016年12期)2017-02-13 15:24:40
拨云去“误”学乘除运算
数字电路功耗的分析及优化
电子制作(2016年19期)2016-08-24 07:49:54