フィルターのクリア

how can obtain the period information from wave format heart sound file for calculating BPM?

1 回表示 (過去 30 日間)
I need to calculate period information from wave format sound by MATLAB code. I need it for calculating heart rate in BPM (Beat Per minute).

回答 (3 件)

Wayne King
Wayne King 2014 年 1 月 5 日
編集済み: Wayne King 2014 年 1 月 5 日
You can use spectral analysis and/or look at the autocorrelation.
Read the data into MATLAB using audioread() or wavread()

Saifuddin Chowdhury
Saifuddin Chowdhury 2014 年 1 月 5 日
I can read wave format file. But i don't know autocorrelation code to obtain period information.
  3 件のコメント
Saifuddin Chowdhury
Saifuddin Chowdhury 2014 年 1 月 5 日
This is heart sound sample.
Wayne King
Wayne King 2014 年 1 月 5 日
Sorry, you said that earlier, my mistake. How big is the file? Can you simply attach it, or read it in MATLAB first and save the data as .mat file and attach that. Also, we need to know the sampling frequency.

サインインしてコメントする。


Wayne King
Wayne King 2014 年 1 月 5 日
Based on your data and the sampling rate
The main oscillation in this data is around 90 Hz.
[Pxx,F] = periodogram(y,[],length(y),fs);
plot(F,Pxx)
set(gca,'xlim',[0 200])
[~,idx] = max(Pxx);
F(idx)
You can confirm by using the autocorrelation:
[c,lags] = xcorr(y,y,480,'coeff');
stem(lags(481:end),c(481:end));
[Pxx,F] = periodogram(c,[],length(c),fs);
[~,idx] = max(Pxx);
F(idx)

カテゴリ

Help Center および File ExchangeAudio I/O and Waveform Generation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by