Как стать автором
Обновить

Комментарии 15

Спасибо, очень интересно! Действительно, если считать по пикам, можно и пропустить нужный, и надо набрать не менее 30 секунд, чтобы получить результат. А тут можно будет брать 3-4 периода и нормально.

И аналогично можно будет определять частоту дыхания

откуда сведения что надо именно 30 сек и откуда сведения что можно будет брать 3-4 перида?

Врачи измеряют именно так - подсчитывают количество ударов за 30 секунд. Я так понимаю, это описано в какой-то медицинской методичке.

3-4 периода - это я приблизительно, на глаз прикинул, для файла со 100 отсчетами в секунду, для того, чтобы получить измерение с точностью лучше, чем 2 удара в минуту (лучше 5% при 60 ударах в минуту).

А хотя тут 250 отсчетов в секунду

Недостатком вычисления интервала сердечных сокращений методом рассчёта корреляции является большое число вычислений, однако число этих расчётов можно существенно сократить при использовании быстрых Фурье преобразований (БФП).
А этот тезис, на решение которого направлена статья, так нигде и не подтвержден. Где сравнение быстродействия или используемой памяти? Есть ли реально проблема вычисления корреляции?
P.S.
В бытность студентом один сокурсник делал такой пульсометр: усилитель, компаратор, микроконтроллер с таймером по прерыванию. Мерил по пикам. Никаких 30 секунд не надо, обновлялся в зависимости от усреднения (а так мог на каждый удар выдавать частоту).

Для расчёта массива корреляций размера N "в лоб" требуется O(N^3) операций, при использовании БФП оценка O(NlogN)

ну есть еще быстрые алгоритмы свертки без бпф,, ну и при каком-то N эффективнее прямая свертка, при каком-то N (большом) БПФ будет эффективнее. И обработка по типу коррелляции самого с собой автоматиччески ухудшает помехозащищенность на 6 дб. Автору надо прочитать про согласованную фильтрацию КИХ фильром через БПФ - но это уже будет не диплом, дисер !

при частоте дискретизации 250 Гц и времени измерения ~3сек размеры массивов составляют от 3*250 = 750 элементов. это как минимум 750^3 элементарных операций при вычислении "в лоб".

Поторопился ответить и ошибся - при вычислении "в лоб" требуется от 750^2 элементарных операций

Ошибся с оценкой "в лоб" (поторопился ответить) - она O(N^2)

Вау, просто вау. Изящные и всем понятные математические функции SUM F(i)*G(i) и ЦЕЛОЕ(delay*frequency). Обработка медицинских (!) данных, обоснованная ссылкой на бакалаврскую работу. Никаких попыток показать, что это работает на реальных данных. И все это написано таким жутчайшим канцеляритом, что просто кровь из глаз.

Если это курсовая, то пожалуйста, не ставьте за это зачет. Такое нельзя ни выпускать наружу, ни тем более подпускать к медицинским данным.

Откуда, такие писатели находятся? Технический уровень материала на уровне нуля, статья в потоке разработки, при этом какое-то говно. Если пишите, хотя бы делайте это нормально. У вас 9 статьей, все они пустышки, без сути, смысла, понятного объяснения или хотя бы для вида - кода. Зачем так писать?

Расстрою вас - не только читают, но и используют код

Вообще-то, имхо, лучше все-таки мерять R-R интервалы — так и мгновенную частоту можно определить, и медленные волны увидеть.

Правда, это более детальный анализ, чем просто определение средней ЧСС.

Согласен с вами, что для детального анализа лучше определять пики и, соответствено, R-R интервалы, поскольку по форме графика анализируют и другие показатели сердечной деятельности. Данный метод решает определение только одного параметра - ЧСС.

Верно. Вариабельность сердечного ритма — важнейшая характеристика.

Мне не очень понятно, каково потенциальное применение алгоритма? Если данные имеют высокое качество, анализ R-R интервалов будет и более простым, и более точным.

Если же данные плохого качества (например, данные с фитнесс-трекеров), то что-либо надёжное можно сказать только на основе анализа интервала 30-60 секунд, и не факт, что Фурье сильно поможет (вариабельность ритма смажет пик).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации