网上很多教程都是使用MATLAB的FDATool工具设计滤波器,然后将系数导出,放到IP核中,由IP核根据数据速率核主处理时钟来决定滤波器的结构。这种设计方式很方便但是不灵活,有时会碰到这种情况:我们需要一个FIR滤波器,数据速率和主处理时钟速率都很高,甚至一样,且滤波器的阶数又很高,这个时候由IP自己来生成滤波器时,会生成全并行滤波器,会占用大量资源,甚至资源都不够用。此时我们希望能自己决定滤波器的结构,从而达到资源和效率相匹配的目的。高手可以自己动手用HDL语言来实现自己所需结构的滤波器,本文介绍一种用MATLAB提供的Filterbuilder工具来设计滤波器,并自动生成我们所需结构滤波器的HDL代码。

  1. 打开Filterbuilder工具

  打开Filterbuilder工具有两种方式,一种是在MATLAB的的应用程序中的信号处理和通信一栏下,如图所示:(我用的是MATLAB2016a版本,PS:点击图标右上方的星星图标,可以将工具添加到收藏夹,以后打开方便。)

第二种是在MATLAB的命令行窗口直接输入filterbuilder回车,选择lowpass,然后确定。

  1.  设计一个低通FIR滤波器

  设计一个低通FIR滤波器,采样率245.76MHz,通带带宽3.2MHz,阻带5MHz,通带纹波0.1dB,阻带衰减80dB,窗函数为Kaiserwin。如图所示:

  点击Apply后再点击右上角的View Filter Response就可以看到滤波器的幅频响应,点击信息按钮,能看到滤波器的阶数以及资源情况,如果全并行结构实现这个滤波器的化,需要687个乘法器,显然这是不合适的。

  1.   生成所需结构的HDL

  点击Data Types按钮,Arithmetic栏选择Fixed point,根据具体情况填入输入数据精度

  点击Code generation标签,然后点击generate HDL,在弹出窗口根据自己熟悉的语言选择VHDL或Verilog。在Architecture处可以选择全并行、全串行、部分串行、级联串行以及分布式。这里选择部分串行,点击view details可以看到不同结构消耗不同数量的乘法器,根据自己系统要求可以自由选择。在下面还可以选择增加流水线寄存器。

  点击global setting,将clock enable input port 名称改为ce。这为后续将HDL代码导入system generator的black box提供方便。

  后面几项根据需要设置。设置完成后点击Generate,即可生成HDL代码。HDL代码可以当做一个模块直接添加到程序中,可以综合。

转载请注明出处,谢谢!

转载于:https://www.cnblogs.com/desen2010/p/6880133.html

MATLAB设计不同结构的FIR或IIR滤波器相关推荐

  1. 利用Matlab比较IIR和FIR,细说IIR滤波器和FIR滤波器的区别

    1.两种滤波器都是数字滤波器.根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器.对于FIR滤波器,冲激响应在有限时间内衰减为零,其输出仅取决于当前和过去的 ...

  2. 在matlab中实现累乘,如何利用matlab设计一个线性相位FIR带通滤波器,并在FPGA上实现...

    设计要求 利用matlab设计一个线性相位FIR带通滤波器,并在FPGA上实现. 1.滤波器指标:过渡带带宽分别为100~300HZ,500~700HZ,阻带允许误差为0.02,通带允许误差为0.01 ...

  3. matlab凯塞窗设计,转载:用MATLAB设计FIR滤波器的方法解析

    介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法.FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的 ...

  4. matlab设计窄带滤波器,【安富莱DSP教程】第36章 FIR滤波器的Matlab设计

    第36章 FIR滤波器的Matlab设计 本章节讲解FIR滤波器的Matlab设计.主要是函数fir1和fir2的使用. 36.1 窗函数 36.2 fir1函数 36.2 fir2函数 36.4 总 ...

  5. fir fpga 不同截止频率_用MATLAB设计FIR滤波器的方法

    用MATLAB设计FIR滤波器的方法 摘  要 介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法.FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计 ...

  6. FIR滤波器与IIR滤波器

    FIR和IIR滤波器的一个主要区别:FIR是线性相位,IIR为非线性相位(双线性变换法),对于非线性相位会造成的影响,可以这样考虑:对于输入的不同频率分量,造成的相位差与频率不成正比,则输出时不同频率 ...

  7. IIR滤波器和FIR滤波器的区别与联系

    IIR滤波器和FIR滤波器的区别与联系_jinjun_新浪博客  http://blog.sina.com.cn/s/blog_6281182601019rst.html 1.两种滤波器都是数字滤波器 ...

  8. FPGA数字信号处理(六)直接型IIR滤波器Verilog设计

    该篇是FPGA数字信号处理的第六篇,2-5篇介绍了DSP系统中极其常用的FIR滤波器.本文将简单介绍另一种数字滤波器--IIR滤波器的原理,详细介绍使用Verilog HDL设计直接型IIR滤波器的方 ...

  9. fir 滤波参数的含义_详解FIR滤波器与IIR滤波器的具体区别

    姓名:高新诚       学号:17021223282 原文链接:http://mp.weixin.qq.com/s/tC_mdXIeusuggDV1tn3sOw [嵌牛导读]:在大学中学习到了FIR ...

  10. matlab c语言 iir,Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)

    经典滤波器和现代滤波器 一般滤波器可以分为经典滤波器和现代滤波器. 经典滤波器:假定输入信号中的有用成分和希望去除的成分各自占有不同的频带.如果信号和噪声的频谱相互重迭,经典滤波器无能为力.比如 FI ...

最新文章

  1. java数组二分查找_java 13-1 数组高级二分查找
  2. JavaScript的数据类型、null 和undefined、原始数据类型和引用数据类型等JavaScript基础知识总结
  3. winform php 交互,WinForm开发,窗体显示和窗体传值
  4. Spring中AOP源码剖析
  5. 14-1 获得初始页面内容
  6. 江湖传说——阿里巴巴土话102句完整版
  7. CSS 命名 BEM 。线上样式不对。已经更新。El-input__suffix偏上。字体样式 苹方-简 PingFangSC-Regular。echarts字体。
  8. Xcode9 LaunchScreen.storyboard 设置app启动图片
  9. 【openGauss 1.1.0测试:全量备份和恢复增量备份和恢复】
  10. csr蓝牙适配 linux,新款4.0蓝牙适配器 迷你4.0蓝牙适配器 Bluetooth CSR 4.0 Dongle
  11. [生存志] 第22节 历代大事件概览 五代十国
  12. word2vec模型训练保存加载及简单使用
  13. VirtualBox安装黑群晖并建立smb共享目录的方法
  14. 第一回 开篇 D3D渲染流程简介
  15. BugKu_瑞士军刀
  16. Android Studio 3.3.2 正式版的安装
  17. IF10 家系研究 | OGDHL变异导致神经发育谱系疾病,表现为癫痫、听力与视力障碍等...
  18. 124.网络安全渗透测试—[CMS后台 getwebshell]—[xycms2.9后台 getwebshell]
  19. 2023年网络工程师必备10大软件,最新安装包分享
  20. 面试题:什么是MVC开发模式,其优缺点。

热门文章

  1. Captaris WorkFlow的开发和部署
  2. 计算机算法和算法复杂度
  3. 【Redis学习笔记】Redis初识
  4. python爬虫之------每天给她(他)一个小故事啦啦啦啦
  5. 向量间的距离和范数到线性空间、赋范空间、內积空间
  6. linux java部署tomcat_Linux 使用脚本安装Tomcat并部署程序
  7. 移动宽带连接不上mysql_MySQL Workbench 6.2.4 下载 因为移动网络打不开官方也可能是国内网络问题 备用自己...
  8. android仿IOS,滑动隐藏底部ScrollView
  9. MAC环境配置SDK
  10. Spring深入学习之IOC与AOP