采样频率100HZ,截止频率20HZ ,效果很明显
x=[0:1:99];
p1 =x ;
iir1 =x ;
f=x;
fc=100; %采样频率
t=1/fc.*x;
f1=2; %信号频率
w1=2*pi*f1;
f2 =40; %干扰频率1
w2=2*pi*f2;
hold on
grid on
z1 = sin(w1*t); %
z2 = 0.2*sin(w2*t);
zz = z1+z2;
fh1 = 20; %一阶低通截止频率
a1 = 1/(1+(fc/(2*pi*fh1)));
%三阶IIR滤波
n0 = 0.098531160923927052 ;
n1 = 0.29559348277178116 ;
n2 = 0.29559348277178116 ;
n3 = 0.098531160923927052 ;
d0 = 1 ;
d1 = -0.57724052480630283 ;
d2 = 0.42178704868956196 ;
d3 = -0.056297236491842671;
%3阶高通
bn0 = 0.25691560124846347 ;
bn1 = -0.7707468037453904 ;
bn2 = 0.7707468037453904 ;
bn3 = -0.25691560124846347 ;
bd0 = 1 ;
bd1 = -0.57724052480630295 ;
bd2 = 0.42178704868956196 ;
bd3 = -0.056297236491842678 ;
fn0 = 0.42080777983773182 ;
fn1 = 0.42080777983773182 ;
fd0 = 1;
fd1 = -0.15838444032453636;
a2 = 0.5
for n=(2:1:length(x));
p1(n) = (1-a2)*p1(n-1)+ a2 * zz(n);
end
%y(n) = n0*x(n) + n1*x(n-1) +n2*x(n-2)+n3*x(n-3) – d1*y(n-1) – d2*y(n-2)-d3*y(n-3)-d4*y(n-4)
iir1 = zz; %3阶低通
iir2 = zz; %3阶高通
iir3 = zz; %1阶低通
for n=(4:1:length(x));
iir1(n) = n0*zz(n) + n1*zz(n-1) +n2*zz(n-2)+n3*zz(n-3) – d1*iir1(n-1) – d2*iir1(n-2)-d3*iir1(n-3);
end
for n=(2:1:length(x));
iir3(n) = fn0*zz(n) + fn1*zz(n-1)- fd1*iir1(n-1);
end
for n=(4:1:length(x));
iir2(n) = bn0*zz(n) + bn1*zz(n-1) +bn2*zz(n-2)+bn3*zz(n-3) – bd1*iir2(n-1) – bd2*iir2(n-2)-bd3*iir2(n-3);
end
maxtri = zeros(size(repmat(t’,[1 2])));%初始化矩阵
maxtri(:,1)= t’;
maxtri(:,2)= zz’;
maxtri
plot(t,zz,’r’);
plot(t,iir1,’k’);
plot(t,iir2,’b’);