⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iir3.m

📁 3阶iir滤波器设计
💻 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 + -