集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 940|回复: 2

基于FPGA的脉冲压缩仿真与实现之二

[复制链接]
zxopen08 发表于 2017-6-14 09:49:21 | 显示全部楼层 |阅读模式
基于FPGA的脉冲压缩仿真与实现之二

3.2 5阶FIR滤波器设计


Stratix器件的LPM_ROM模块最少有32(25)个存储单元,所以设定滤波器模块阶数N=5。5阶滤波器模块设计如图4所示,其中lpm_dff0为12位锁存器,5个锁存器对输入数据进行移位寄存,firda5为分布式算法模块,DATAS[11:0]输出引脚是滤波器模块最后一个锁存器输出,作为滤波器模块级联时不同滤波器模块之间的数据移位。

分布式算法模块firda5实现数据的并串转换、DALUT查表、加权累加。设计中采用状态机实现分布式算法的状态转移,这样简化计算过程,在实现算法时发挥关键作用。根据分布式算法的状态转移关系,每输入一个数据,在下一个数据输入之前,需要在状态s1停留12位数据宽度的时钟时间和2个寄存的时钟时间(在QuartusII软件中,器件选用Stratix系列,利用LPM_ROM模块,地址输入是寄存输入,数据输出也包含寄存器)以及一个数据输出时钟时间:所以系统时钟必须为数据时钟的16倍,图中div 16实现16分频。

3.3 50阶匹配滤波器设计


由于匹配滤波器就是有限脉冲响应(FIR)滤波器,具有线性特性,所以通过低阶滤波器的直接级联相加就可以实现高阶滤波器,前一个滤波器的移位数据DATAS[11:0]作为下一个滤波器模块的信号输入,每个滤波器模块都根据图4设计,只需要根据不同的系数更改DALUT表中的数据。50阶匹配滤波器的逻辑设计如图5所示。其中,Imatch50模块为匹配滤波器复系数实部对应的50阶滤波器,而Qmatch50模块为匹配滤波器复系数虚部对应的50阶滤波器。输出信号包括16位I信号和16位O信号。

对该匹配滤波器波形仿真,输入数据为MATLAB仿真的12位数据,由于该滤波器做的是50x50点的卷积.所以输出数据为50+50-1=99个,仿真波形如图6所示。

4 结论


通过仿真分析脉冲压缩过程和调试验验证整个设计.可看出利用基于分布式算法能够大大减少数字脉冲压缩的运算量,提高脉冲压缩效率。由于匹配滤波器的系数是以中心,点对称的,所以可采用线性相位FIR滤波器在FPGA中的实现算法,这样同等性能的滤波器设计可减小一半的硬件规l模。同时,还可通过分时复用嵌入式乘法器来实现卷积,这样就会节省更多的逻辑单元,并且有能力实现更多功能。
zxopenljx 发表于 2020-11-17 15:24:00 | 显示全部楼层
基于FPGA的脉冲压缩仿真与实现之二
zxopenljx 发表于 2024-4-4 13:37:37 | 显示全部楼层
基于FPGA的脉冲压缩仿真与实现之二
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-7 19:38 , Processed in 0.097174 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表