В данной статье рассматривается цифровая обработка данных полученных с оксигемометра с помощью цифровых фильтров для построения пульсограмм.
Ключевые слова: оксигемометр, цифровые фильтры, обработка сигналов.
Пульсовой оксиметр (оксигемометр) — устройство для измерения насыщенности крови кислородом и пульса. Датчик состоит из двух светодиодов, излучающих свет в разном спектре: первый в красном спектре (650 нМ), второй в инфракрасном (950 нМ). Для получения наиболее точных данных, датчик помещается на теле человека, в месте, где кожа наименее толстая (например, палец или мочка уха).
Для получения исходных данных используем пульсовой оксиметр MAX30100. Датчик имеет встроенный низкочастотный фильтр для обоих светодиодов. Данные с красного и инфракрасного светодиодов хранятся в FIFO буфере. Перед тем, как считать данные из внутреннего буфера, необходимо завершить текущую транзакцию считывания. Датчик подключен к микроконтроллеру (в данном случае используется микроконтроллер ESP 8266). Для получения пульсограммы достаточно данных с инфракрасного диода, при этом необходимо:
- установить частоту дискретизации и ширину импульса;
- установить яркость для ИК диода.
После подключения и настройки датчика, необработанные данные имеют вид, приведенный на Рисунке 1.
Рис. 1. Исходные данные
При анализе графика исходных данных видно, что:
- график имеет постоянное смещение, обусловленное смещением постоянного тока в 50 000;
- данные сильно зашумлены и случайным образом колеблются.
Исключим постоянную составляющую с помощью следующего фильтра данных:
,(1)
,(2)
где w(t) — внутренняя переменная фильтра, содержит значение постоянного отклонения;
y(t) — выходное значение фильтра;
x(t) — входное значение;
α — константа, для полного удаления постоянной составляющей используются значения, близкие к 1, поэтому используем значение α = 0.95 [1, с. 49].
После применения фильтра данные имеют вид, приведенный на рисунке 2.
Рис. 2. Данные после фильтрации постоянной составляющей
После удаления постоянной составляющей, необходимо выделить пики, характеризующие сокращение сердца. Для полной очистки сигнала используется медианный фильтр. Медианный фильтр — оконный фильтр, возвращающий на каждом шаге один из элементов, попавших в окно фильтра [2, с. 109]. Выходной сигнал yk скользящего медианного фильтра шириной 2n+1 для текущего отсчета k формируется из входного временного ряда..., xk−1, xk, xk+1,… в соответствии с формулой:
,(3)
где xm — элементы вариационного ряда.
После применения фильтра, получаемый график принимает вид, близкий к кардиограмме (Рисунок 3).
Рис. 3. Данные после применения медианного фильтра
На данном этапе уже можно экстраполировать удары сердца, однако, данные в нижней части графика все еще достаточно сильно зашумлены. Для фильтрации остаточных помех применим фильтр Баттерворта.
Фильтр Баттерворта — электронный полосно-пропускающий фильтр, проектируемый таким образом, чтобы его АЧХ была максимально гладкой на частотах полосы пропускания. Для фильтрации низких частот, зададим частоту дискретизации Fs и частоту отсечки Fc. Максимальная частота, с которой может работать MAX30100 в режиме измерения пульсограмм — 100 Гц, исходя из этого, примем Fs = 100 Гц. Максимально возможным количеством ударов сердца в минуту является показатель 220, опираясь на это найдем максимальную частоту используя данный параметр [3, с. 461].
Таким образом, максимальная частота пропускания будет равна:
(4)
С учетом того, что минимально возможное количество ударов сердца в минуту равно 50 получим минимальную частоту пропускания фильтра:
(5)
Фильтр Баттерворта работает на нормированной частоте, поэтому:
.(6)
После применения фильтра данные имеют следующий вид (Рисунок 4), что можно считать достаточно точной кардиограммой, позволяющей получить данные о сердечном ритме пациента.
Рис. 4. Данные после применения фильтра Баттерворта
Для определения частоты сердечных сокращений, на основе полученных после фильтрации данных, воспользуемся следующим алгоритмом. Пусть t1,t2...tn — время получения максимальных значений пульсограммы, тогда для получения числа ударов в минуту используем формулу:
Bpm = (7)
Полученные в результате работы данные о сердечном ритме можно считать достаточными для выявления аномалий в работе сердца, а также диагностики его состояния в режиме реального времени.
Литература:
- Гадзиковский В. И.. Методы проектирования цифровых фильтров. — М.: Горячая линия-Телеком, 2012. — 414 с.
- Л. Рабинер, Б. Гоулд. Теория и применение цифровой обработки сигналов. — М.: Мир, 1979. — 848 с.
- Лэм Г. Аналоговые и цифровые фильтры. Расчет и реализация. — М.: Мир, 1989. — 592 с.