Этот пример показывает, как использовать панель Средства поиска Пика Осциллографа Времени, чтобы измерить сердечный ритм от 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
Запустите свою модель, чтобы видеть область времени вывод.
Чтобы показать панель Peak Finder
, в меню Time Scope, выбирают Tools > Measurements > Peak Finder
.
Чтобы расширить раздел Settings
, кликните по стрелке рядом с меткой.
Введите 10 для Max Num of Peaks.
Раздел Time Scope Peaks теперь отображает список 10 пиковых амплитудных значений, и времена, в которые они происходят.
Список пиковых значений показывает постоянную разницу во времени 0,675 секунд между каждым heartbeat. Поэтому сердечный ритм сигнала ECG является 88,89 ударами в min (bpm).