基于FPGA的NLFM信号参数化产生方法
2021-03-18王静娇刁志龙
杨 阳,沈 洋,王静娇,刁志龙
(中国船舶集团有限公司第八研究院,南京 211153)
0 引 言
由于线性调频信号经脉冲压缩后仅能获得-13.2 dB的距离旁瓣,一般需要加窗函数来抑制旁瓣,从而导致脉压后的信噪比降低、主瓣展宽。非线性调频(NLFM)信号通过对功率谱进行加权修正避免了脉压时加窗造成的信噪比损失,近年来获得了大量运用[1],多样的设计优化方法也应运而生。
NLFM信号的产生比线性调频复杂,且模板众多,很难用单一的数学模型描述。雷达实时基带波形产生常常采用基于FPGA的DDS技术,该方法不仅输出信号形式多样,且稳定性高[2]。对于少量的NLFM产生需求,一般采用查表法和CORDIC计算法:查表法将信号所有采样点信息存于ROM中,同时也快速消耗存储资源,难以存放大量NLFM信号;CORDIC计算法对NLFM信号特定的调频函数或窗函数进行实时计算,定制性强,当引入新的信号模型时需要进行针对性开发,同样难以适应参数化的批量产生需求。
本文以DDS技术为基础,介绍了一种基于FPGA的NLFM信号参数化产生方法:从调频函数曲线切入,提出了两种曲线的线性拟合方法,并进行了逼近误差比较;在此基础上从工程实际出发,对基于正弦、正切模板的NLFM信号分别进行了脉压效果评估。
1 NLFM信号线性逼近原理
在雷达系统中广泛应用的NLFM波形包含基于正弦和基于正切的波形。对于基于正弦的波形,时间与频率的关系为
(1)
式中,T为脉冲宽度;B为信号带宽;k为副瓣电平控制因子。
对于基于正切的波形,时间与频率的关系为
f=Btan(2βt/T)/(2tanβ),-T/2≤t≤T/2
(2)
式中,β=tan-1α,0≤α≤∞,α为时间副瓣电平控制因子[3]。
基于两类模板的NLFM信号调频函数如图1所示。可以看出,有固定模板的调频曲线硬件已难以直接实现,对于更为复杂的超越函数只能采用近似方法实时产生。
图1 NLFM信号的调频函数
目前在FPGA中,计算超越函数一般采用查表法、级数展开法、CORDIC法和分段线性逼近法等[4-5]:查表法将波形或调频的所有采样点信息存于本地查找表中,结构简单,易于实现,但对存储资源消耗极大;级数展开法将超越函数近似展开为多阶泰勒级数,实现较复杂,对DSP资源提出了很高的要求;CORDIC法通过多次迭代能够获得很高的计算精度,且仅涉及简单的移位、加减运算,非常适合FPGA使用,但针对不同NLFM模板必须进行定制化开发,难以适应参数化批量产生需求;分段线性逼近融合了查表法和一阶多项式,实现过程更接近LFM信号,是计算超越函数的理想选择。分段数越多,消耗的查找表资源越多,但近似的精度越高,因此该方法的核心问题是分段算法。相比于如文献[6]提出的通过调节分段数来获得确定的计算精度,批量的NLFM实时产生更希望以确定的分段数获得满足脉压需求的计算精度。
1.1 分段线性逼近算法原理
线性逼近算法的原理是按照一定准则,将函数f(x)划分为若干区间,每个区间内用一条线段近似逼近f(x)曲线,原理如图2所示。
图2 分段线性逼近原理
不论是OED_PWL法[6]还是2k等分法[7],本质上都是在x轴上将f(x)等分为若干区间,即xi+1-xi=l,l为常数。这些方法原理简单,但存在两个问题:一是当函数非单调时,在某些单调特性变化的区间,其近似误差会大大增加,如图3所示;二是这些方法未考虑函数本身性质,对于快速变化的区间,其近似精度不高。
图3 非单调区间误差示意
1.2 改进的分段线性逼近
针对上述问题,本文提出两种改进算法,以期在确定的分段数下获得更高的近似精度。
(1)在区间等分法基础上,通过对函数的单调区间进行划分,避免在特定单调性变化的区间出现近似精度大幅下降的情况,可称为单调法,具体算法流程如图4所示。
图4 单调区间分段逼近流程
值得注意的是,由于NLFM信号本身在频率和相位上是连续的,实际应用时可不存储系数bi,以进一步压缩存储空间。
(2)从线性逼近的原理切入,一段曲线偏离直线的程度越大,用直线逼近曲线产生的误差就越大,就需要采用更多的分段进行逼近。曲率是针对曲线上某个点的切线方向角对弧长的转动率,代表了曲线偏离直线的程度。曲率K(其倒数为曲率半径ρ)的计算公式如下:
(3)
图5说明了该方法的分段流程:首先对输入函数进行凹凸性判断,当曲线凹凸性不一致时,则对其进行重新分段,直到区间内凹凸性完全一致;然后求取函数曲率,并对其进行积分;对曲率积分进行等区间分段,确定分段端点;最后完成区间划分和参数求取。该算法对曲率积分等分,可称为曲率法。
图5 曲率法分段逼近流程
1.3 算法性能验证
仍然以上述分别基于正弦和正切模板的NLFM信号为验证对象,测试两类算法与理想曲线的均方根误差,误差单位为kHz,其中信号带宽B为2 MHz,脉宽T为90 μs,正弦和正切波形的副瓣电平控制因子分别为k=0.8和α=2。
表1和表2分别给出了单调法和曲率法的误差统计结果。可以看出,由于正弦较正切模板的NLFM信号调频函数曲率大,曲率法相对单调法在正弦NLFM信号的逼近上有较为明显的优势。当分段数为21时,其逼近误差比单调法小25%;随着分段数增加,两者差距减小;当分段数为41时,两类算法性能基本相当。对于正切NLFM信号,由于调频函数本身曲率较小,两类算法的差异并不明显。
表1 单调法均方根误差(RMSE)
表2 曲率法均方根误差(RMSE)
2 FPGA实现过程
2.1 实现方法
完成逼近算法设计后,本文采用Matlab和Vivado开发套件,在XilinxVirtex-7 FPGA上实现了所述算法的NLFM信号实时产生。Matlab对输入调频函数依照算法分段,并给出每个子区间的线性函数参数,形成.coe文件存储于FPGA本地ROM中。FPGA在时序上依次读取分段信息,完成NLFM产生。FPGA实现流程如图6所示。
图6 NLFM信号FPGA实现流程
该流程在LFM实现流程的基础上增加了步进控制器和ROM表,步进控制器从ROM中读取各子区间的参数信息,包括区间长度和斜率,并随时间实时调整频率步进控制字;最终相位信息输入CORDIC,经简单的旋转后形成波形IQ信号输出。
2.2 脉压性能仿真
脉压性能是雷达探测波形的一个核心指标。下面采用线性逼近法产生的NLFM波形进行脉压,对逼近算法性能进行评估。其中,带宽B为2 MHz,脉宽T为90 μs,采样率fs为100 MHz,分段数N=31,正弦和正切波形的副瓣电平控制因子分别为k=0.8和α=2。两种方法对正弦、正切NLFM的逼近结果分别如图7~10所示。
图7 单调法逼近正弦NLFM波形脉压
图8 曲率法逼近正弦NLFM波形脉压
图9 单调法逼近正切NLFM波形脉压
图10 曲率法逼近正切NLFM波形脉压
当分段数N=31时,不论基于正弦或正切,采用单调法逼近的NLFM信号均表现出良好的脉压特性,与理想脉压结果几乎完全一致;而采用曲率法逼近的正弦波形脉压结果则在旁瓣产生了明显的抬高,这是由于设计NLFM波形的窗函数在频带边缘快速变化,使得边缘频带在脉压中权重较小;而曲率法则倾向在快速变化的频段做密集的分段逼近,造成权重较高但变化缓慢的频段逼近误差较大。因此,调频函数的逼近误差并不能完全反映分段逼近算法优劣,仍需以脉压性能为最终考量。
3 结束语
本文介绍了NLFM波形逼近原理,并提出了基于等分法的两种改良算法,计算了两种算法的逼近误差;同时阐述了基于FPGA的实时参数化产生流程,并以脉压效果为标准对算法进行了评估。结果表明:虽然曲率法在逼近误差方面性能优于单调法,但在脉压时曲率法会产生一定程度的旁瓣畸变;而单调法逼近的脉压结果与理想结果几乎一致,能够应用于工程。