2016-05-24 14 views
1

私はMatlabの新機能で、複数の.wavファイルから1つのハートビートを抽出しようとしています。私はすでに.wavファイル全体を表示することができましたが、ハートビートを検出してプロットする方法は見つけられません。これは私がやったことです:ビート信号プロットMatlab

[y,fs] = audioread('myfile.wav'); 
y = y(:,1); 
    dt = 1/fs; 
    N = length(y); 
    t = linspace(0, N/fs, N); 
    plot(t,y); xlabel('Seconds'); ylabel('Amplitude'); 

    threshold = 0.6; 
    if(max(y) > threshold) % Here I tried to dectect the first heartbeat but it doesn't work 
     plot(t1,y); % t1 should be the duration of one heartbeat 
    end 

どのように私はこれを解決することができますか?私はこれを試しましたが、Matlabのバージョンに問題があると思います。http://labrosa.ee.columbia.edu/projects/beattrack/

+0

QRS検出アルゴリズムを検索すると、matlabにも例があります。http://www.mathworks.com/help/dsp/examples/real-time-ecg-qrs-detection.html – xvan

答えて

1

組み込みのmatlab findpeaks関数を使用してください。これを使用する方法はreferenceです。

+0

ありがとうございます。私はピークを持っています。私は単一の心拍で「ズーム」する方法を知りたいと思います。私はプロットでそれを行う方法を理解していません。 – Kenwa

+0

あなたのハートビートを見つけたら、その後、興味のある唯一のあなたの選択した範囲をプロットすることができます。だから、心拍(x)で最大ピークに達するような座標xでピークを見つけた場合、範囲を適切に定義して( "x"あなたのピーク – jerpint