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

📄 iir.m

📁 用MATLAB实现双线性变换法设计IIR数字滤波器
💻 M
字号:

%将滤波器H(Z)分为三个级联滤波器H1(Z)、H2(Z)、H3(Z),即满足H(Z)=H1(Z).*H2(Z).*H3(Z);心电图数字信号通过H(
%Z)滤波即可分解为依次通过H1(Z)、H2(Z)、H3(Z)的滤波,分解的结果已经在教材中给出
A=[0.09036 0.09036*2 0.09036];%三个级联滤波器的系统函数的分子系数向量相同;见教材的分解
B1=[1 -1.2686 0.7051];%H1(Z)的分母系数向量
B2=[1 -1.0106 0.3583];%H2(Z)的分母系数向量
B3=[1 -0.9044 0.2155];%H3(Z)的分母系数向量
[H1,w]=freqz(A,B1,50);%获得H1(Z)
[H2,w]=freqz(A,B2,50);%获得H2(Z)
[H3,w]=freqz(A,B3,50);%获得H3(Z)
H=H1.*H2.*H3;%获得H(Z)
figure
plot(w/pi,20*log10(abs(H)));%显示数字滤波器H(Z)的频响图,应为低通滤波器
title('数字低通滤波器H(Z)的幅频特性');%标示plot语句所画图形的名称
xlabel('w/pi');ylabel('20*log10(abs(H))');%标示plot语句所画图形的横坐标和纵坐标含义

%%%%%%%%%%%%%%%%%%%%%以下为利用设计的数字滤波器H(Z)对心电图数字信号进行滤波%%%%%%%%%%%%%%%%%%%%%%%%%

xn=[-4 -2 0 -4 -6 -4 -2 -4 -6 -6 -4 -4 -6 -6 -2 6 12 8 0 -16 -38 -60 -84 -90 -66 -32 -4 -2 -4 8 12 12 10 6 6 6 4 0 0 0 0 0 -2 -4 0 0 0 -2 -2 0 0 -2 -2 -2 -2 0];
%%%   xn即为待滤波的心电图数字信号
figure
stem(1:length(xn),xn);%画出原始心电图数字信号的火柴状图
title('原始心电图数字信号的时域序列');%标示stem语句所画图形的名称
xlabel('n');ylabel('xn(n)');%标示stem语句所画图形的横坐标和纵坐标含义
y=filter(A,B3,filter(A,B2,filter(A,B1,xn)));%利用filter函数的嵌套将前一级输出信号作为后一级的输入信号,依次完成滤波
figure
stem(1:length(y),y);%画出滤波后的心电图数字信号的火柴状图
title('滤波后心电图数字信号的时域序列');%标示stem语句所画图形的名称
xlabel('n');ylabel('y(n)');%标示stem语句所画图形的横坐标和纵坐标含义

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -