任季中,赵 倩
(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.国家广电总局951台,河北石家庄050701)
脉冲信号是现代雷达主要采用的信号形式,脉冲信号频率测量是雷达侦察中不可或缺的环节,对雷达对抗起着重要的作用。数字化处理是雷达对抗系统发展的趋势之一,常用的数字测频方法包括过零点检测法、相位差分法、快速傅里叶变换(FFT)法和现代谱估计法[1]。其中FFT法工程可实现性强,实时性好,且适用于宽带侦收,因此在工程中得到广泛应用。
本文以时宽较短(0.2~1μs)的正弦波脉冲信号为研究对象,分析了传统FFT测频法的不足之处,从工程应用角度分析了提高测频精度的改进方法,并提出了基于FPGA的全数字实现流程。
信号x(t)经过数字化采样后为x(n),n=0,1,2,…,N-1,为对其进行频谱分析,进行离散傅里叶变换(DFT),将信号从时域转换到频域,如式(2)所示:
DFT实现时采用的快速算法即是FFT,经FFT处理后,信号的频率分辨率为:
式中,fs为采样率,设信号的时宽为T,则信号的点数为T×fs,信号的频率分辨率可表示为:
可见,FFT测频的频率分辨率只与信号时宽有关,根据谱线的最大值来换算信号的频率,如果信号的频率正好落在一根谱线上,得到的频率测量结果是准确的,而在多数情况下,信号频率落在两根谱线之间,由最大值谱线位置反映的频率不再准确,最大测频误差为Δf/2。
脉冲是雷达最常采用的信号形式,根据需要,雷达有时会采用脉内带调制的信号类型,例如相位编码、线性调频等,对于此类复杂信号可采用各种信号处理方法将其转化为普通正弦波信号,因此正弦波脉冲的测频方法具有通用性。根据上文分析结果,对于时宽较长的脉冲,采用FFT测频法易于实现较高测频精度,满足设备指标要求。但是对于短脉冲,例如一个0.2μs宽的脉冲,根据式(3),理论能达到的测频精度只有2.5MHz,难以满足侦察要求。
补零[1]是指在进行FFT运算之前在时域数据的尾部添加一些零,并使总的时域数据点数保持为2的幂次方。由于补零不增加任何新的信息,所以并不改变频谱形状和频率分辨率,补零只是在原始点数的FFT结果中内插了一些频率分量。对于点数较少的FFT结果,在大多数情况下,从中找到峰值比较困难,也很难观察到频谱的细微结构。而补零之后,功率谱的峰值位置可以较清晰的显露出来,有助于提高对主瓣峰值频率分量进行精确定位的能力,由此提高测频精度。
补零技术的缺点是额外增加了处理量,补零越多,处理时间也就越长。此外,对于存在噪声的情况,补零也不能改善信噪比,存在频谱峰值点定位错误的可能,造成测频误差增大。
插值FFT估计频率方法利用真正的频谱峰值两侧的2根FFT谱线,求其幅度比值,建立一个以修正频率为变量的方程,解方程得到修正频率值,对FFT最大谱线位置进行校正,以实现对信号频率更高精度的估计,如图1所示。相比上节补零的方法,不必增加FFT的长度以及由此带来的运算处理量,只需从FFT结果中找出两个点就足够。
图1 矩形窗频谱函数
在图1中插值频率校正即求出矩形窗谱主瓣中心与相邻谱线的横坐标差,对于谱线位置x、x+1,其矩形窗谱函数为sinc函数[2],表示为f(x),频谱值为yx、yx+1,矩形窗谱函数和频谱值已知,可构成一方程如下:
在图1中,sinc函数以峰值横坐标为零点,频率修正值δ=-x,只要根据式(4)求解出x,即可得到频率修正值。
对矩形窗谱函数归一化,求模可得:
带入式(4),得到:
式中,α=yx/yx+1。实际应用中,已知FFT谱峰最大值位置k1,相邻次大值位置k2,频率分辨率Δf,利用修正频率值校正频率可得[3]:
当k2=k1+1时,取加号;k2=k1-1时,取减号。
以上对插值FFT频率估计法进行了理论分析,实际应用中,不可避免的会有背景噪声,本小节将在加性高斯白噪声背景下,通过仿真分析插值FFT频率估计法的性能。
设定仿真参数,信号采样率fs为1280MHz,脉冲宽度0.2μs,频率分别设f1为102.4MHz,f2为100.4MHz,按照10dB信噪比加入高斯白噪声[4]。
以信号频率f1进行仿真,连续测频1000次,仿真结果如图2所示。由图可知,最大测频误差不超过300kHz。
图2 测频误差变化图
以信号频率f2进行仿真,连续测频1000次,仿真结果如图3所示。由图3可知,最大测频误差超过1MHz。
图3 测频误差变化图
由以上结果易知,噪声背景下的插值法测频误差与频率位置的选取有关,准确的说,是与实际频率位置偏离FFT谱线的距离,即与频率修正值δ大小有关。一般情况下,FFT幅度最大值k1和相邻次大值k2都位于矩形窗函数的主瓣内,当实际频率位置位于k1、k2中间附近时,信号向两边泄漏的能量都较多,在一定信噪比下,使得k1、k2电平均大于噪声电平,确保了k2位置不会找错,这对应了图2的情况。而当δ值接近0时,较多信号能量集中在k1处,k2处幅度较小,而最大谱线相邻另一侧的幅值k3由于受噪声影响,与k2幅度接近,因此会造成最大谱线相邻的次大谱线位置找错,导致式(7)中加或减符号错误,使得测频结果出现较大误差,对应了图3的情况。可见,在噪声背景下,插值FFT测频法有局限性,即只有在δ值大于某一阈值时,才能达到较理想的测频精度[5]。
为抑制频谱泄漏,进行FFT之前常对采样数据进行加窗处理。抑制泄漏的同时,加窗会使得频谱主瓣加宽[6]。对于插值FFT法求频率,无论频谱最大值偏离实际FFT谱线距离远近,最大值及其相邻两侧谱线都被包含在主瓣之内,在一定信噪比条件下,次大值不会趋近于噪声电平,使得抗噪声性能增强。
加窗后频率校正值仍随k1、k2幅度大小变化,但变化规律不再依据sinc函数,文献[7]给出了几种窗函数对应的频率校正计算公式,当选用汉宁(Hanning)窗时,计算式较易于实现。对采样数据加Hanning窗,利用k1和k2的比值α带入窗函数,经推导可得:
利用α估计频率修正值δ的解析式如下:
校正频率的方法如式(10)所示。
设定仿真参数,信号采样率、脉冲宽度不变,仍按照10dB信噪比加入高斯白噪声。连续测频1 000次,频率f1仿真结果如图4所示,频率f2仿真结果如图5所示。
图4 测频误差变化图
图5 测频误差变化图
由仿真结果可知,最大测频误差不超过500kHz。加窗处理后,在常规信噪比条件下,次大值方向错误的概率大大降低,由此造成的频率估计误差已可以忽略。
加汉宁窗插值FFT测频的实现框图如图6所示。整个算法可在一片FPGA中实现,采样数据进入FPGA后,与汉宁窗数值相乘,汉宁窗值可预先存储在FPGA内ROM中,以查表方式读出[8]。加窗后的数据进入FFT模块进行流水处理,得到信号的频谱结果,对频谱结果进行峰值搜索,并与检测门限比较,判断是否存在信号,当频谱峰值大于检测门限时,找出峰值位置相邻幅度较大的谱线位置,按照式(8)经过插值换算,得到频率估计值[9]。
图6 加窗插值FFT测频实现框图
式(10)中存在除法计算,实现时可将除法转化为先对除数求倒数,再与被除数相乘的过程,利用FPGA中丰富的RAM资源,求倒计算利用查表完成[10]。除此之外,运算只由常规加、乘组成,便于FPGA实现。
某宽带侦察接收机,指标要求适应脉冲宽度0.2~1000μs,测频误差不大于500kHz。实现时信号检测与频率测量由FPGA硬件完成,算法采用定点实现,频率的分辨率设为15.625kHz。测频结果送出至软件显示,误差单位为kHz,取整。根据要求设置信号幅度在接收机实测灵敏度以上3dB,频率选择在1001~1003mHz和200kHz步进,脉冲宽度分别设为1μs、0.5μs和0.2μs。测试结果如表1所示。
表1 雷达信号测频精度测试结果
可见在不同频率、不同脉宽时测频最大误差均小于500kHz,满足指标要求。
论述了一种易于工程实现的脉冲信号实时测频算法,与传统方法相比可以达到更高的测频精度。经过试验证明,可以满足目前常规雷达侦察接收机的指标要求,可应用于目标为脉冲信号的电子对抗系统,具有较高的应用价值。
[1]TSUI J.宽带数字接收机[M].北京:电子工业出版社,2002.
[2]程佩青.数字信号处理教程[M].北京:清华大学出版社,2001.
[3]刘建林,陈兵.一种高精度单频信号频率估计算法[J].无线电工程,2011,41(4):26-28.
[4]万永革.数字信号处理的MATLAB实现[M].北京:科学出版社,2012.
[5]齐国清,贾欣乐.插值FFT估计正弦信号频率的精度分析[J].电子学报,2004,32(4):625-629.
[6]刘丽格,魏利辉,马媛.一种高速跳频信号实时载频测量方法[J].无线电工程,2011,41(7):30-32.
[7]丁康,谢明,王志杰.离散频谱的幅值、相位和频率的校正方法及误差分析[J].动态分析与测试技术,1996,14(1):10-29.
[8]吴争,李辉.高速并行FFT的FPGA实现[J].无线电工程,2013,43(10):16-18.
[9]赵雷鸣.一种跳频MSK信号检测算法及FPGA实现[J].无线电通信技术,2011,37(1):56-58,64.
[10]Uwe Meyer-Baese.数字信号处理的FPGA实现[M].刘凌,译.北京:清华大学出版社,2006.