基于FPGA的数字脉冲压缩系统实现
扫描二维码
随时随地手机看文章
O 引言
脉冲压缩体制在现代雷达中被广泛采用,通过发射宽脉冲来提高发射的平均功率,保证足够的作用距离;接收时则采用相应的脉冲压缩算法获得脉宽较窄的脉冲,以提高距离分辨力,从而能够很好地解决作用距离和距离分辨力之间的矛盾问题。
线性调频(LFM)信号通过在宽脉冲内附加载波线性调制以扩展信号带宽,从而获得较大的压缩比。所需匹配滤波器对回波信号的多普勒频移不敏感,因此LMF信号在日前许多雷达系统中仍在广泛使用。
本文基于快速傅里叶IP核可复用和重配置的特点,实现一种频域的FPGA数字脉压处理器,能够完成正交输入的可变点LFM信号脉冲压缩,具有设计灵活,调试方便,可扩展性强的特点。
1 系统功能硬件实现方法
该系统为某宽带雷达系统的数据采集和数字脉冲压缩部分。系统要求在1个脉冲重复周期(PRT)内完成距离通道的数据采集及1 024点的数字脉冲压缩,并在当前PRT将脉压结果传送至DSP,其硬件结构如图1所示。
数据采集系统主要包括前端的运算放大器和模/数转换器。运算放大器选用ADI公司的AD8138,将输入信号由单端转换为差分形式以满足ADC的输入需求,并且消除共模噪声的影响。模/数转换器选用TI公司的ADS5500,具有14 b的分辨率和125 MSPS的最高采样率,用来对输入LFM信号进行60 MHz的高速采样。
数字脉冲压缩模块在FPGA中实现,FPGA选用Xilinx公司的XQ2V1000芯片。在对输入采样数据进行脉冲压缩后,结果存储于FPGA片内的双口RAM中,并向DSP发送中断信号。DSP在接收到中断信号后读取RAM中的脉压数据进行主处理。
2 脉冲压缩模块的设计和实现
2.1 脉冲压缩原理
数字脉冲压缩技术是匹配滤波和相关接收理论的实际应用,频域的匹配滤波等效于时域的相关接收。基于匹配滤波理论实现数字脉冲压缩的原理如图2所示。
图2中θ(f)为发射信号的非线性相位谱,接收的回波信号在经过匹配滤波后,非线性相位谱得到校正。输出的窄脉冲为:
匹配滤波器有一个重要的特性:对波形相同而幅度和时延不同的信号具有适应性。也就是说,与信号s(t)匹配的滤波器,对信号as(t-τ)也是匹配的。回波信号s(t)在波门中的位置反映在脉压结果峰值出现的位置,这也是利用雷达脉冲进行测距的主要依据。
2.2 脉冲压缩原理
脉冲压缩模块包括FFT、与IFFT单元、复数乘法单元以及存储单元,其结构框图如图3所示。其中,FFT和IFFT单元是通过复用Xilinx公司提供的快速傅里叶变换IP核来实现的,而硬件乘法器则为复乘提供了解决途径。
采样数据首先存入FIFO中进行全局缓存,然后FFT单元从FIFO中读取采样数据,紧接着进行FFT运算,结果在流水输出时直接与匹配滤波器系数相乘,并将运算结果写入块RAMl中,最后IFFT单元从块RAMl中读取复乘后的数据进行IFFT(复用FFT运算IP核)运算,结果写入块RAMl后发送中断信号,等待DSP读取。
2.2.1 FFT处理单元的硬件复用
在系统中FFT处理单元通过使用软核Fast Fourier Transform v3.O来实现的。该IP核提供3种结构选择。
(1)管线级,数据流水I/0。这种结构将若干基-2蝶形单元级联起来,使得数据的输入、计算、输出可以流水进行,从而可以达到很高的处理速度,但资源消耗较大;
(2)基-2,最少资源消耗。这种结构采用单个基-2蝶形单元对输入数据进行变换,运算消耗的时间较长;
(3)基-4,突发I/O;这种结构采用单个基-4蝶形单元对输入数据进行变换,并利用块RAM来存储旋转因子,占用系统资源较少,在1个PRT内可以完成脉压结果的输出,从而在资源和速度这两者之间达到很好的平衡,也是设计中实际采用的结构。
FFT处理单元主要包括2个过程:数据I/O和运算过程,但两者不是流水执行的。FFT启动信号有效后,数据开始进行装载,装载完成后开始进行FFT运算;等待运算结束后,结果才可以输出。在运算过程中,不发生数据的装载或输出。
在数字设计中,FFT和IFFT处理单元时可以采用相同的结构来实现的。具体的方法是:在做IFFT运算前,先交换输入数据的实部和虚部,然后送入FFT处理单元按照FFT的结构进行运算,并交换FFT运算结果的实部和虚部,最后除以运算点数N,就可以得到IFFT的运算结果。
该IP核基于上面的方法同时具有进行IFFT运算的功能,通过实时配置端口FWD INV上的电平可以实现复用,分别完成FFT和IFFT运算。在FPGA设计中,利用结构复用减少逻辑单元块,不仅可以节约系统资源,而且能够减少结构间的硬连线及传输线时延,有利于提高系统的工作频率。
2.2.2 脉冲压缩模块的时序设计
由于FFT和IFFT的逻辑运算功能已经在IP核中实现,因此时序设计便显得尤为重要。在FFT(或IFFT)运算单元中,主要的状态与时序控制信号及其功能描述如表1所示。
在采样距离门有效期间,将样本数据写入FIFO中进行缓存。采样结束后,通过FFT单元的写使能信号(NFFT_WE和FWD_INV_WE)将NFFT=010 10及FWD_INV_WE=1写入状态控制寄存器设定工作模式,接着启动START信号进行FFT运算,写使能信号与sTART之间仅差1个时钟周期。运算结束后,DONE信号有效1个时钟周期,输出使能信号UNLOAD与DONE同步,经过7个时钟周期后数据有效信号DV开始有效,FFT运算结果开始流水输出,同时与匹配滤波器的系数相乘,并存入RAM中。由于乘法运算的固有延迟,写使能RAM_EN延迟DV信号2个时钟周期。存储结束时,IFFT单元的写使能信号同时有效,并设定NFFT=01010及FWD_INV_WE=0,接着启动START信号进行IFFT运算。运算结束后,DONE信号(与UNLOAD同步)再次有效,IFFT运算输出结果在DV信号有效期间直接写入RAM中。单个PRT内各控制信号的具体时序说明如图4所示。
2.2.3 块浮点数据格式
在数字信号处理系统中,数据表示格式可分为定点制、浮点制和块浮点制,它们在实现时对系统资源的要求不同,工作速度也不同,有着不同的适用范围。定点表示法使用最多,简单且速度快,但动态范围有限,需要用合适的溢出控制规则(如定比例法)适当压缩输入信号的动态范围,但这样会降低输出信号的信噪比。浮点表示法的优点是动态范围大,可避免溢出,能在很大的动态范围内达到很高的信噪比,主要缺点是系统实现复杂,硬件需求量大,成本和功耗高,而且速度较慢。
块浮点表示法兼有定点法和浮点法的某些优点,是以上2种表示法的结合。这种表示法首先对一组数据进行检测,归一化最大数的小数部分,再建立适当的指数。接着把剩下数据的小数部分转化为合适的数,使它们可以使用最大数的指数。块浮点算法的主要优点是:大动态范围、低截断(或舍入)噪声,是一种有效的数据表示形式。从芯片实现角度上看,块浮点表示法能够保证较高的信号处理质量,尤其适用于FFT运算的场合。脉压模块中的FFT核带有块浮点运算的功能,整个运算过程中的数据格式表示如图5所示。
ADC输入数据为14 b的二进制补码形式,对其低位补零扩展为16 b(IP核要求的输入精度)后送入FFT运算单元,输出结果为16 b的定点数以及指数EXP1。复乘包括乘法和累加运算,即FFT结果与匹配系数进行16 b×16 b的乘法运算,所得结果再进行加法运算;在进行加法运算前,所有数据扩展为33 b以防止溢出的发生,最终数据截取高16 b送入IFFT处理单元,输出为16 b的定点数和指数EXP2,将其与EXPl相加后
得到指数EXP。脉压的最终结果即为IFFT后的16 b定点数以及指数EXP,两者分别存储在FPGA片内RAM中。
2.3 脉冲压缩模块的测试
设输入理想LFM信号参数如下:带宽B=40 MHz;时宽T=6μs;系统样本速率为60 MHz;使用海明窗加权。在上述条件下,脉冲压缩系统的输出结果对数图如图6所示。
在图6中,横轴代表距离采样单元,即系统最小距离分辨率。通过系统实际处理结果与Madab仿真结果的对比验证了设计的正确性和实用性。
3 结语
系统采用ADS5500完成14位、60 MSPS的数据采集,并在FPGA中实现1 024点的数字脉冲压缩。设计采用并行流水方式提高工作速度,而块浮点算法则充分保证运算的精度。IP核的复用大大降低硬件规模,从而使整个系统具有高速度、高精度和低功耗的特点。