資源簡介
用處理心電圖的基線漂移現(xiàn)象,是自己做的,完全可以運行,如果想處理心電圖的工頻干擾和高頻噪聲,可以把技術(shù)指標(biāo)換下。
代碼片段和文件信息
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;
%?沖擊響應(yīng)不變法設(shè)計IIR帶通濾波器設(shè)數(shù)字指標(biāo)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(‘a(chǎn)rg[H1(K)]‘);grid?on;
figure(3)
h1=impz(bzaz);
subplot(211);?plot(h1);title(‘IIR帶通濾波器的單位抽樣響應(yīng)‘);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
評論
共有 條評論