matlab中工具箱生成的SE3,基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成...

http://btdcw.com/btd-8290f34c5f0e7cd1842536d9-1.html

一、摘要

除了采用编程的方法实现滤波器之外,Mat l ab中自带工具箱FDATool 也能很方便快速的

实现滤波器的设计。另外FPGA、DS P等实现数字滤波器算法时,经常要用到滤波器系数,采

用FDATool 工具箱也能快速的得到滤波器系数。

二、实验平台

Mat l ab7.1

三、实现步骤

3.1 滤波器指标

若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:

(1) 低通滤波器

(2) 采样频率F

s 为48kHz ,滤波器F

c为10.8kHz

(3) 输入序列位宽为9位(最高位为符号位)

在此利用MATLAB来完成FIR滤波器系数的确定。

3.2 打开MATLAB的FDATool

MATLAB集成了一套功能强大的滤波器设计工具FDATool (Fi l t er Desi g n  & An al y si s Tool ),可

以完成多种滤波器的设计、分析和性能评估。

单击MATLAB主窗口下方的“St art ”按钮,如图B.1所示,选择菜单“Tool Box ” →“Fi l t er Desi g n ”

→“Fi l t er Desi g n  & An al y si s Tool (FDATool )”命令,打开FDATool ,另外,在MATLAB主命令窗口内键入“fdat ool ”,同样可打开FDATool 程序界面。

如图B.2所示。

0818b9ca8b590ca3270a3433284dd417.png

3.3 选择Des ign Filter

FDATool 界面左下侧排列了一组工具按钮,其功能分别如下所述:

● 创建多速率滤波器(Cr eat e a Mul t i r at e Fi l t er )

● 滤波器转换(Tr ans For m Fi l t er )

● 设置量化参数(S et  Quant i zat i on Par amet er s)

● 实现模型(Real i ze Model )

● 零极点编辑器(Pol e-zer o Edi t or )

● 导入滤波器(Impor t  Fi l t er )

● 设计滤波器(Des i gn Fi l t er )

选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B.3所示

0818b9ca8b590ca3270a3433284dd417.png

● 滤波器类型(Fi l er  Type)为低通(Low Pass)

● 设计方法(Des i gn Met hod)为FIR,采用窗函数法(Wi ndow)

● 滤波器阶数(Fi l t er order)定制为15

● 窗口类型为Kai ser,Bet a为0.5

● F

s 为48kHz ,F

c为10.8kHz

最后单击Des i gn Fi l t er 图标,让MATLAB计算FIR滤波器系数并作相关分析。

其系统函数H(z)可用下式来表示:

H(z)=

显然上式可以写成:

H(z)=

即可以看成是一个15阶的FIR滤波器的输出结果经过了一个单位延时单元,所以在FDATool 中,

把它看成15阶FIR滤波器来计算参数。

因此,设置滤波器阶数时,要比要求的小1 。

3.4 滤波器分析

计算完FIR滤波器系数以后,往往需要对设计好的FIR滤波器进行相关的性能分析,以便了解该

滤波器是否满足设计要求。分析操作步骤如下:

选择FDATool 的菜单“An al y si s”→“Mag n i t u de Respon se”,启动幅频响应分析如图B.4所示,x

轴为频率,y 轴为幅度值(单位为dB)。

0818b9ca8b590ca3270a3433284dd417.png

在图的左侧列出了当前滤波器的相关信息:

● 滤波器类型为Di rect  Form  FIR(直接I型FIR滤波器)

● 滤波器阶数为15

选择菜单“An al y si s”→“Ph ase Respon se”,启动相频响应分析,如图B.5所示。由该图可以看到

设计的FIR滤波器在通带内其相位响应为线性的,即该滤波器是一个线性相位的滤波器

0818b9ca8b590ca3270a3433284dd417.png

图B.6显示了滤波器幅频特性与相频特性的比较,这可以通过菜单“An al y si s”→“Mag n i t u de an d

Ph ase Respon se”来启动分析。

0818b9ca8b590ca3270a3433284dd417.png

选择菜单“An al y si s”→“Grou p Del ay  Respon se”,启动群时延分析。

FDATool 还提供了以下几种分析工具:

● 群时延响应分析。

● 冲激响应分析(Im pu l se Respon se),如图B.7所示。

● 阶跃响应分析(St ep Respon se),如图B.8所示。

● 零极点图分析(Pol e/Zero Pl ot),如图B.9所示。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

求出的FIR滤波器的系数可以通过选择菜单“An al y si s”→“Fi l t er Coef f i ci en t s”来观察。如图B.10

所示,图中列出了FDATool 计算的15阶直接I型FIR滤波器的部分系数。

0818b9ca8b590ca3270a3433284dd417.png

3.5 量化

可以看到,FDATool 计算出的值是一个有符号的小数,如果建立的FIR滤波器模型需要一个整

数作为滤波器系数,就必须进行量化,并对得到的系数进行归一化。为此,单击FDATool 左下

侧的工具按钮进行量化参数设置。量化参数有三种方式:双精度、单精度和定点。在使用定点

量化前,必须确保MATLAB中已经安装定点工具箱并有相应的授权。

3.6 导出滤波器系数

为导出设计好的滤波器系数,选择FDATool 菜单的“Fi l e”→“Ex port”命令,打开Ex port(导

出)对话框,如图B.11所示。

0818b9ca8b590ca3270a3433284dd417.png

在该窗口中,选择导出到工作区(Workpl ace)。这时滤波器系数就存入到一个一维变量Nu m 中 了。不过这时Nu m 中的元素是以小数形式出现的: Num= Col umns  1 t hr ough 9 -0.0369  0.0109  0.0558  0.0054  -0.0873  -0.0484  0.1805  0.4133  0.4133 Col umns  10 t hr ough 16 0.1805  -0.0484  -0.0873  0.0054  0.0558  0.0109  -0.0369    由此,可以得到低通滤波器的系数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值