贾颖焘等
摘 要: 研究基于FPGA和DSP的线性调频信号脉冲压缩的一种实现方法,FPGA负责信号的预处理,主要包括FIR滤波和正交解调,DSP负责脉冲压缩的实现,给出了FPGA各部分的功能框图和DSP的算法流程图,对比了匹配滤波器加窗前后脉冲压缩结果的第一距离旁瓣的变化。结果表明,加窗后匹配滤波器输出的旁瓣距峰值衰减由13 dB增加至32 dB。
关键词: 脉冲压缩; 线性调频信号; 匹配滤波; FIR滤波; 正交解调
中图分类号: TN957.51?34 文献标识码: A 文章编号: 1004?373X(2015)17?0013?04
Pulse compression of radar signal based on FPGA and DSP
JIA Yingtao1, GU Zhaoyu2, FU Qixiang2, WANG Wei2
(1. Research Institute of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China;
2. Key Laboratory of National Complex Electromagnetic Environment Effects, School of Electronic Science and Engineering,
National University of Defense Technology, Changsha 410073, China)
Abstract: The implementation method for pulse compression of linear frequency modulation (LFM) signal based on FPGA and DSP is researched, in which FPGA is responsible for signal preprocessing, and DSP is responsible for the implementation of pulse compression. Function block diagrams of each FPGA module and the algorithm flow chart of DSP are given. The change of the first distance side?lobe of pulse compression results before and after adding the window of the matched filter is compared. The result shows that after adding the window, the side?lobe peak attenuation output by the matched filter is increased from 13 dB to 32 dB.
Keywords: pulse compression; LFM signal; matched filtering; FIR filtering; quadrature demodulation
0 引 言
脉冲压缩(简称脉压)技术能有效解决雷达作用距离与距离分辨率之间的矛盾,能同时获得较大的作用距离和较高的距离分辨率[1]。相比于简单脉冲的时宽带宽积为1,脉冲压缩信号能获得远大于1的时宽带宽积,通过对简单脉冲增加频率或相位调制可以得到脉冲压缩信号[2],其中线性调频信号是常见的脉冲压缩信号。线性调频脉冲压缩技术被广泛应用于雷达、声纳等系统。目前,雷达信号处理系统主要采用FPGA或DSP等器件实现。本文研究的基于FPGA和DSP的雷达信号处理模块实现了对线性调频信号的采集、存储、滤波、正交解调和脉冲压缩等过程,达到了实时脉压处理的效果。
1 系统设计
本系统接收到的雷达中频回波信号为线性调频信号,调频类型为正调频,中心频率[f0=20 ]MHz,带宽[B=]10 MHz,脉宽[τ=8 ]μs,重复周期为200 μs。
本模块主要包括A/D采集模块、时钟产生模块、基于FPGA的信号预处理模块、基于DSP的信号处理模块和大容量存储模块,系统框图如图1所示。待采集的雷达中频回波信号经A/D采样转换为数字信号送入FPGA内,FPGA在触发信号的控制下将采集的数据存储到内部的块RAM中,存储完毕后,FPGA对信号进行FIR滤波,之后再对滤波器输出进行正交解调,将信号搬移到基带。解调完毕后,FPGA通过系统控制模块向DSP发出中断申请,DSP响应中断后,开始从FPGA读取解调后的数据进行格式转换并归一化后存入外部SDRAM芯片中,之后开始对基带数据进行脉冲压缩处理。
本设计中,ADC芯片采用AD公司的10位采样芯片AD9211,根据信号的带宽和最高频率将A/D采样速率设定为60 MSPS。采样时钟由时钟产生模块提供LVDS电平60 MHz的稳定时钟,参考电压默认使用内部1.25 V参考。
2 基于FPGA的信号预处理
本设计中的FPGA芯片采用XILINX公司的45 nm工艺Spartan?6系列的XC6SLX150T,该芯片具有丰富的内部资源,具有低成本、低功耗的特点。FPGA中对信号的处理主要包括FIR滤波和正交解调两部分,另外,FPGA要完成对A/D采样信号、FIR滤波结果和正交解调结果的存储以及最终和DSP之间的数据交换。
2.1 数据缓存和数据交换
FPGA中的数据缓存需要存储的数据有A/D采样数据、FIR滤波输出和正交解调输出。解调完毕的数据要送入DSP内,FPGA和DSP的数据交换需要由传输控制模块完成。
在A/D采样时,利用外部触发信号即可实现对信号的有效存储。触发信号的起始边沿对应于脉冲的起始处,A/D采集信号存储到FPGA的双口RAM1中。双口RAM1存储完毕后,FIR滤波器读取数据完成FIR滤波并将滤波结果存入双口RAM2中,再经正交解调后将解调结果存入双口RAM3中。
双口RAM3中的数据存储完毕后,FPGA向DSP发送外部中断,DSP响应中断并开始从FPGA读取数据。DSP与FPGA的数据交换遵循TS201的数据传输协议[3],FPGA通过传输控制模块接收DSP的读信号(RD)和存储器选择信号(MS),并将DSP发出的地址信号(ADDR)解码为双口RAM3对应的地址(AddrB),最终将数据从FPGA送入DSP。
FPGA的数据缓存以及与DSP的数据交换框图如图2所示。
2.2 FIR滤波
线性调频信号的频带限制在15~25 MHz以内,A/D得到的采样数据可先通过带通滤波器滤除带外噪声,也可使数据变得平滑。基于FPGA的带通滤波器采用FIR滤波器。FIR滤波器的显著优点是可以做到线性相位,并且总是稳定的。当滤波器系数满足奇对称或偶对称条件时,FIR滤波器就会具有线性相位特性[4]。FIR滤波器的实现框图如图3所示。
由于线性相位FIR滤波器的系数是镜像对称的,所以[N]阶FIR滤波器只需要[N2]个存储单元。对于32阶的FIR滤波器,只需取前16个系数存入深度为16的系数ROM中即可。在FIR滤波器的对称结构中,每一个乘加单元都是将镜像对称的两个输入数据相加再和相应的滤波器系数相乘。在对输入[x(n)]取连续32个数据缓冲时可设置镜像对称的两个缓冲器,即两个深度均为16的双口RAM,并且按镜像对称的方式排列,这样两个RAM只需要一个地址指针[5],指针从15顺次减至0,对应的输入数据相加并和相应的系数相乘最终完成累加就得到了一个输出。
利用Matlab的FDATool工具,响应类型选择带通,采样频率为60 MHz,通带起始频率和截止频率分别设为15 MHz和25 MHz,两个阻带的截止频率分别设为12 MHz和28 MHz,通带起伏0.5 dB,阻带衰减40 dB,指定阶数32,可生成32阶FIR滤波器的系数。
抽头系数存储在FPGA中的ROM中,由于滤波器抽头系数均为小于1的浮点数,且有符号,所以必须采用一定的编码方式存储[6]。本文采用缩放法,即先将抽头系数放大取整,再以二进制补码方式量化,最后得到结果后按同样的比例缩小。每个抽头系数均放大32 768倍,即左移15位,采用16 b数据以二进制补码方式编码,将编码完毕的抽头系数存放在FPGA的系数ROM中。
FIR滤波器的输出经过正交解调得到基带信号,解调时需要两路本振信号,分别为I路[cos(2πf0t)]和Q路[sin(-2πf0t)],它们分别与线性调频信号相乘,可得到两路基带信号和中心频率为[2f0]的高频线性调频信号。
2.3 系统控制
系统控制模块完成对FPGA内各部分子模块的全局控制和有效调度,控制方式采用有限状态机方式,状态转移图如图4所示。系统上电后,控制器进入初始化状态,完成对芯片的初始化,并且通过SPI接口对时钟芯片下发时钟配置参数。控制器检测到外部触发信号的起始边沿时,转移状态至采样存储,在此状态下,连续存储所需个数的采样点,存储完毕后,转移状态至FIR滤波,滤波结果存储完毕后转移状态至正交解调,解调结束后控制器向DSP输出外部中断信号并回到空闲状态。控制器接收到DSP读取数据的控制信号后,通过传输控制模块完成数据传输并返回空闲状态。
3 基于DSP的脉冲压缩
脉压处理主要在DSP内实现,本设计中DSP芯片采用AD公司的ADSP?TS201,该芯片最高工作频率达600 MHz,具有24 MB内部DRAM存储器,集成SDRAM控制器,可方便控制外部SDRAM大容量存储器。
脉冲压缩技术的实现是指发射机发射具有大时宽带宽积(远大于1)的宽脉冲调频信号,目标反射回波经匹配滤波处理后获得窄脉冲的过程。在对回波信号正交解调之后,得到的I,Q两路信号在DSP内可以合并为一个复信号,将此复信号经过匹配滤波器滤波即可实现脉冲压缩。本文采用FFT的方法进行快速卷积以实现匹配滤波器对信号的滤波。
信号进入DSP后,I路信号为[cos(πkt2)],Q路信号为[sin(πkt2),]所以匹配滤波器的输入信号为[cos(πkt2)+][jsin(πkt2),]其中,[k=Bτ。]由匹配滤波理论可知,匹配滤波器的频谱是输入信号频谱的共轭,由此生成的匹配滤波器的结构和脉冲压缩的实现框图如图5所示。
DSP内FFT的实现利用AD公司的库函数,库函数中有实数FFT函数和复数FFT函数,这里FFT的输入是由两路信号组合成的复信号,因此选用复数FFT函数。在调用FFT函数之前,需要生成用于计算FFT的旋转因子。实部旋转因子为[twid_re(k)=cos(2πkN),]虚部旋转因子为[twid_im(k)=sin(2πkN),]其中[N]为FFT点数。为了提高计算效率,旋转因子只需计算cos和sin函数的前[34]周期的数据。旋转因子作为DSP程序的初始化部分,只计算一次并存储于DSP的RAM中,之后所有的FFT和IFFT计算均可直接调用。
在进行FFT运算时,需要指定FFT的点数,为了提高FFT的效率,FFT的点数应该是2的整次幂。脉冲的长度为[N1]=480,匹配滤波器的点数为[N2]=480,由信号理论可知,只有把两信号分别补零至[N]点,且当[N≥][N1+N2-1]时,匹配滤波器输出结果才是二者的线性卷积,所以FFT点数选取1 024。
线性调频信号匹配滤波器的输出会产生距离向(即时延)旁瓣。这是由于线性调频信号的频谱近似为矩形,从而会产生类似sinc函数状的距离响应。为了减小匹配滤波器输出信号的时域旁瓣,可以考虑在频域对匹配滤波器的响应加窗。本文选用汉明窗,窗的宽度应该覆盖线性调频信号的有效带宽,则窗的长度可由下式确定:
[Nw=BfsNFFT]
本文中,[B=10 ]MHz,[fs=60 ]MHz,[NFFT=1 024,]计算可得[Nw=170,]根据公式计算得到长度为170的汉明窗。
DSP进行脉冲压缩的计算流程如图6所示。
经DSP计算得到的匹配滤波器的频谱如图7所示。在未加窗的情况下,对匹配滤波器输出后的脉压结果取对数所得结果如图8所示,从图中不难看出,第一距离旁瓣大约比输出峰值低13 dB。
对照图7所示的匹配滤波器的频谱,由于频谱的有效带宽分布在两边,所以应将汉明窗上下翻转,如图9所示,并将翻转后的窗函数从中间拆成左右两半,左右各85个点,左半部分乘到匹配滤波器频谱的前85个点,右半部分乘到匹配滤波器频谱的后85个点,匹配滤波器的中间部分全部乘以0,这些0作为窗函数展宽到1 024点时补0所得。
加窗后匹配滤波器输出的脉压结果如图10所示,从图中可以看出,第一距离旁瓣大约比输出峰值低32 dB。
4 结 语
本文详细介绍了基于FPGA和DSP的线性调频雷达信号脉冲压缩的一种实现方法。首先在FPGA中对信号进行FIR滤波和正交解调,然后在DSP中进行脉冲压缩,达到了实时处理的效果,并讨论了匹配滤波器加窗后脉冲压缩结果的变化。该设计已成功应用于某雷达信号处理机中,并取得了非常好的处理效果。
参考文献
[1] 王远模,马君国,李保国,等.浮点脉压处理器的FPGA实现研究[J].现代雷达,2005,27(10):41?44.
[2] RICHARDS M A.雷达信号处理基础[M].北京:电子工业出版社,2012.
[3] Analog Devices. ADSP?TS201 TigerSHARC processor hardware reference [R]. US: Analog Devices, 2004.
[4] 谢海霞,孙志雄.可编程FIR滤波器的FPGA实现[J].电子器件,2012,35(2):232?235.
[5] 李玉林.基于FPGA的直接型FIR滤波器实现[J].现代电子技术,2006,29(10):1?3.
[6] 栗晶晶,赵岩,李富华.基于FPGA的FIR滤波器的设计与实现[J].声学技术,2011,30(4):471?474.
[7] 邱兆坤,马云,王伟,等.基于FPGA的数字化正交解调接收机最优设计[J].电子与信息学报,2006,28(1):41?44.