教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

IIR滤波器matlab源程序

来源:网络收集 时间:2026-08-17
导读: IIR的matlab源程序 IIR滤波器matlab源程序 (1)IIR一阶低通滤波器 clear; fi=1;fs=10;Gc2=0.9; wc=2*pi*fi/fs; omegac=tan(wc/2); alpha=(sqrt(Gc2)/sqrt(1-Gc2))*omegac; a=(1-alpha)/(1+alpha); b=(1-a)/2; w=0:pi/300:pi; Hw2=alpha^2./(alpha^2+(tan(w/

IIR的matlab源程序

IIR滤波器matlab源程序

(1)IIR一阶低通滤波器

clear;

fi=1;fs=10;Gc2=0.9;

wc=2*pi*fi/fs;

omegac=tan(wc/2);

alpha=(sqrt(Gc2)/sqrt(1-Gc2))*omegac;

a=(1-alpha)/(1+alpha);

b=(1-a)/2;

w=0:pi/300:pi;

Hw2=alpha^2./(alpha^2+(tan(w/2)).^2);

plot(w/pi,Hw2);

grid;

hold on;

(2)一阶高通滤波器

clear;

fi=1;fs=10;Gc2=0.5;

wc=2*pi*fi/fs;

omegac=tan(wc/2);

alpha=(sqrt(1-Gc2)/(sqrt(Gc2)))*omegac;

1

IIR的matlab源程序

a=(1-alpha)/(1+alpha);

b=(1+a)/2;

w=0:pi/300:pi;

Hw2=(tan(w/2).^2)./(alpha^2+(tan(w/2)).^2);

plot(w/pi,Hw2);

grid;

hold on;

(3)Notch 嵌波滤波器

clear;

Gb2=0.5;

w0=0.35*pi;

deltaw=0.1*pi;

b=1/(1+tan(deltaw/2)*(sqrt(1-Gb2)/sqrt(Gb2)));

B=[1 -2*cos(w0) 1].*b;

A=[1 -2*b*cos(w0) (2*b-1)];

w=0:pi/500:pi;

H=freqz(B,A,w);

plot(w/pi,abs(H));

grid;

(4)Peak 滤波器

clear;

2

IIR的matlab源程序

Ac=3;

Gb2=10^(-Ac/10);

w0=0.35*pi;

deltaw=0.1*pi;

b=1/(1+tan(deltaw/2)*(sqrt(Gb2)/sqrt(1-Gb2)));

B=[1 0 -1].*(1-b);

A=[1 -2*b*cos(w0) (2*b-1)];

w=0:pi/500:pi;

H=freqz(B,A,w);

plot(w/pi,abs(H));

grid;

(5)IIR低通滤波(Butterworth)

% IIR Lowpass Use Butterworth

clear;

fs=20;fpass=4;fstop=5;

Ap=0.5;As=10;

wp=2*pi*fpass/fs;ws=2*pi*fstop/fs;

omegap=tan(wp/2);omegas=tan(ws/2);

ep=sqrt(10^(Ap/10)-1);

es=sqrt(10^(As/10)-1);

3

IIR的matlab源程序

N=ceil(log(es/ep)/log(omegas/omegap));

omega0=omegap/ep^(1/N);

K=floor(N/2);

for i=1:K

theta(i)=pi*(N-1+2*i)/(2*N);

end

for i=1:K

G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a1(i)=2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2); end

if K<(N/2)

G0=omega0/(omega0+1);a0=(omega0-1)/(omega0+1);

end

w=0:pi/300:pi;

Hw2=1./(1+(tan(w/2)/omega0).^(2*N));

plot(w/pi,Hw2);

grid;

4

IIR的matlab源程序

(6)IIR高通滤波(Butterworth)

% IIR Hightpass Use Butterworth

clear;

fs=20;fpass=5;fstop=4;

Ap=0.5;As=10;

wp=2*pi*fpass/fs;ws=2*pi*fstop/fs;

omegap=cot(wp/2);omegas=cot(ws/2);

ep=sqrt(10^(Ap/10)-1);

es=sqrt(10^(As/10)-1);

N=ceil(log(es/ep)/log(omegas/omegap));

omega0=omegap/ep^(1/N);

K=floor(N/2);

for i=1:K

theta(i)=pi*(N-1+2*i)/(2*N);

end

for i=1:K

G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a1(i)=-2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2);

end

5

IIR的matlab源程序

for i=1:K

a2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2); end

if K<(N/2)

G0=omega0/(omega0+1);a0=-(omega0-1)/(omega0+1);

end

w=(0+eps):pi/300:pi;

Hw2=1./(1+(cot(w/2)/omega0).^(2*N));

plot(w/pi,Hw2);

grid;

(7)IIR带通滤波(Butterworth)

% IIR Bandpass Use Butterworth

clear;

fs=20;fpa=2;fpb=4;fsa=1.5;fsb=4.5;

Ap=0.0877;As=16.9897;

wpa=2*pi*fpa/fs;wpb=2*pi*fpb/fs;wsa=2*pi*fsa/fs;wsb=2*pi*fsb/fs;

c=sin(wpa+wpb)/(sin(wpa)+sin(wpb));

omegap=abs((c-cos(wpb))/sin(wpb));

omegasa=(c-cos(wsa))/sin(wsa);omegasb=(c-cos(wsb))/sin(wsb);

omegas=min(abs(omegasa),abs(omegasb));

6

IIR的matlab源程序

ep=sqrt(10^(Ap/10)-1);es=sqrt(10^(As/10)-1);

N=ceil(log(es/ep)/log(omegas/omegap));

omega0=omegap/ep^(1/N);

K=floor(N/2);

for i=1:K

theta(i)=pi*(N-1+2*i)/(2*N);

end

for i=1:K

G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a1(i)=4*c*(omega0*cos(theta(i))-1)/(1-2*omega0*cos(theta(i))+omega0^2); end

for i=1:K

a2(i)=2*(2*c^2+1-omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a3(i)=-(4*c*(omega0*cos(theta(i))+1))/(1-2*omega0*cos(theta(i))+omega0^2); end

for i=1:K

a4(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2); end

7

IIR的matlab源程序

G0=omega0/(1+omega0);a0(1)=-2*c/(1+omega0);a0(2)=(1-omega0)/(1+omega0); end

w=(0+eps):pi/300:pi;

Hw2=1./(1+((c-cos(w))./(omega0*sin(w))).^(2*N));

plot(w/pi,Hw2);

grid;

(8)IIR带阻滤波(Butterworth)

% IIR Bandstop Use Butterworth

clear;

fs=20;fpa=1.5;fpb=4.5;fsa=2;fsb=4;

Ap=0.5;As=10;

wpa=2*pi*fpa/fs;wpb=2*pi*fpb/fs;wsa=2*pi*fsa/fs;wsb=2*pi*fsb/fs;

c=sin(wpa+wpb)/(sin(wpa)+sin(wpb));

omegap=abs(sin(wpb)/(c-cos(wpb)));

omegasa=sin(wsa)/(cos(wsa)-c);omegasb=sin(wsb)/(cos(wsb)-c);

omegas=min(abs(omegasa),abs(omegasb));

ep=sqrt(10^(Ap/10)-1);es=sqrt(10^(As/10)-1);

N=ceil(log(es/ep)/log(omegas/omegap));

omega0=omegap/ep^(1/N);

K=floor(N/2);

theta=zeros(1,K);

8

IIR的matlab源程序

theta(i)=pi*(N-1+2*i)/(2*N);

end

G=zeros(1,K);a1=zeros(1,K);a2=zeros(1,K);

for i=1:K

G(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a1(i)=2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2);

end

for i=1:K

a2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omega0^2); end

if K<(N/2)

G0=omega0/(omega0+1);a0=(omega0-1)/(omega0+1);

end

w=(0+eps):pi/300:pi;

Hw2=1./(1+(sin(w)./(omega0*(c-cos(w)))).^(2*N));

plot(w/pi,Hw2);

grid;

(9)IIR低通滤波(chebyshev 1)

% IIR Lowpass Use Chebyshev Type 1

9

< …… 此处隐藏:4753字,全部文档内容请下载后查看。喜欢就下载吧 ……

IIR滤波器matlab源程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1994990.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)