基于FPGA的脉冲压缩仿真与实现之二
基于FPGA的脉冲压缩仿真与实现之二3.2 5阶FIR滤波器设计
Stratix器件的LPM_ROM模块最少有32(25)个存储单元,所以设定滤波器模块阶数N=5。5阶滤波器模块设计如图4所示,其中lpm_dff0为12位锁存器,5个锁存器对输入数据进行移位寄存,firda5为分布式算法模块,DATAS输出引脚是滤波器模块最后一个锁存器输出,作为滤波器模块级联时不同滤波器模块之间的数据移位。
分布式算法模块firda5实现数据的并串转换、DALUT查表、加权累加。设计中采用状态机实现分布式算法的状态转移,这样简化计算过程,在实现算法时发挥关键作用。根据分布式算法的状态转移关系,每输入一个数据,在下一个数据输入之前,需要在状态s1停留12位数据宽度的时钟时间和2个寄存的时钟时间(在QuartusII软件中,器件选用Stratix系列,利用LPM_ROM模块,地址输入是寄存输入,数据输出也包含寄存器)以及一个数据输出时钟时间:所以系统时钟必须为数据时钟的16倍,图中div 16实现16分频。
3.3 50阶匹配滤波器设计
由于匹配滤波器就是有限脉冲响应(FIR)滤波器,具有线性特性,所以通过低阶滤波器的直接级联相加就可以实现高阶滤波器,前一个滤波器的移位数据DATAS作为下一个滤波器模块的信号输入,每个滤波器模块都根据图4设计,只需要根据不同的系数更改DALUT表中的数据。50阶匹配滤波器的逻辑设计如图5所示。其中,Imatch50模块为匹配滤波器复系数实部对应的50阶滤波器,而Qmatch50模块为匹配滤波器复系数虚部对应的50阶滤波器。输出信号包括16位I信号和16位O信号。
对该匹配滤波器波形仿真,输入数据为MATLAB仿真的12位数据,由于该滤波器做的是50x50点的卷积.所以输出数据为50+50-1=99个,仿真波形如图6所示。
4 结论
通过仿真分析脉冲压缩过程和调试验验证整个设计.可看出利用基于分布式算法能够大大减少数字脉冲压缩的运算量,提高脉冲压缩效率。由于匹配滤波器的系数是以中心,点对称的,所以可采用线性相位FIR滤波器在FPGA中的实现算法,这样同等性能的滤波器设计可减小一半的硬件规l模。同时,还可通过分时复用嵌入式乘法器来实现卷积,这样就会节省更多的逻辑单元,并且有能力实现更多功能。
基于FPGA的脉冲压缩仿真与实现之二 基于FPGA的脉冲压缩仿真与实现之二
页:
[1]