determine the R waves to evaluate the ECG signal and determine the heart rate.

5 ビュー (過去 30 日間)
Nabil Yassin
Nabil Yassin 2020 年 7 月 1 日
回答済み: Star Strider 2020 年 7 月 1 日
Hello, I have a raw ECG signal from the program opensignals, I have filtered it with the low pass filter and now I want to determine the R waves to evaluate the ECG signal and determine the heart rate. any help since i am new in this field. Thanks.
clear all
close all
x1 = readmatrix('opensignals_98d391fd3f18_2020-05-07_16-43-17.txt', ...
'HeaderLines', 3, 'ExpectedNumVariables', 6); % load the ECG signal from the file
fs = 1000; % Sampling rate
N = length (x1); % Signal length
t = [0:N]/fs; % time index
x1 = x1 - mean (x1 ); % cancel DC conponents(Gleichstrom der sich auf einen Signalwert bezieht, der sich nicht ändert.
x1 = x1/ max( abs(x1 ));% normalize to one (gibt den absoluten Wert jedes Elements in Matrix X zurück)
% LPF (1-z^-6)^2/(1-z^-1)^2
%Tiefpassfilterung
[b a] = butter(4,30/(0.5*fs),'low'); % Koeffizienten der Übertragungsfunktion, f_tp ist die Grenzfrequenz, fs die Abtastfrequ., Butterworthfilter
h_LP=filtfilt(b,a,x1); %x ist das Signal
figure(1)
plot(t(1000:N),x1(1000:N),t(1000:N),h_LP(1000:N));
xlabel('sec');ylabel('Volts');title('EKG Signal'),

採用された回答

Star Strider
Star Strider 2020 年 7 月 1 日
Use findpeaks or islocalmax to locate the R-wave peaks.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeECG / EKG についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by