fir.m

来自「这个是我数字信号处理这门课的课程设计,文件包括用matlab编写的代码和设计报告」· M 代码 · 共 38 行

M
38
字号
%k=4;N=20;w=pi/4;
function FIR(k,N,w)
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-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,0,0,-2,-2,-2,-2,0];

hd = ideal(w,N);
h = window(hd,k);%计算特定窗函数
y = conv(x,h);%卷积

figure;
[h1,w]=freqz(h);
l=length(w);
mag=abs(h1);
db=20*log10((mag+eps)/max(mag));
subplot(2,2,1);
plot(w/pi,db);
grid on
xlabel('w/pi');
ylabel('20log|H(esp(jw))|');
title('布莱克窗的幅频曲线');

m=length(x);
n=1:m;
subplot(2,2,2);
plot(n,x);
grid on
xlabel('n');
ylabel('x(n)');
title('滤波前心电图x(n)');


m1=length(y);
n1=1:m1;
subplot(2,2,4);
plot(n1,y,'r');
grid on
xlabel('n');
ylabel('y(n)');
title('经FIR滤波后心电图y(n)');

⌨️ 快捷键说明

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