how can obtain the period information from wave format heart sound file for calculating BPM?
이전 댓글 표시
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
2014년 1월 5일
편집: Wayne King
2014년 1월 5일
0 개 추천
You can use spectral analysis and/or look at the autocorrelation.
Read the data into MATLAB using audioread() or wavread()
Saifuddin Chowdhury
2014년 1월 5일
0 개 추천
댓글 수: 3
Wayne King
2014년 1월 5일
do you have the signal processing toolbox? If so, see xcorr() Is this a speech sample?
Saifuddin Chowdhury
2014년 1월 5일
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
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)
카테고리
도움말 센터 및 File Exchange에서 Audio and Video Data에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!