滤波器设计matlab相关函数

Download Report

Transcript 滤波器设计matlab相关函数

滤波器设计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函数(二)

Buttap:用来设计模拟低通原型滤波器G(s),
其调用格式是[z,p,k]=buttap(N),N是要求
设计的低通原型滤波器的阶次,z,p,k分别
是设计出的G(s)的极点、零点及增益。
与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)的分子和分母多项式的系
数向量。
与IIRDF相关的matlab函数(四)
Bilinear:实现双线性变换,并由模拟滤波
器H(s)得到数字滤波器H(z)。调用格式:
 [Bz,Az]=bilinear(B,A,Fs)
 B和A分别是H(s)的分子和分母多项式的系
数向量;Bz和Az分别是H(z)的分子和分母
多项式系数向量;Fs是采样频率。

与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对应采样频率的一半。第四个用来设计模拟滤波器。

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
与FIRDF相关的matlab函数(一)
以窗口法设计FIRDF为例,相关的matlab函
数分为两类:一类用于产生窗函数,另一
类用于FIRDF设计。
 常用产生窗函数的m函数:
 boxcar、hamming、hanning、kaiser。
 W=boxcar(N);%N为窗函数的长度

与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)。
与FIRDF相关的matlab函数(三)

B=fir2(N,F,M);F是频率向量,其值在0-1之
间;M是和F相对应的所希望的幅频响应,
默认时自动选择哈明窗。
FDATool的介绍
FDATool(Filter Design&Analysis Tool)是
MATLAB信号处理工具箱里专用的滤波器
设计分析工具 。
 FDATool可以设计几乎所有的常规滤波器,
包括FIR和IIR的各种设计方法。它操作简单,
方便灵活。

FDATool界面
特性区 ,在界面的上半部分,用来显示滤
波器的各种特性。
 Design Filter ,在界面的下半部,用来设置
滤波器的设计参数;

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(窗函数)法。
Design Filter部分

Filter Order(滤波器阶数)选项,定义滤波器
的阶数,包括Specify Order(指定阶数)和
Minimum Order(最小阶数)。在Specify
Order中填入所要设计的滤波器的阶数(N阶
滤波器,Specify Order=N-1)。如果选择
Minimum Order,则MATLAB根据所选择的
滤波器类型自动使用最小阶数。
Design Filter部分

Frequency Specifications选项,可以详细定义频
带的各参数,包括采样频率和频带的截止频率。
它的具体选项由Filter Type选项和Design Method
选项决定。例如Bandpass(带通)滤波器需要定义
Fstop1(下阻带截止频率)、Fpass1(通带下限截止
频率)、Fpass2(通带上限截止频率)、Fstop2(上
阻带截止频率),而Lowpass(低通)滤波器只需要
定义Fstop1、Fpass1。采用窗函数设计滤波器时,
由于过渡带是由窗函数的类型和阶数所决定,所
以只需定义通带截止频率,而不必定义阻带参数。
Design Filter部分


Magnitude Specifications选项,可以定义幅值衰
减的情况。例如设计带通滤波器时,可以定义
Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带
范围内的幅值衰减)、Wstop2(频率Fstop2处的幅
值衰减)。当采用窗函数设计时,通带截止频率处
的幅值衰减固定为6db,所以不必定义。
Window Specifications选项,当选取采用窗函数
设计,该选项可定义,它包含了各种窗函数。
SPTOOL对信号进行处理
1.
2.
3.
4.
5.
将信号导入SPTool
分析信号
设计滤波器
用设计好的滤波器处理信号
在谱分析视窗中分析信号的谱