Hello there!
I am approaching for the first time to ECG analysis to extract the RR interval and, ultimately, compute a PSD estimation using Welch's periodogram. As far as I know, the wavelet method is the most common and the most reliable, but I find it difficult to understand.
Can anyone give me some advice regarding how to analyse ECG data? For example, why do we need to decompose the signal into different levels? And what do those levels mean? Does anyone know other methods to extract the RR interval?
For the moment I am working with the MIT-BIH database.
Thanks to anyone who's willing to help!
Luca

 Réponse acceptée

Star Strider
Star Strider le 27 Août 2020

0 votes

If you only want the locations of the R-waves in a normal EKG, use findpeaks or islocalmax.

10 commentaires

Luca Merolla
Luca Merolla le 1 Sep 2020
Hello! Sorry for the late reply.
My aim is to get a HRV signal from the ECG, so finding the R peaks and then interpolate the points. The interpolation part is also tricky because I lack of some arguments for the spline function.
Any suggestions?
Again, thanks so much and sorry for being late at answering!
Star Strider
Star Strider le 1 Sep 2020
My pleasure!
Note that heart rate variability assessment requires that each R-wave is preceded by a normal P-wave, so you would need to detect the P-waves as well, and determine that the P-R interval is normal (so ruling out atrial fibrillation, 2° heart block, and other abnormalities).
I do not understand the reason for interpolating anything. All that is necessary is to get the R-R intervals and determine if there is any pattern. Visualise this in a plot, and use other methods (Fourier transform techniques of various kinds, phase-plane, etc.) to determine any pattern that may exist.
Luca Merolla
Luca Merolla le 1 Sep 2020
Will the wavelet transform work also for the detection of P-waves? And do you also know how to determine if the P-R interval is normal?
Star Strider
Star Strider le 1 Sep 2020
Wavelets can work. An example of that is presented in Wavelet Time Scattering for ECG Signal Classification.
Probably the best documentation on this that I have seen is Waveform Segmentation Using Deep Learning. It requires the Signal Processing and Deep Learning Toolboxes.
The P-R interval is charistically between 120 and 200 msec, measured from the beginning of the P-wave to the beginning of the QRS complex. Most are about 140 msec. Problems can arise in the setting of the Wolff-Parkinson-White syndrome, where the accessory conduction path bypasses the A-V node, resulting in premature ventricular activation.
Interpreting all the subtleties of EKG patterns is the reason Board-Certified Cardiologists (I am not one) are so well compensated!
Luca Merolla
Luca Merolla le 1 Sep 2020
As always, very helpful. Thank you so much!
Star Strider
Star Strider le 1 Sep 2020
As always, my pleasure!
Luca Merolla
Luca Merolla le 3 Sep 2020
Hello again!
I was also looking into this example Wavelet Analysis of Physiologic Signals and they say: "First, decompose the ECG waveform down to level 5 using the default 'sym4' wavelet. Then, reconstruct a frequency-localized version of the ECG waveform using only the wavelet coefficients at scales 4 and 5".
Do you know what those levels mean? And why are they using only those? It seems I can't find anywhere the answer.
Thank you again for your help!
Luca
Star Strider
Star Strider le 3 Sep 2020
I am not sufficiently familiar with wavelets to reply with respect to those details. I will look at that link.
Hello Star Strider!
Sorry that I keep coming back to this, but could you explain to me why, in this example, after recomposing the signal they plot the squared absolute values?
I plotted both the squared absolute values and the non-squared absolute values and I can't see any difference between the two.
The lines I am referring to are:
wt = modwt(ecgsig,5);
wtrec = zeros(size(wt));
wtrec(4:5,:) = wt(4:5,:);
y = imodwt(wtrec,'sym4');
Where they decompose the ECG waveform with modwt, and then recompose it with imodwt. Then they use findpeaks on the squared absolute values of the signal:
y = abs(y).^2;
[qrspeaks,locs] = findpeaks(y,tm,'MinPeakHeight',0.35,...
'MinPeakDistance',0.150);
Star Strider
Star Strider le 7 Sep 2020
That the squared absolute value does not make a difference in your EKG may simply mean that all the identified R-waves are all greater than 0. Note that in the EKG in that example, many of the R-waves are negative, and those same complexes show peaked T-waves. (This likely indicates an intraventricular conduction system pathology, with aberrant activation. I would have to know more to be sure.) Taking the squared absolute value may not be necessary for the EKGs you are studying.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Discrete Multiresolution Analysis dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by