% Function to Generate ECG of heart beat signal for specified duration
%---------------------------------------
function [Heartbeat,t] = ECG_Gen (HR,pulse_width,Amp,duration)
Fs = 48000;
delay = (60/HR);
t = 0 : 1/Fs : duration; % 48000 kHz sample freq for duration (secs)
d = 0 : delay : duration;
Heartbeat = Amp*pulstran(t,d,'tripuls',pulse_width);
У меня проблема выводящей мои генерируемых сигналов биений сердца, когда я играю сигнал с помощью звука в MATLAB и измерить его на внешнем мониторе сердечного ритма. Я получаю другое чтение для моделируемого значения. Но, похоже, они правильны только при 60 Bpm и, возможно, 100 Bpm. Необходимо включить частоту сердечных сокращений до 200 уд/мин. Для слов, я получаю много нестабильной продукции при высоких Bpm.
Ну, я не могу изменить задержку = 30/HR, потому что только это используется для определения продолжительности от любого сердечного ритма до следующего следующего сердечного ритма, который является мерой сердечных ударов в минуту (Bpm) Мне удалось найти решение, используя pulstran с tripuls и установив параметр в соответствии с константами задержки. спасибо – Federico
@ user2527428: как я понял, ваша переменная 'delay' должна быть равна половине времени в секундах между двумя пиками, поэтому, другими словами, просто' 60/2/HR' или '30/HR'. Но у вас это работает, это важная часть. –
Хорошо для текущего метода, который я использовал, условие все еще выполняется, как показано в приведенном выше коде! – Federico