滤波器设计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函数(二) 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对信号进行处理 将信号导入SPTool 分析信号 设计滤波器 用设计好的滤波器处理信号 在谱分析视窗中分析信号的谱