资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
MATLAB滤波器函数Matlab信号处理工具箱函数和IIR、FIR函数波形产生和绘图chirp 产生扫描频率余弦diric 产生Dirichlet函数或周期Sinc函数gauspuls 产生高斯调制正弦脉冲pulstran 产生脉冲串rectpuls 产生非周期矩形信号sawtooth 产生锯齿波或三角波sinc 产生sinc函数square 产生方波strips 产生条图tripuls 产生非周期三角波滤波器分析和实现abs 绝对值(幅值)angle 相位角conv 卷积和多项式乘法conv2 二维卷积fftfilt 基于FFT重叠加法的数据滤波filter 递归(IIR)或非递归(FIR)滤波器的数据滤波firter2 二维数字滤波filtfilt 零相位数字滤波filtic 函数filter初始条件确定freqs 模拟滤波器频率响应freqspace 频率响应的频率空间设置freqz 数字滤波器频率响应grpdelay 群延迟impz 数字滤波器的脉冲响应latcfilt 格型梯形滤波器实现unwrap 相位角展开zplane 零极点图IIR与FIRMATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。 与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。 一、巴特沃斯IIR滤波器的设计 在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。 Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。 butter函数的用法为: b,a=butter(n,Wn,/ftype/) 其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为: n,Wn= buttord(Wp,Ws,Rp,Rs) 其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。 不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则: 1高通滤波器:Wp和Ws为一元矢量且WpWs; 2低通滤波器:Wp和Ws为一元矢量且WpWs; 3带通滤波器:Wp和Ws为二元矢量且WpWs,如Wp=0.1,0.8,Ws=0.2,0.7。 二、切比雪夫I型IIR滤波器的设计 在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。 cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。 cheby1函数的用法为: b,a=cheby1(n,Rp,Wn,/ftype/) 在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。 cheblord函数的用法为: n,Wn=cheblord(Wp,Ws,Rp,Rs) 其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。B,A = BUTTER(N,Wn) designs an Nth order lowpass digital Butterworth filter and returns the filter coefficients in length N+1 vectors B (numerator) and A (denominator).The cutoff frequency Wn must be 0.0 Wn 1.0, with 1.0 corresponding to half the sample rate.If Wn is a two-element vector, Wn = W1 W2, BUTTER returns an order 2N bandpass filter with passband W1 W W2. B,A = BUTTER(N,Wn,high) designs a highpass filter. B,A = BUTTER(N,Wn,low) designs a lowpass filter. B,A = BUTTER(N,Wn,stop) is a bandstop filter if Wn = W1 W2.当设计低通和高通时,Wn是一个值,表示截止频率;当设计带通和带阻时,Wn是一个二个元素的数组,表示通带或阻带的上下截止频率。频率的归一化是对fs/2进行归一。例如,fs=10000,则fs/2=5000,500归一化为0.1,1000归一化为0.2。一个论坛上的例子:http:/www.chinavib.com/forum/thread-72656-1-1.htmlfs=100;%采样频率为100Hzfc=30;%截止频率为30Hzb,a=butter(4,0.6,high);h,w=freqz(b,a);plot(w/pi*fs/2,abs(h); grid;title(Amplitude Response);xlabel(Frequency (Hz); ylabel(Amplitude);figure;x=randn(1,fs*6);y=filter(b,a,x);subplot 211; plot(x); title(Original Signal);subplot 212; plot(y); title(Output of High-pass filter);其中信号是用随机数产生的,长6s。笫1张图是高通滤波器的幅值响应曲线,笫2张图是信号滤波前后的波形.1. buttord(1)N,wc=buttord(wp,ws,p,s) 用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。 调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0wp1,0ws1。1表示数字频率pi。 p,s分别为通带最大衰减和组带最小衰减(dB)。 当wswp时,为高通滤波器; 当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。 N,wc作为butter函数的调用参数。(2)N,c=buttord(p,s,p,s,s) 用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率c。 p,s,c均为实际模拟角频率。 说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。2.buttap(N) z0,p0,k0=buttap(N) 用于计算N阶巴特沃斯归一化(3dB截止频率c=1)模拟低通原型滤波器系统函数的零、极点和增益因子。 说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用 B,A=zp2tf(z0,p0,k0)3.butter(1)b,a=butter(N,wc,ftype) 计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。 调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。 系数b、a是按照z-1的升幂排列。(2)B,A=butter(N,c,ftype,s) 计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。 调用参数N和c分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和c。 系数B、A按s的正降幂排列。 tfype为滤波器的类型: ftype=high时,高通;c只有1个值。 ftype=stop时,带阻阻;此时c=cl,cu,分别为带阻滤波器的通带3dB下截止频率和上截止频率。 ftype缺省时: 若c只有1个值,则默认为低通; 若c有2个值,则默认为带通;其通带频率区间cl cu。 注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号