1 / 12

选择滤波器的最小阶数 [N,Wn]=buttord(wp,ws,Rp,Rs); wp,ws 的单位归一化频率     [N,Wn]=buttord(wp,ws,Rp,Rs,'s');

Matlab 中 IIR 数字滤波器设计相关函数. 选择滤波器的最小阶数 [N,Wn]=buttord(wp,ws,Rp,Rs); wp,ws 的单位归一化频率     [N,Wn]=buttord(wp,ws,Rp,Rs,'s'); wp,ws 的单位 rad/s 设计巴特沃思低通滤波器 [Z,P,K]=buttap(N); 把巴特沃思零极点型转化为传递函数型 [Bap,Aap]=zp2tf(Z,P,K);. 模拟滤波器原型转化为截止频率为wn的低通滤波器 [b,a]=lp2lp(Bap,Aap,Wn); 用双线性变换实现模拟滤波器到数字滤波器的转换

carys
Download Presentation

选择滤波器的最小阶数 [N,Wn]=buttord(wp,ws,Rp,Rs); wp,ws 的单位归一化频率     [N,Wn]=buttord(wp,ws,Rp,Rs,'s');

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Matlab 中IIR数字滤波器设计相关函数 选择滤波器的最小阶数 [N,Wn]=buttord(wp,ws,Rp,Rs); wp,ws 的单位归一化频率    [N,Wn]=buttord(wp,ws,Rp,Rs,'s'); wp,ws 的单位rad/s 设计巴特沃思低通滤波器 [Z,P,K]=buttap(N); 把巴特沃思零极点型转化为传递函数型 [Bap,Aap]=zp2tf(Z,P,K);

  2. 模拟滤波器原型转化为截止频率为wn的低通滤波器模拟滤波器原型转化为截止频率为wn的低通滤波器 [b,a]=lp2lp(Bap,Aap,Wn); 用双线性变换实现模拟滤波器到数字滤波器的转换 [bz,az]=bilinear(b,a,Fs);

  3. MATLAB 函数 MATLAB 函数 窗函数 窗函数 矩形窗 三角窗 宁汉窗 boxcar(N) triang(N) hanning(N) 汉明窗 布莱克曼 凯泽窗 hamming(N) blackman(N) Kaiser(N,BETA) Matlab 中FIR数字滤波器设计相关函数 1.窗函数

  4. 2.FIR数字滤波器设计函数 b = fir1(n,Wn) b = fir1(n,Wn,'ftype') b = fir1(n,Wn,window) b = fir1(n,Wn,'ftype',window) n滤波器的阶数:对于高通、带阻滤波器n为偶数; ftype滤波器类型:低通low、高通high、带通bandpass、带阻stop Wn截止频率:低通、高通时Wn,取值范围为(0.0~1.0),其中1对应0.5fs,fs为采样频率,带通、带阻时Wn =[W1W2]且W1<W2,默认为低通或高通。 window窗函数类型:window可取boxcar、hanning、blankman及kaiser等,缺省为hamming,长度为n+1; b为FIR滤波器系数向量:为n+1。

  5. 例:用窗函数法设计FIR低通滤波器,通带截止频率例:用窗函数法设计FIR低通滤波器,通带截止频率 Wp=0.2π,阻带截止频率Ws=0.3 π,阻带衰减不 小于40dB,通带衰减不大于3dB 程序代码如下: wp=0.2*pi;ws=0.3*pi; wdelta=ws-wp; N=ceil(8*pi/wdelta); Wn=(0.2+0.3)*pi/2; b=fir1(N,Wn/pi,hanning(N+1)); c=fir1(N,Wn/pi,hamming(N+1)); figure(1);freqz(b,1,521);title('汉宁窗'); figure(2);freqz(c,1,521);title('海明窗');

  6. 频率响应函数: • [H,W]=freqz(B,A,N) A,B为滤波器的系数, 直接绘制频率特性曲线。 • [H,F]=freqz(B,A,N, Fs)在[0,Fs/2]上等间隔采样。

  7. Matlab中快速离散傅立叶变换函数 一维快速离散傅立叶正变换函数 Y = fft(x) 当x的长度为2的整数幂时,用基-2算法, 否则用分裂算法 Y = fft(x,n) n点的快速傅立叶变换,当x大于n时截断x,当x小于n时补零 一维快速离散傅立叶逆变换函数 Y =ifft(x) Y = ifft(x,n)

  8. IIR数字滤波器设计函数 [bz1,az1]=impinvar(b,a,FS) [bz2,az2]=bilinear(b,a, FS) b,a:Ha(s)分子和分母多项式系数 FS:采样频率 bz1,az1;bz2,az2:h(z)分子和分母多项式系数

  9. b=[0,1.5,1]; a=[1,1.5,0.5]; [bz1,az1]=impinvar(b,a,10) [bz2,az2]=bilinear(b,a,10) 运行结果:

  10. bz1 = 0.1500 -0.1404 0 az1 = 1.0000 -1.8561 0.8607 bz2 = 0.0720 0.0046 -0.0674 az2 = 1.0000 -1.8560 0.8606

  11. 例 8-14 用双线性变换法设计一个Butterworth低通滤波器,要求其通带截止频率100 Hz,阻带截止频率200 Hz,通带衰减Rp小于2 dB,阻带衰减大于15 dB,采样频率Fs=500 Hz。 MATLAB实现程序: %求模拟滤波器参数 wp=100*2*pi; ws=200*2*pi; Rp=2; Rs=15; Fs=500; Ts=1/Fs; %选择滤波器的最小阶数

  12. [N,Wn]=buttord(wp,ws,Rp,Rs,′s′); %创建butterworth模拟滤波器 [Z,P,K]=buttap(N); %把滤波器零极点模型转化为传递函数模型 [Bap,Aap]=zp2tf(Z,P,K); %把模拟滤波器原型转换成截至频率为Wn的低通滤波器 [b,a]=lp2lp(Bap,Aap,Wn); %用双线性变换法实现模拟滤波器到数字滤波器的转换 [bz,az]=bilinear(b,a,Fs); %绘制频率响应曲线 [H,W]=freqz(bz,az); plot(W*Fs/(2*pi),abs(H)); xlabel(′频率/Hz′) ylabel(′频率响应幅度′)

More Related