博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matlab+ModelSim“傻瓜化”设计数字滤波器
阅读量:4680 次
发布时间:2019-06-09

本文共 720 字,大约阅读时间需要 2 分钟。

Matlab+ModelSim“傻瓜化”设计数字滤波器

         0.先上图

        9189b0639b6eb1330d33fa7b.jpg
        效果就是这样,上面是测试向量生成的输入波形,下面是滤波后的输出波形,可以看出阶越变成了过冲,而光标右侧的高频部分完全被滤除。事实上输入波形不是随意产生的,它们是三种常用的测试波形:step(阶跃),ramp(斜升),chirp(线性调频)。这张图是ModelSim的仿真结果,而滤波器的HDL源码和测试向量文件完全是Matlab生成。步骤如下:

         1.运行Matlab R2009a,打开Help->Demos,在目录中找到Toolboxes->Filter Design HDL Coder->HDL Butterworth Filter,然后按照说明一步步设计出一个巴特沃斯5阶低通滤波器,嫌麻烦的话可以点击这个地方5d0b9c10b8570faec2ce797c.jpg直接运行实例代码。

       2.在最后一步,会弹出Generate HDL对话框,这里面包含丰富的选项,可以选择语言VHDL还是Verilog HDL,目标路径等等,在More HDL Settings中还可以设置输入输出端口名称。

6c96b6223d3de7f64723e82f.jpg

        3.运行ModelSim,切换到上面设置的目标路径,建立工程,把Hd_copy.v和Hd_copy_tb.v两个文件添加进工程,编译这两个文件,然后对把编译好的Hd_copy_tb载入,最后添加信号,运行仿真,在Wave窗口中可以观察到波形。(详情参考ModelSim Tutorial Chapter 3,4)当然filter_in和filter_out这两个信号需要改变一下显示格式,才能看见模拟波形。如下图:

8ec47634fe4f75e5d1a2d3c5.jpg

转载于:https://www.cnblogs.com/tureno/articles/2215064.html

你可能感兴趣的文章
java ftp 读取excel_从Excel文件读取数据表
查看>>
oracle 有哪些字典表,oracle 常用字典表
查看>>
linux c多进程多线程,linux下的C\C++多进程多线程编程简易例子
查看>>
linux 命令 考试,linux常用命令总结-第一次考试
查看>>
linux动态库编译多重依赖,Linux动态库多重依赖
查看>>
linux网卡缓冲区设置,【Linux】tcp缓冲区大小的默认值、最大值
查看>>
opus编译linux,Linux 下源码编译FFMEG
查看>>
linux 运行real basic,REALbasic 快速入门.pdf
查看>>
linux启动tomcat不停的触发gc,tomcat启动时就频繁gc和full gc
查看>>
linux uart串口驱动,X-017-KERNEL-串口驱动开发之uart driver框架
查看>>
linux 添加串口数量,如何在Linux中添加4个以上的串口设备?
查看>>
关于sqoop导入数据的时候添加--split-by配置项对sqoop的导入速度的影响。
查看>>
nginx配置
查看>>
2014-11-9------- 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。...
查看>>
python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
查看>>
NOIP 2010 关押罪犯
查看>>
CentOS7.5删除旧的内核
查看>>
Java常用的非受检异常
查看>>
HDOJ-2054
查看>>
centos7安装eclipse
查看>>