Монітор пульсу

📘 Теоретична довідка: Цифрова фільтрація та ДПФ

Цей симулятор демонструє процес виділення корисного сигналу (серцебиття) із зашумленого відеопотоку і його подальший спектральний аналіз.

1. Цифрова фільтрація: Згортка у часовій області

На панелі керування ви бачите HPF (Фільтр верхніх частот) та LPF (Фільтр нижніх частот). Їхня робота відображається на графіку "Сирий" та відфільтрований сигнал.

Зв'язок зі згорткою

Будь-який лінійний фільтр можна представити через дискретну згортку вхідного сигналу \(x[n]\) та імпульсної характеристики фільтра \(h[n]\):

$$y[n] = (x * h)[n] = \sum_{k=-\infty}^{\infty} x[k] \cdot h[n-k]$$

Імпульсна характеристика фільтра - це сигнал на виході фільтра, що є реакцією (відгуком) на один імпульс на вході. Якщо ми працюємо з цифровим сигналом, то на вхід фільтра подається послідовність таких імпульсів - дискретних відліків (семплів) сигналу. Операція згортки і формує сумарний відгук фільтра на послідовність відліків сигналу.

Фільтр нижніх частот (LPF / ФНЧ)

Найпростіший ФНЧ — це ковзне середнє (Moving Average). Він прибирає високочастотний шум. Якщо розмір вікна \(M\), то:

$$y_{LPF}[n] = \frac{1}{M} \sum_{k=0}^{M-1} x[n-k]$$

У симуляторі: Налаштування LPF (5 Гц / 10 Гц) застосовують згладжування, щоб прибрати тремтіння та шум камери.

Фільтр верхніх частот (HPF / ФВЧ)

Сигнал з камери має дрейф (середнє значення "плаває" внаслідок зміни освітлення або руху). Також сам пульсовий сигнал містить повільні хвилі, наприклад, внаслідок дихання. Це низькочастотна завада. Найпростіший ФВЧ — це віднімання середнього:

$$y_{HPF}[n] = x[n] - y_{LPF}[n]$$

У симуляторі: Налаштування HPF вирівнюють сигнал (зелена лінія) відносно нуля, прибираючи постійну складову (DC offset).

Справжні згорткові фільтри: Фільтри зі скінченною та нескінченною імпульсною характеристикою

Важливо розуміти, що згортка, яку ми бачили у простому ковзному середньому (ФНЧ), описує так звані Фільтри зі Скінченною Імпульсною Характеристикою (Finite Impulse Response, FIR). У таких фільтрах вихідний сигнал \(y[n]\) залежить лише від поточних та попередніх значень вхідного сигналу \(x[n]\):

$$\text{FIR-фільтр:} \quad y[n] = \sum_{k=0}^{M} b_k x[n-k]$$

Тут \(h[k] = b_k\) є ненульовим лише для скінченної кількості відліків \(M\).

На противагу їм, у багатьох практичних застосуваннях, зокрема у високопорядкових фільтрах Баттерворта, які імітує ваш симулятор, використовуються Фільтри з Нескінченною Імпульсною Характеристикою (Infinite Impulse Response, IIR). Ці фільтри вводять зворотній зв'язок (рекурсію), де поточне значення вихідного сигналу \(y[n]\) залежить не лише від входу \(x[n]\), але й від попередніх значень самого вихідного сигналу \(y[n-k]\):

$$\text{IIR-фільтр (рекурсивний):} \quad y[n] = \sum_{k=0}^{M} b_k x[n-k] - \sum_{k=1}^{N} a_k y[n-k]$$

Саме ця рекурсивна залежність від попередніх вихідних значень \(y[n-k]\) призводить до того, що імпульсна характеристика \(h[n]\) такого фільтра теоретично є нескінченною (тобто, відгук на одиничний імпульс ніколи не згасає повністю). IIR-фільтри набагато ефективніші: вони можуть досягти тієї ж крутизни частотної характеристики, що й FIR-фільтр, але з використанням значно меншої кількості коефіцієнтів \(M\) та \(N\). У симуляторі опції "Порядок 2" та "Порядок 4" реалізують саме каскади таких рекурсивних IIR-фільтрів.

2. Спектральний аналіз

Щоб знайти пульс (частоту), ми переходимо у частотну область (графік Амплітудний спектр).

ДПФ (DFT) проти ДКП (DCT)

Дискретне косинусне перетворення ДКП (DCT) застосовують для стиснення зображень і звуку. Для аналізу коливань у часі також використовується Дискретне перетворення Фур'є (DFT), яке використовує комплексні експоненти (а не лише косинуси):

$$X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-i \frac{2\pi}{N} k n}$$

Математичний апарат комплексних чисел дуже зручний для цього, оскільки модуль комплексного спектра є набором амплітуд гармонік, а аргумент представляє фазу. В ідеальному випадку за відсутності завад і стабільності пульсу пік на графіку амплітудного спектру \( |X[k]| \) вказує частоту пульсу, інші максимуми мають кратні частоти

Притисніть палець до об'єктива камери, переконавшись, що вся область об'єктива закрита та освітлена зовні (сидіть спиною до вікна, джерела світла, або можна використати ліхтарик в телефоні). Тримайте руку максимально нерухомо. Цей застосунок намагається виявити пульс, аналізуючи ледь помітні зміни яскравості у відеопотоці.

Будь ласка, дозвольте доступ до камери, щоб розпочати.

Пульс (уд/хв)

--

"Сирий" та відфільтрований сигнал

Амплітудний спектр (ШПФ) і АЧХ фільтрів (загальна)