在matlab中有一个滤波器设计和分析工具FDAT,可以通过此工具来对滤波器进行设计。

matlab中一些简单的命令:round(x)把x舍入到最近的整数(四舍五入)

abs(x)计算x的绝对值

sqrt(x)计算x的平方值

fix(x)把x沿0的方向舍入到最近的整数值

floor(x)把x舍入到比x小的最近的整数

ceil(x)把x舍入为比x大的最近的整数

要设计滤波器,首先要做的就是要知道各个系数。其实系数我们是可以通过matlab的FDAT工具来进行计算的。步骤如下:

(1)先打开matlab,然后点击左下脚的start按钮,选择Toolboxes——>Filter Design ——>Filter Design &Analysis Tool,即可启动FDATool。也可在matlab中执行fdatool来启动FDATool。FDATool启动后如下图所示的窗口。

(2)按照要求自己设计滤波器。启动FDATool后的界面就是滤波器的设计界面,如上图所示,要从其它的界面进入滤波器的设计界面可以倒垃圾FDATool窗口坐下侧的一列工具按钮中的最下一个图标filter design ,即可进入设计界面。在该界面中要进行滤波器的设计。首先要选择滤波器的类型,滤波器的类型有高通、低通、带通和带阻,以及其它的好几种。选择好类型之后就要选择设计方法,设计方法从大类上有两种,一种是FIR,另一种是IIR。每一大类中又有很多种不同的方法。针对不同的设计方法,后面有不同的选项。然后就是滤波器的阶数(filter order),如果是11阶的滤波器则输入10就可以了。设置完这些就需要设置滤波器的频率特性和幅度特性了。其中Fs是采样频率,Fp是通带截止频率,Fs是阻带截止频率。后面的Apass是指通带内允许的最大衰减,Astop是指阻带内允许的最小衰减。设置完这些参数之后,按Design Filter就可以按要求设计出该滤波器了。

在本次举例中设置如下图:

(3)滤波器设计和性能分析
设计完成后需要对滤波器进行性能分析,检查是不是符合要求。性能分析可通过单击Analysis菜单,下面有很多子菜单来进行。
1、Magnitude Response(幅频响应)图略
2、Phase Response(相频响应)
3、相幅联合分析
4、冲击响应(Analysis——>Impulse  Response后可得到如下的图形)

5、滤波器的系数(这个是很重要的,也是我们想要的)
Analysis——>Filter Coefficients之后会看到系数的。(图略)
还有其他的分析,都省略了吧!
(4)设置量化参数
matlab在计算系数时只是追求高精度而没有考虑有限字长。我们在fpga中实现时字长是有限的,所以要对系数首先进行量化。点击左下脚的Set Quantization parameter就可以设置量化参数了。

默认时Turn quantization on是没有选中的,只有选中之后才可以设置后面的各个项。选中Convert coefficients to 就可以设置系数的格式了。因为我们要在fpga要实现,所以在此次选择定点数(fixed),如果选择定点数则就需要选择舍入模式,其中有round、fix、floor、ceil等各个的意义见开头提到的几个函数。也可在matlab中用help来查看各个命令的作用哦!(看看matlab是不是很人性啊!)后面是选择溢出模式和定点数的数据格式的。Format中有两个数字,前面一个呢是字的总长度,后面一个呢是小数的长度。如果你对某些选项还不太明白,那就找到这个选项对应的命令,然后help一下就可以了。
设置完成后在Filter Coefficient窗口最下面还可以看到对应的命令呢!这是不是很令人兴奋啊!如下图:

量化之后,依然可以用前面说过的几种分析方法来对比量化前后的不同。
(5)导出系数
点击File——>export,出现如下对话框。可以将系数导出到workspace空间中,以变量Num的形式存在。

但是变量Num都是小于1的数,所以还是不能用fpga来进行处理,所以要把它进行扩大。那到底要扩大多少倍呢,通过看资料我的理解就是在fpga处理中你的系数是几位数就可以扩大多少倍。比如你的系数准备是9位数,那么你可以给Num乘以2的9次方。

又查了一些资料才发现,系数的量化实际可以直接通过下面的命令来实现:
coeff=round(Num*2^9),(或者也可以coeff=round(Num/max(abs(Num))*32767))这样得到的系数也是可以用的。如果要检查你得到的系数是否可用,可以通过在matlab输入这条指令:freqz(coeff,1,512)。输入这个指令以后会出现下图:

通过观察这个图就可以知道这个系数是不是正确了。
得到系数之后在fpga中如何实现呢,这篇写的太长了,下篇继续吧!

转自:http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_urlcheck?uin=412157621&shareid=1316142361

Matlab中滤波器的设计(FDAT)相关推荐

  1. matlab中电流measure模块,三相逆变电源的在Matlab中的仿真设计

    三相逆变电源的在Matlab中的仿真设计 摘要:本文采用MATLAB搭建仿真系统对变频电源进行系统分析.基于Simulink做了系统仿真,并做了原理性的论证,调节器件参数比较仿真结果. 1. 引言 由 ...

  2. matlab中滤波器设计与实现,基于MATLAB的IIR滤波器设计与实现

    描述 由于电力系统中非线性电子元件的大量使用,使得谐波污染问题日益严重,当谐波含量超过一定限度时就可能对电网和用户造成极大的危害,且增加线路损耗,降低线路传输能力,干扰通信信号等.因此,应该积极寻找一 ...

  3. MATLAB中PI调节器设计,华中科技大学电气学院matlab选修课大作业pi控制器的设计...

    华中科技大学电气学院matlab选修课大作业pi控制器的设计 2008 级<MATAB 语言与控制系统仿真>课程大作业姓 名 赖智鹏 学 号 u200811806 所在院系 电气与电子工程 ...

  4. matlab中弹性碰撞课程设计,完全弹性碰撞matlab.doc

    Matlab设计实验 课题名称:完全弹性碰撞 一. 设计背景: 完全弹性碰撞(Perfect Elastic Collision): 在理想情况下,完全弹性碰撞的物理过程满足动量守恒和能量守恒.如果两 ...

  5. matlab中gui的设计,[转]MATLAB中GUI设计领悟

    来源:隐藏 -------------------------全文分割线---------------------------------------------------------------- ...

  6. convs在MATLAB中,matlab2_MATELAB课程设计_ppt_大学课件预览_高等教育资讯网

    第二讲 MATLAB的数值计算 -- matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位数值运算的功能创建矩阵矩阵运算多项式运算线性方程组数值统计线性插值函数优化微分方程的数值解一 ...

  7. Matlab中firpm函数设计具有非对称衰减的 FIR 带通滤波器

    使用 Parks-McClellan 算法(firpm)创建一个 50 阶等波纹 FIR 带通滤波器,要求如下: 以 1 kHz 采样频率,通带为 200 Hz 和 300 Hz 之间的频率,并且通带 ...

  8. matlab中滤波器函数filter的c语言实现

    参考出处:https://wenku.baidu.com/view/6a8eeeee9fc3d5bbfd0a79563c1ec5da50e2d6e5.html 实现: MATLAB的filter滤波函 ...

  9. matlab滤波器函数6,matlab中滤波器函数filter的c语言实现

    参考出处:https://wenku.baidu.com/view/6a8eeeee9fc3d5bbfd0a79563c1ec5da50e2d6e5.html 实现: MATLAB的filter滤波函 ...

最新文章

  1. C++_STL——unordered_map、unordered_multimap、unordered_set、unordered_multiset
  2. JVM调优总结 -Xms -Xmx -Xmn -Xss
  3. IKE SA和IPSec SA的区别
  4. javaweb学习总结(三十六)——使用JDBC进行批处理
  5. js 用迭代器模式优雅的处理递归问题
  6. 纪中A组模拟赛总结(2021.7.21)
  7. py3+urllib+re,爬虫下载捧腹网图片
  8. 某些面向对象的思想--一步步更新
  9. 《世界是数字的 》的读后感
  10. 小程序商城框架源码 小程序源码带前端+后台+数据库
  11. 工控行业各品牌程序扩展格式和软件
  12. like语法 mysql_mysql中like语法拼接4种方式
  13. excel怎么将英文小写转大写
  14. centos7系统详细安装步骤
  15. 使用ICallbackEventHandler实现无刷新回调
  16. python文件加减法_python生成PDF文件20以内加减法,给上小学的宝宝
  17. shell 小米system锁adb_忘记锁屏密码不用怕?支招小米手机解锁四种简单常用的方法...
  18. ssm人力资源考勤系统
  19. 清晰理解precision(精确度)和recall(召回度)
  20. 学习用Photoshop来设计简单的网页

热门文章

  1. 【SourceTree】项目版本控制
  2. File文件的属性设置
  3. HDU1799-组合公式变形
  4. pageHelper与PageInfo联合进行分页查询原理
  5. Swing中如何实现二级联动下拉列表
  6. BlockingQueue Interface In Java学习
  7. 【mcuclub】称重-HX711
  8. 【计量经济学】异方差性
  9. 大佬给总结的单片机看门狗详解很有用
  10. 全网最硬核 JVM TLAB 分析(额外加菜) 8. 通过 JFR 监控 TLAB