Reputation: 11
I want to annalyze an ECG signal with matlab.
I want to make a simple classification in the signal. There are three different types of classification: Normal, Noise and a VT (arrythmia).
I know that for a signal to be considered normal, it can have the following characteristics:
-> heart rate: 60-100 bpm;
-> P waves precede QRS complex;
-> PR interval: 0.12-0.2 sec;
-> QRS interval: 0.06-0.12 sec;
How can I get the time interval of a QRS complex in an ECG signal?
In the frequency domain I also can admit that:
-> Normal ECG: 1-1.6 Hz;
-> VT: 1.6-6 Hz;
-> Noise: 6-40 Hz;
How can I say that a signal is noise? If I go to the frequency domain, How can I make a relation between noise frequency and the respective time of that sample.
Thanks,
Andre
Upvotes: 1
Views: 1068
Reputation: 394
There are common algorithms for R-peaks detection, for example Pan and Tompkins algorithm.
I have doubt on the frequency domain you posted, because normal QRS spectrum lies between 5 and 20 Hz. You may use spectrogram function in Mtlab to see this.
For noise detection you should probably calculate skewness or kurtosis in a sliding window, or find the dynamic range in mVolts. If the noise is gaussian, then theese values will be near to zero.
Classification is usually performed by finding correlation between the signal and the known normal/pathologic patterns.
Upvotes: 1