

Preview text:
filename = 'ecg.txt'; data = load(filename); t = data(:, 1); amp = data(:, 2);
[pks, locs] = findpeaks(amp, 'MinPeakHeight', 0.5, 'MinPeakDistance', 150); peak_times = t(locs);
rr_intervals = diff(peak_times); avg_rr = mean(rr_intervals); bpm = 60 / avg_rr;
fprintf('---------------------------------\n');
fprintf('Kết quả phân tích ECG:\n');
fprintf('Số lượng đỉnh phát hiện: %d\n', length(pks));
fprintf('Nhịp tim trung bình: %.2f BPM\n', bpm);
fprintf('---------------------------------\n');
figure('Name', 'Phan tich ECG', 'NumberTitle', 'off'); plot(t, amp, 'b'); hold on;
plot(peak_times, pks, 'ro', 'MarkerFaceColor', 'r');
title(['Tín hiệu ECG - Nhịp tim: ', num2str(bpm, '%.2f'), ' BPM']); xlabel('Thời gian (s)'); ylabel('Biên độ (mV)');
legend('Tín hiệu gốc', 'Đỉnh R'); grid on;
--------------------------------- Kết quả phân tích ECG:
Số lượng đỉnh phát hiện: 345
Nhịp tim trung bình: 69.02 BPM
---------------------------------