matlab中滤波器的设计.docxVIP

  • 15
  • 0
  • 约2.35千字
  • 约 10页
  • 2021-10-15 发布于江苏
  • 举报
Matlab中滤波器的设计 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 在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的数,

文档评论(0)

1亿VIP精品文档

相关文档