• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

用处理心电图的基线漂移现象,是自己做的,完全可以运行,如果想处理心电图的工频干扰和高频噪声,可以把技术指标换下。

资源截图

代码片段和文件信息

clear all;close all;
%绘制原始心电信号的时域图和频谱图
ECG=load(‘C:\Users\Administrator\Desktop\renwushu\ecg101.txt‘);
time=ECG(:1);
amplitude=ECG(:2);
figure(1);
subplot(211);plot(timeamplitude);title(‘原始心电信号的时域图‘);xlabel(‘时间/s‘);ylabel(‘幅值/mv‘);axis([010-3.53.5]);grid on;
n=length(time);
an=fft(amplitude);
T=ceil(max(time));
Fs=n/T;
f=Fs/n*(0:n-1);
subplot(212);plot(fabs(an));title(‘原始心电信号的频谱图‘);xlabel(‘频率/Hz‘);ylabel(‘|X(k)|‘);axis([0180-1400]);grid on;
% 冲击响应不变法设计IIR带通滤波器设数字指标fp=[1 30]fst=[0.5 35]Rp=2As=5.
fp=[1 30];fst=[0.5 35];Rp=2;As=5;
Wp=fp*2*pi;Wst=fst*2*pi;
[N1Wc]=buttord(WpWstRpAs‘s‘);
[zpk]=buttap(N1);   [ba]=zp2tf(zpk);
W1=Wp(2)-Wp(1);   W2=sqrt(Wp(1)*Wp(2));
[bsas]=lp2bp(baW2W1);
[bzaz]=impinvar(bsasFs);
[H1w1]=freqz(bzazFs);
f1=w1/pi*Fs/2; 
figure(2);
subplot(211);plot(f120*log10(abs(H1)));title(‘IIR带通滤波器幅频特性‘);xlabel(‘频率/Hz‘);ylabel(‘20log10|H1(K)|‘);grid on;
subplot(212);plot(f1angle(H1));title(‘IIR带通滤波器相频特性‘);xlabel(‘频率/Hz‘);ylabel(‘arg[H1(K)]‘);grid on;
figure(3)
h1=impz(bzaz);
subplot(211); plot(h1);title(‘IIR带通滤波器的单位抽样响应‘);xlabel(‘n‘);ylabel(‘h1‘);grid on;
%IIR带通滤波器滤波之后
figure(4)
y1=filter(bzazECG(:2));
subplot(211);plot(timey1);title(‘IIR带通滤波器滤波后心电信号的时域图‘);xlabel(‘时间/s‘);ylabel(‘幅值/mv‘);axis([010-3.53.5]);grid on;
subplot(212);plot(fabs(fft(y1)));title(‘I

评论

共有 条评论