您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子技术应用 > 嵌入式技术 > FPGA/ASIC技术 >

基于FPGA IP核的线性调频信号脉冲压缩(2)

2011年06月29日 10:40 现代电子技术 作者:张 旭,李 巍 用户评论(0
2.1 系统硬件平台

  该系统硬件平台主要包括:差分驱动电路,A/D采集电路、FPGA电路、晶振等电路、电路结构框图如图3所示。

  

 

  FPGA采用的是Xilinx公司的芯片XQ2V1000,其配置芯片为Xilinx公司的PROM芯片XQ18V04,以主动串行方式对FPGA进行上电配置。差分驱动电路选用ADI公司的AD8138,A/D、D/A电路分别为ADI公司的14位高速模/数转换芯片ADS5500和14位高速数/模转换芯片DAC5675A。硬件电路的设计注重细节:I/Q两通道传输线设计时保证线长相等,使得I/Q时延带来的相位误差一致;采用DCI(DigitaUy Controlled Impe-dance)端接技术,在FPGA的每个bank上外接两个参考电阻来对该bank的每个I/O管脚实现端接,减少外接电阻的数量,实现阻抗匹配,提高系统的稳定性;做好电源滤波,对元器件进行合理布局,布线,对模拟信号和数字信号进行有效隔离,减小信号间串扰。

  2.2 软件设计流程

  

 

  整个脉冲压缩处理在时间上是顺序的,是典型的数据流驱动的系统,即先进行FFT,复乘然后是IFFT及FIFO输出,脉冲压缩的总时序关系见图4。该系统实现1 024点的脉冲压缩,算法上采用基于IP核的设计方法。主要用到了FFT核,乘法器核以及单口Block Memory核,这些IP核的应用及脉冲压缩的具体实现如下所述。

  2.2.1 FFT运算

  对于长度为N的时域序列X(n)的离散傅里叶变换为X(k):

  

 

  FFT算法主要是利用旋转因子exp(-j2πnk/N)的周期性和对称性的特点进行改进的算法,可以有效地减小运算量。Xilinx公司的FFT核利用Cooley-Tukey算法实现FFT/IFFT运算,最高支持216点长度的运算,可以实现流水线型、基4、基2三种结构,蝶形运算后可选择对数据顺序输出还是倒序输出,对IP核进行不同的配置,可以实现资源和运算速度的最优化。在此选用基4蝶形运算,对于1 024点数据,需要5级蝶形运算。

  

 

  Xilinx公司的FFT核的参数通过GUI界面(见图5)进行设置,可设置的参数包括FFT点数,运算实施方法,输入数据位数等,设置完毕后点击Generate可即时生成代码。

  硬件描述语言采用VHDL,使用时程序中要对器件初始化并进行定义,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后脉冲压缩的运算结果。

  

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:叶子 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!