VIVADO FIR滤波器设计与仿真(二)

VIVADO FIR滤波器设计与仿真(二)

VIVADO FIR滤波器设计与仿真(一)中产生了两路正弦信号,频率分别为4MHz和5MHz,今天要进行FIR滤波器设计,在进行滤波器设计之前,需要对滤波器的参数进行设置,需要借助MATLAB软件或者Filter Solutions软件,这次使用Filter Solutions来进行参数设定。
关于Filter Solutions软件的使用,这里有一篇博客比较详细的介绍了它的用法,可以作为参考:
Filter Solutions之滤波器设计

滤波器参数

产生的两路正弦信号分别为4MHz和5MHz,混频之后产生的信号频率为1MHz和9MHz,首先进行低通滤波设计,我们要把1MHz的信号滤除掉,Filter Solutions软件参数设置如图所示:
参数设定
参数设定之后生成频响图:
1353678-20180512130209868-1735571168.png
查看相关参数并复制参数:
1353678-20180512130259551-474780419.png
1353678-20180512130436299-1256531805.png
我们把复制的参数粘贴出来可以看到是下面的格式:
1353678-20180512130620527-427186816.png
[ ]中的数组即为我们需要的参数。

FPGA实现滤波器设计

我们在之前的BD程序中,新建一个fir_compiler IP核
1353678-20180512131003640-38185135.png
双击打开进行相关参数设定:
我们把在Filter Solutions软件中得到的参数复制到图中红色框中,在左侧Freq.Response中就可以看到频率响应图
1353678-20180512131530929-160457756.png
设置好参数之后就可以进行连线操作了,我们将混频之后的信号送给FIR滤波器,连接好时钟和tvalid线
1353678-20180512132003708-303112404.png
选中FIR的M_AXIS_DATA引脚,右键make external连接管脚,也可以将两路正弦信号连接出来进行观察,连接好之后,valid design没有错误就OK了
返回到source界面,右键菜单中选中generate output products,更新顶层文件。
1353678-20180512132328042-1576687895.png
更新之后就可以看到顶层文件中多了一路信号
1353678-20180512132722484-830350686.png

Modelsim仿真

我们将新增的一路滤波信号添加到仿真文件中即可进行仿真

module tb_top(
    );
    reg aclk_0  ;
    wire [31:0]S_0;
    wire[39:0]  M_AXIS_DATA_0_tdata;
    initial 
      begin
         aclk_0 =   1;
      end 
    always  #5  aclk_0  =   ~aclk_0 ;
    
    DSP_TEST_wrapper DSP_TEST_wrapper_i
       (.M_AXIS_DATA_0_tdata(M_AXIS_DATA_0_tdata),
        .aclk_0(aclk_0),
        .S_0(S_0));
endmodule

仿真后添加仿真波形进行查看:
1353678-20180512133136506-1148712699.png
可以看到在仿真结果中,低频信号被滤除了

转载于:https://www.cnblogs.com/chinkwo/p/9028494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值