[討論] 關於生醫訊號

看板MATLAB作者 (華華)時間13年前 (2012/05/25 16:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
這次研究的是心電圖(ECG),我的問題是R點找出來了, 但是如何計算兩個R peak值間的距離,並且另外找出Q波和S波的峰值 以下是我的程式碼 clc; clear y2=wavread('C:\Users\Alan\Desktop\matlab\test.wav'); c=y2'; c=fliplr(c); %因為貼片貼相反,圖是相反的 fs=1000; %取樣頻率 t=[0:length(c)-1]/fs; order=100; %濾波器階數 wn=[20/(fs/2)]; b=fir1(order,wn); [h,freq]=freqz(b,1,512,fs); Y=filter(b,1,c); plot(t,Y); c=Y; dc=diff(c,1); adc=abs(dc); tdc=t(1:length(dc)); ttt=abs(fft(dc)); order=200; wn=[20/(fs)/2]; b=fir1(order,wn); [h,freq]=freqz(b,1,512,fs); YF=filter(b,1,adc); %-------------------------------------------%以下是找R點 plot(tdc,YF*10); z=[];%創造空矩陣 plot(Y*10); hold on; for x=1:length(Y); if((Y(x)<min(Y)*0.9)); if(Y(x)<Y(x+1)&&Y(x)<Y(x-1)); plot(x,Y(x)*10,'or'); z=[z x]; else end else end end hold off; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.35.139

05/29 10:54, , 1F
R wave找出來後把你z(i+1)-z(i)就可以計算出RRI的距離
05/29 10:54, 1F
文章代碼(AID): #1Flpw78f (MATLAB)