滤波器设计 matlab 相关函数

18
滤滤滤滤滤 matlab 滤滤滤

Upload: vartouhi-hansen

Post on 30-Dec-2015

80 views

Category:

Documents


0 download

DESCRIPTION

滤波器设计 matlab 相关函数. 与 IIRDF 相关的 matlab 函数(一). 以设计一个高通的巴特沃斯滤波器 H(z) 为例,其步骤包括从 到 的频率转换,模拟低通原型 G(s) 的设计, G(s) 到模拟高通 H(s) 的转换, H(s) 到数字高通滤波器 H(z) 的转换。 Buttord :用来确定数字低通或模拟低通滤波器的阶数,其调用格式为: [N,Wn]=buttord(Wp,Ws,Rp,Rs) [N,Wn]=buttord(Wp,Ws,Rp,Rs,’s’). 与 IIRDF 相关的 matlab 函数(二). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 滤波器设计 matlab 相关函数

滤波器设计 matlab相关函数

Page 2: 滤波器设计 matlab 相关函数

与 IIRDF 相关的 matlab 函数(一) 以设计一个高通的巴特沃斯滤波器 H(z) 为例,

其步骤包括从 到 的频率转换,模拟低通原型 G(s) 的设计, G(s) 到模拟高通 H(s) 的转换, H(s) 到数字高通滤波器 H(z) 的转换。

Buttord :用来确定数字低通或模拟低通滤波器的阶数,其调用格式为:

[N,Wn]=buttord(Wp,Ws,Rp,Rs) [N,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)

Page 3: 滤波器设计 matlab 相关函数

与 IIRDF 相关的 matlab 函数(二) Buttap: 用来设计模拟低通原型滤波器 G(s) ,

其调用格式是 [z,p,k]=buttap(N) , N 是要求设计的低通原型滤波器的阶次, z,p,k 分别是设计出的 G(s) 的极点、零点及增益。

Page 4: 滤波器设计 matlab 相关函数

与 IIRDF 相关的 matlab 函数(三) lp2lp,lp2hp,lp2bp,lp2bp,lp2bs: 具有实现频率转换的功能,

它们分别将模拟低通原型滤波器 G(s) 转换为实际的低通、高通、带通和带阻滤波器,调用格式:

[B,A]= lp2lp(b,a,W0) ; W0 为低通滤波器的截止频率 [B,A]= lp2hp(b,a,W0) ; W0 为高通滤波器的截止频率 [B,A]= lp2bp(b,a,W0,Bw) ; W0 是带通或带阻的中心频

率 [B,A]= lp2bs(b,a,W0,Bw) ; Bw 是带宽 b,a 分别是模拟原型低通滤波器 G(s) 的分子和分母的系数

向量; B,A 分别是转换后的 H(s) 的分子和分母多项式的系数向量。

Page 5: 滤波器设计 matlab 相关函数

与 IIRDF 相关的 matlab 函数(四) Bilinear :实现双线性变换,并由模拟滤波

器 H(s) 得到数字滤波器 H(z) 。调用格式: [Bz,Az]=bilinear(B,A,Fs) B 和 A 分别是 H(s) 的分子和分母多项式的

系数向量; Bz 和 Az 分别是 H(z) 的分子和分母多项式系数向量; Fs 是采样频率。

Page 6: 滤波器设计 matlab 相关函数

与 IIRDF 相关的 matlab 函数(五) Butter: 直接涉及巴特沃斯滤波器,实际上它包含

buttap 、 lp2lp 和 bilinear 等函数,使设计过程更简捷,其调用格式是:

[B,A]=butter(N,Wn) [B,A]=butter(N,Wn,’hign’) [B,A]=butter(N,Wn,’stop’) [B,A]=butter(N,Wn,’s’)前三个用来设计数字滤波器, B,A 分别是 H(z) 的分子和分母

多项式的系数向量; Wn 是通带截止频率,范围在 0-1 之间,1 对应采样频率的一半。第四个用来设计模拟滤波器。

Page 7: 滤波器设计 matlab 相关函数

IIRDF 设计实例 设计一个 LPDF ,数字采样频率为 1000Hz ,给定技术指

标通带截止频率 fp=100Hz, 阻带截止频率 fs=300Hz ,通带最大衰减为 3db ,阻带最小衰减为 20db 。

Wp=0.2*pi; Ws=0.4*pi; fs=1000; rp=3;rs=20; [n,Wn]=buttord(Wp/pi,Ws/pi,rp,rs);% 确定滤波器阶数 [bz,az]=butter(n,Wp/pi);% 利用 butter 函数设计滤波器 [h,w]=freqz(bz,az,128,fs);% 计算幅频响应 Plot(w,abs(h)); grid

Page 8: 滤波器设计 matlab 相关函数

与 FIRDF 相关的 matlab 函数(一) 以窗口法设计 FIRDF 为例,相关的 matlab

函数分为两类:一类用于产生窗函数,另一类用于 FIRDF 设计。

常用产生窗函数的 m 函数: boxcar 、 hamming 、 hanning 、 kaiser 。 W=boxcar(N);%N 为窗函数的长度

Page 9: 滤波器设计 matlab 相关函数

与 FIRDF 相关的 matlab 函数(二) fir1, 调用方式: B=fir1(N,Wn); B=fir1(N,Wn,’high’); B=fir1(N,Wn,’stop’); N 为滤波器的阶数,因此滤波器的长度为

N+1 , Wn 为通带截止频率,其值在 0-1 之间, 1 对应采样频率的一半; b 是设计好的滤波器的系数 h(n) 。

Page 10: 滤波器设计 matlab 相关函数

与 FIRDF 相关的 matlab 函数(三) B=fir2(N,F,M);F 是频率向量,其值在 0-1

之间; M 是和 F 相对应的所希望的幅频响应,默认时自动选择哈明窗。

Page 11: 滤波器设计 matlab 相关函数

FDATool 的介绍 FDATool(Filter Design&Analysis Tool) 是

MATLAB 信号处理工具箱里专用的滤波器设计分析工具 。

FDATool 可以设计几乎所有的常规滤波器,包括 FIR 和 IIR 的各种设计方法。它操作简单,方便灵活。

Page 12: 滤波器设计 matlab 相关函数

FDATool 界面 特性区 ,在界面的上半部分,用来显示滤

波器的各种特性。 Design Filter ,在界面的下半部,用来设

置滤波器的设计参数;

Page 13: 滤波器设计 matlab 相关函数
Page 14: 滤波器设计 matlab 相关函数

Design Filter 部分 主要分为: Filter Type( 滤波器类型 ) 选项,包括

Lowpass( 低通 ) 、 Highpass( 高通 ) 、 Bandpass( 带通 ) 、 Bandstop( 带阻 ) 和特殊的 FIR 滤波器。

Design Method( 设计方法 ) 选项,包括 IIR 滤波器的 Butterwotth( 巴特沃思 ) 法、 Chebyshev  Type I( 切比雪夫 I 型 ) 法、 Chebyshev Type II( 切比雪夫 II 型 ) 法、 Elliptic( 椭圆滤波器 ) 法和FIR 滤波器的 Equiripple 法、 Least-Squares( 最小乘方 ) 法、 Window( 窗函数 ) 法。

Page 15: 滤波器设计 matlab 相关函数

Design Filter 部分 Filter Order( 滤波器阶数 ) 选项,定义滤波

器的阶数,包括 Specify Order( 指定阶数 )和 Minimum Order( 最小阶数 ) 。在Specify Order 中填入所要设计的滤波器的阶数 (N 阶滤波器, Specify Order=N-1) 。如果选择 Minimum Order ,则 MATLAB 根据所选择的滤波器类型自动使用最小阶数。

Page 16: 滤波器设计 matlab 相关函数

Design Filter 部分 Frequency Specifications 选项,可以详细定义频

带的各参数,包括采样频率和频带的截止频率。它的具体选项由 Filter Type 选项和 Design Method 选项决定。例如 Bandpass( 带通 ) 滤波器需要定义 Fstop1( 下阻带截止频率 ) 、 Fpass1( 通带下限截止频率 ) 、 Fpass2( 通带上限截止频率 ) 、 Fstop2( 上阻带截止频率 ) ,而 Lowpass( 低通 ) 滤波器只需要定义 Fstop1 、 Fpass1 。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定,所以只需定义通带截止频率,而不必定义阻带参数。

Page 17: 滤波器设计 matlab 相关函数

Design Filter 部分 Magnitude Specifications 选项,可以定义幅值衰

减的情况。例如设计带通滤波器时,可以定义Wstop1( 频率 Fstop1 处的幅值衰减 ) 、 Wpass( 通带范围内的幅值衰减 ) 、 Wstop2( 频率Fstop2 处的幅值衰减 ) 。当采用窗函数设计时,通带截止频率处的幅值衰减固定为 6db ,所以不必定义。

Window Specifications 选项,当选取采用窗函数设计,该选项可定义,它包含了各种窗函数。

Page 18: 滤波器设计 matlab 相关函数

SPTOOL 对信号进行处理1. 将信号导入 SPTool

2. 分析信号3. 设计滤波器4. 用设计好的滤波器处理信号5. 在谱分析视窗中分析信号的谱