#Matlab中滤波器设计(FDAT)_第1页
#Matlab中滤波器设计(FDAT)_第2页
#Matlab中滤波器设计(FDAT)_第3页
#Matlab中滤波器设计(FDAT)_第4页
#Matlab中滤波器设计(FDAT)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在 matlab 中有一个滤波器设计和分析工具 FDAT, 可以通过此工具来对滤波器进行设计。matlab 中一些简单的命令: round(x 把 x 舍入到最近的整数 计算 x 的绝对值sqrt(x计算 x 的平方值fix(x把 x 沿 0的方向舍入到最近的整数值floor(x把 x 舍入到比 x小的最近的整数ceil(x把 x 舍入为比 x 大的最近的整数要设计滤波器,首先要做的就是要知道各个系数。其实系数我们是可以通过 matlab 的 FDAT 工具来进行计算的。步骤如下:Filter Design Filter Design &Analysis Tool, 即可启动 FDATool

2、。也可在 matlab 中执行 fdatool 来启动 FDATool 。FDATool 启动后如下图所示的窗口。2 )按照要求自己设计滤波器。启动 FDATool 后的界面就是滤波器的设计界面,如上图 所示,要从其它的界面进入滤波器的设计界面可以倒垃圾 FDATool 窗口坐下侧的一列工具 按钮中的最下一个图标 filter design , 即可进入设计界面。在该界面中要进行滤波器的设计。 首先要选择滤波器的类型,滤波器的类型有高通、低通、带通和带阻,以及其它的好几种。 选择好类型之后就要选择设计方法,设计方法从大类上有两种,一种是 FIR, 另一种是 IIR。 每一大类中又有很多种不同的

3、方法。针对不同的设计方法,后面有不同的选项。然后就是 滤波器的阶数 ,如果是 11 阶的滤波器则输入 10就可以了。设置完这些就需 要设置滤波器的频率特性和幅度特性了。其中 Fs 是采样频率, Fp 是通带截止频率, Fs 是 阻带截止频率。后面的 Apass 是指通带内允许的最大衰减, Astop 是指阻带内允许的最小 衰减。设置完这些参数之后,按 Design Filter 就可以按要求设计出该滤波器了。在本次举例中设置如下图:3 )滤波器设计和性能分析 设计完成后需要对滤波器进行性能分析,检查是不是符合要求。性能分析可通过单击 Analysis 菜单,下面有很多子菜单来进行。1、Magn

4、itude Response( 幅频响应)图略2、Phase Response( 相频响应)3、相幅联合分析4、冲击响应 Impulse Response 后可得到如下的图形)/ 85、滤波器的系数 Filter Coefficients 之后会看到系数的。 图略) 还有其他的分析,都省略了吧! 4 )设置量化参数matlab 在计算系数时只是追求高精度而没有考虑有限字长。我们在 fpga 中实现时字长是 有限的,所以要对系数首先进行量化。点击左下脚的Set Quantization parameter 就可以设置量化参数了。/ 8默认时 Turn quantization on 是没有选中的

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

6、就可以了。 设置完成后在 Filter Coefficient 窗口最下面还可以看到对应的命令呢!这是不是很令人兴 奋啊!如下图:/ 8量化之后,依然可以用前面说过的几种分析方法来对比量化前后的不同。export ,出现如下对话框。可以将系数导出到workspace 空间中,以变量Num 的形式存在。/ 8但是变量 Num 都是小于 1 的数,所以还是不能用 fpga 来进行处理,所以要把它进行扩大。 那到底要扩大多少倍呢,通过看资料我的理解就是在 fpga 处理中你的系数是几位数就可以 扩大多少倍。比如你的系数准备是 9 位数,那么你可以给 Num 乘以 2的 9 次方。又查了一些资料才发现,系数的量化实际可以直接通过下面的命令来实现: coeff=round(Num*29,*32767 这样得 到的系数也是可以用的。如果要检查你得到的系数是否可用,可以通过在 matlab 输入这条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论