基于FPGA IP核的线性调频信号脉冲压缩
并进行定义,FFT核的器件定义语句见图6。
2.2.2 匹配滤波系数产生
根据匹配滤波理论,对于一个确定的输入信号,匹配滤波系数就是这个输入信号的频谱的复共轭,系数可以通过Matlab预先计算出来并以二进制的文件格式进行存储。此处计算时可以进行加权处理,在系数中乘以窗函数即可。
通过Xilinx公司的单口Block Memory核,可以把Matlab产生的存储文件加载进去。当程序运行时,根据使能控制信号,把匹配滤波系数数据(1 024点)依次读取出来,送入乘法器进行后续运算。BlockMemory核的参数设置通过GUI界面进行,可即使生成代码。
2.2.3 乘法运算
乘法运算部分完成FFT后数据与匹配滤波系数数据的复数乘法运算。根据复数的乘法规则。
(A+aj)(B+bj)=(AB-ab)+(Ab+aB)j
两个复数的乘法运算实际上包括了4个实数的乘法运算,因此,此部分的设计用到了4个乘法器核。Xilinx公司的乘法器核支持补码运算,可输入A,B两路数据,每路的输入数据长度可达64 b。乘法器核的参数设置也是通过GUI界面进行,可即使生成代码。
2.2.4 IFFT运算
IFFT运算的处理单元和FFT的处理单元采用相同的结构来实现。具体的实现方法是,在做IFFT运算前,先交换输入数据的实部和虚部,然后送入FFT处理单元按照FFT结构进行运算,得到运算结果后,再对其实部和虚部进行交换,然后除以运算点数1 024,就可以得到IFFT后脉冲压缩的运算结果。
2.3 工程软件仿真
利用ModelSim仿真软件首先对程序代码进行时序功能仿真,完成逻辑的综合与实现之后再进行布局布线后仿真,此时的仿真已基本接近真实情况。综合后的仿真情况如图7所示,仿真结果表明软件运行正常,可实现线性调频信号的脉冲压缩。
2.4 测试数据分析
完成程序编制及仿真之后,把软件加载至FPGA中进行全面测试。通过Chipscope软件可以采集到A/D之后的I/Q线性调频基带信号数据以及经过FPGA处理后的脉压数据,把A/D后采集到的数据放在Matlab中进行理想的脉冲压缩,与实际FPGA的脉压结果进行对比。从图8中可以看出,两种处理的结果是一致的,主副瓣比大约都在35 dB左右,主瓣宽度也基本相同。如图8所示。
脉冲压缩系统软、硬件调试完毕之后,通过板上的D/A输出可以直接监测脉冲压缩后的I/Q信号波形,如图9所示。
3 结语
本文主要介绍了一种利用FPGA IP核设计线性调频信号脉冲压缩的方法,通过各种仿真与实际测试表明脉冲压缩结果正确。这种基于IP核的模块化设计方法非常灵活,参数的设置和修改方便,大大缩减了设计的开发周期。需要注意的是,虽然IP核的内部结构和实现功能已经固定,但设计时也要结合算法原理和IP核的自身特点综合考虑,对参数进行合理设置,以便获得硬件资源和运算速度的最优化。
- Xilinx Kintex UltraScale 一半尺寸的 PCI Express 平台 (HTG-K816)(06-15)
- Xilinx全新参考设计提供业界首个单芯片400G解决方案(02-12)
- Xilinx用于工业自动化的机器视觉解决方案(11-30)
- Xilinx多协议机器视觉摄像机参考设计(12-01)
- 机器视觉技术原理解析及解决方案集锦(02-06)
- 机器视觉在汽车电子方向的应用解决方案(02-13)