Используйте пиковое средство поиска, чтобы найти сердечный ритм от входа ECG

Этот пример показывает, как использовать панель Средства поиска Пика Осциллографа Времени, чтобы измерить сердечный ритм от ECG.

Эта модель эмулирует сердечный ритм ECG.

Чтобы эмулировать сердцебиение, модель импортирует переменную mhb из рабочей области MATLAB®. Эта переменная создается, когда модель загружает, потому что команды, которые создают его, находятся в функции модели Preload. Чтобы просмотреть эти команды, в меню Simulink®, выбирают File > Model Properties > Model Properties. Диалоговое окно Model Properties появляется. Кликните по вкладке Callbacks. Следующие строки кода MATLAB® появляются.

x1 = 3.5*ecg(2700);
y1 = sgolayfilt(kron(ones(1,13),x1),0,21);
n = (1:30000)';
del = round(2700*rand(1));
mhb = y1(n + del);
ts = 0.00025;

ecg является пользовательской функцией, которая помогает сгенерировать сигнал heartbeat.

function x = ecg(L)
a0 = [0,  1, 40,  1,   0, -34, 118, -99,   0,   2,  21,   2,   0,   0,   0];
d0 = [0, 27, 59, 91, 131, 141, 163, 185, 195, 275, 307, 339, 357, 390, 440];
a = a0 / max(a0);
d = round(d0 * L / d0(15));
d(15) = L;
for i = 1:14
    m = d(i) : d(i+1) - 1;
    slope = (a(i+1) - a(i)) / (d(i+1) - d(i));
    x(m+1) = a(i) + slope * (m - d(i));
end

Запустите свою модель, чтобы видеть область времени вывод.

  1. Чтобы показать панель Peak Finder, в меню Time Scope, выбирают Tools > Measurements > Peak Finder.

  2. Чтобы расширить раздел Settings, кликните по стрелке рядом с меткой.

  3. Введите 10 для Max Num of Peaks. Раздел Time Scope Peaks теперь отображает список 10 пиковых амплитудных значений, и времена, в которые они происходят.

Список пиковых значений показывает постоянную разницу во времени 0,675 секунд между каждым heartbeat. Поэтому сердечный ритм сигнала ECG является 88,89 ударами в min (bpm).