how can obtain the period information from wave format heart sound file for calculating BPM?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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).
0 commentaires
Réponses (3)
Wayne King
le 5 Jan 2014
Modifié(e) : Wayne King
le 5 Jan 2014
You can use spectral analysis and/or look at the autocorrelation.
Read the data into MATLAB using audioread() or wavread()
0 commentaires
Saifuddin Chowdhury
le 5 Jan 2014
3 commentaires
Wayne King
le 5 Jan 2014
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
le 5 Jan 2014
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)
0 commentaires
Voir également
Catégories
En savoir plus sur Audio I/O and Waveform Generation dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!