1.2 方位脉冲压缩系统的结构 实现R-D算法中方位脉冲压缩的思路是先将信号经过FFT变换到频域,然后与匹配函数经过FFT后的结果进行匹配相乘,再经过IFFT得到压缩好的脉冲。在FPGA上实现时,应该包括输入\输出数据控制模块、FFT\IFFT模块、匹配函数运算模块、匹配相乘模块。数据流及各个模块的相互关系,如图1所示。
距离脉冲压缩的数据先进入输入数据控制模块,送入FFT运算模块,同时匹配函数运算模块进行工作,输出计算好的匹配函数,与FFT的输出结果同时送到匹配相乘模块中,相乘后的结果送入IFFT模块中,最后将IFFT的结果经输出数据控制模块进行输出。 2 方位脉冲压缩系统的FPGA设计 2.1 输入/输出控制模块 输入数据控制模块的主要作用是将数据送入FFT模块,同时给出FFT模块所需的控制信号,例如数据有效信号。数据流入数据控制模块时要做好缓存工作,保证其与FFT控制信号同步进入FFT模块。为了节省FPGA的资源,可以把相同功能的模块,如FFT/IFFT,进行复用。若FFT与IFFT模块复用,则应在输入模块中加入状态机来进行控制。状态1为无任何原始数据输入并且无IFFT运算的数据输入的状态;状态2为仅有原始数据输入而无IFFF运算的数据输入的状态;状态3为无原始数据输入但是有进行IFFT运算的数据输入的状态。状态机仅需要原始数据有效的使能信号与匹配相乘后数据有效的使能信号来进行控制即可。状态1代表了整个系统处于等待数据输入初始化的工作状态。状态2代表了原始数据进行FFT运算的工作状态。状态3代表了匹配相乘后数据进行IFFT的工作状态。 在FFT模块与IFFT模块复用的结构中,输出控制模块的作用是当匹配相乘的数据到来时,将其送入输入数据控制模块,再由输入数据控制模块送入FFT模块去完成IFFT运算;当计算出IFFT的结果时,输出数据控制模块直接将结果输出。实现上述功能,只需使用状态机即可,其工作原理与输入数据控制模块中的状态机类似。 2.2 FFT/IFFT模块 在FFF/IFFT模块的设计上,为了提高设计的性能,增加设计的灵活性,采用Altera公司于2005年4月推出的版本号为2.1.3的FFT的IPcore进行FFT和IFFT运算。该IP core是一个高性能、高度参数化的,执行正向复数FFT与反向复数IFFT的FFT处理器。 2.3 匹配函数运算模块 方位压缩的匹配函数为匹配函数再经过FFT变换到频域。在FPGA实现时要把模拟参量量化成离散的数字参量来进行处理。其中γm(RB),RB以雷达到场景中心线的距离Rs为参考进行数字量化,即每一个距离单元的RB=Rs+n deltaR,则RB相对每一个距离单元为常数。慢时间tm以脉冲重复时间1/PRF进行数字量化,相对于每一个方位单元为常数。在设计时,由于γm(RB)对于同一个距离单元来说为常数,所以可以把不同距离单元的γm(RB)按一定顺序存入一个ROM中,在处理不同的距离单元时读取相对应的γm(RB)。αr(tm)实现时用汉明窗。对于exp()采用CORDIC算法生成sin,cos来进行实现。若一个距离单元nan有个采样点,则向量由于PRF为常数,所以仅需设计一个产生向量[-nan/2:nan/2-1]2的模块,即每个时钟周期送出向量[-nan/2:nan/2-1]2中的一个数。匹配函数运算模块的框图,如图2所示。
|