R peak detection of ecg and ppg

31 次查看(过去 30 天)
Keerthi G
Keerthi G 2020-2-21
评论: Umar 2024-6-28
i have got both ppg and ecg signal... i am now struggling to detect the r peak and compare the r peak of ecg signal with ppg signal to calculate PTT... can anyone have idea about it....it will be more helpful for mr if you shared your ideas.thank you..
  1 个评论
Umar
Umar 2024-6-28
Hi Keerthi,
One common approach is to use the Pan-Tompkins algorithm for ECG R-peak detection. For PPG signals, you can apply peak detection algorithms like findpeaks or peakdet to identify peaks.
Here is a simple example in Matlab to detect R peaks in ECG signals using the Pan-Tompkins algorithm:
% Load ECG signal
ecg_signal = load('ecg_signal.mat');
% Apply Pan-Tompkins algorithm for R-peak detection
r_peaks = pan_tompkins(ecg_signal);
% Plot ECG signal with detected R peaks
plot(ecg_signal); hold on; plot(r_peaks, ecg_signal(r_peaks), 'ro', 'MarkerSize', 10); xlabel('Samples'); ylabel('Amplitude'); title('ECG Signal with Detected R Peaks'); legend('ECG Signal', 'R Peaks');
For PPG signal processing, you can adapt similar peak detection methods. Once you have the R peaks from both signals, you can compare their timings to calculate the Pulse Transit Time (PTT) as the time delay between the R peaks in ECG and PPG signals.
Hope this helps answer your question.

请先登录,再进行评论。

回答(1 个)

Samatha Aleti
Samatha Aleti 2020-2-24
Hi,
Refer the following MATLAB documentation page on “R Wave detection in the ECG”:
You may also refer the MATLAB File Exchange function available:

Community Treasure Hunt

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

Start Hunting!

Translated by