[討論] 關於生醫訊號
這次研究的是心電圖(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
05/29 10:54, 1F