[SF]1阶和3阶低通滤波对比

采样频率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’);

发表评论

邮箱地址不会被公开。 必填项已用*标注