📄 iir3.m
字号:
close all;
clear;
clc;
%参数设定
fs=25;%采样频率
fc=0.5;%截止频率
%end
%输入
R=1/fs;
t=0:R:50;
x=1222+50*sin(2*pi*1.0*t);
x_size=size(x);
x_size2=x_size(1,2);
plot(x);
hold on;
L_filer=3;
biOrderCoeff=[1.0 2.0 2.0];%b0~b2
filter_bn=zeros(1,4);
filter_an=zeros(1,4);
w_cal=2*fs*tan(fc*pi/fs);%频率标定
filter_bn(1)=w_cal^3;
filter_bn(2)=filter_bn(1)*3;
filter_bn(3)=filter_bn(1)*3;
filter_bn(4)=filter_bn(1);
temp1=(2*fs)^3;
temp2=biOrderCoeff(3)*w_cal*(2*fs)^2;
temp3=biOrderCoeff(2)*w_cal^2*2*fs;
temp4=biOrderCoeff(1)*w_cal^3;
filter_an(1)=temp1+temp2+temp3+temp4;
filter_an(2)=-3*temp1-temp2+temp3+3*temp4;
filter_an(3)=3*temp1-temp2-temp3+3*temp4;
filter_an(4)=-temp1+temp2-temp3+temp4;
temp_an=filter_an(1);
filter_bn(1)=filter_bn(1)/temp_an;
filter_bn(2)=filter_bn(2)/temp_an;
filter_bn(3)=filter_bn(3)/temp_an;
filter_bn(4)=filter_bn(4)/temp_an;
filter_an(1)=filter_an(1)/temp_an;
filter_an(2)=filter_an(2)/temp_an;
filter_an(3)=filter_an(3)/temp_an;
filter_an(4)=filter_an(4)/temp_an;
y=zeros(1,4);
for j=5:x_size2
temp7=0;
temp8=0;
for i=1:4
temp7=temp7+filter_bn(i)*x(j-i);
end
for i=2:4
temp8=temp8+filter_an(i)*y(j-i+1);
end
y(j)=temp7-temp8;
end
plot(y,'green');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -