How to find the QRS complex for this ECG signal?

12 views (last 30 days)
Hi all,
Could somebody please tell me how I can find the QRS complexes of this ECG signal? The signal is attached.
Thanks in advance!
  6 Comments
Susan
Susan on 13 Dec 2022
@William Rose Thank you so much for your response. It's helpful. Appreciate it!

Sign in to comment.

Accepted Answer

William Rose
William Rose on 13 Dec 2022
Perhaps the comments above constitute an answer to your question.
ECGs=load('ECG');
ECG=ECGs.ECG;
L = numel(ECG);
t = linspace(0, L-1, L)/1024;
[pks,locs] = findpeaks(ECG,'MinPeakDistance',2,'MinPeakHeight',max(ECG)*0.6846);
%[pks,locs] = findpeaks(ECG,'MinPeakDistance',2,'MinPeakHeight',.48);
figure
subplot(311), plot(t, ECG, '-r',t(locs), pks, '^r')
xlabel('Time (s)'); grid on
subplot(312), plot(t, ECG, 'r-',t(locs), pks, '^k')
xlim([0 5]); xlabel('Time (s)'); grid on
subplot(313), plot(t, ECG, '.r-',t(locs), pks, '^k')
xlim([4 5]); xlabel('Time (s)'); grid on
The 10 Hz spikes are a bit narrower than the QRS complexes, so it should be possible to identify the QRS complexes based on that, plus the peak height excedigng approximately 0.4. This should allow you to find all of the R waves.
Was the subject paced? The R-R intervals appear to be too even for unpaced beats.
Good luck.
  3 Comments
William Rose
William Rose on 13 Dec 2022
@Susan, Let's continue the discussion offline. Please send me secure email by clicking the WR circle next to my name, then click on the envelope icon.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!