Filtracja Sygnału EKG Filtrem Butterwortha

Filtry elektroniczne to obwody, które kontrolują, które częstotliwości przechodzą, a które są blokowane, dzięki czemu sygnały są czyste i niezawodne. Znajdują zastosowanie w systemach zasilania, urządzeniach audio, łączach komunikacyjnych i akwizycji danych.

Zalety Filtra Butterwortha

Filtr Butterwortha charakteryzuje się tym, że krzywa odpowiedzi częstotliwości w paśmie przenoszenia jest możliwie płaska, bez falowania, i stopniowo maleje do zera w paśmie blokującym. Na mapie logarytmicznej częstotliwości przekątnej amplitudy, zaczynając od określonej częstotliwości narożnej, amplituda stopniowo maleje wraz ze wzrostem częstotliwości kątowej i dąży do ujemnej nieskończoności.

Filtr Butterwortha pierwszego rzędu ma współczynnik rozpadu 6 dB na oktawę i 20 dB na dekadę. Szybkość tłumienia filtra Butterwortha drugiego rzędu wynosi 12 dB na oktawę, tłumienie filtra Butterwortha trzeciego rzędu wynosi 18 dB na oktawę i tak dalej.

Amplituda filtra Butterwortha monotonicznie maleje i jest jedynym filtrem, który utrzymuje ten sam kształt niezależnie od kolejności i krzywej amplitudy w zależności od częstotliwości kątowej. Tylko im wyższa kolejność filtrów, tym szybsze tłumienie amplitudy w paśmie blokującym. Mapy diagonalnej częstotliwości amplitudy wyższego rzędu innych filtrów oraz częstotliwości amplitudowo-kątowe liczb niższego rzędu mają różne kształty.

Projektowanie Filtrów w Scipy.Signal

W bibliotece scipy.signal jest kilka funkcji do projektowania filtrów o zadanych parametrach. W module scipy.signal dostępne są funkcje do projektowania czterech typów filtrów: Butterwortha, Czebyszewa typu I i II, oraz eliptyczny.

Przeczytaj także: Definicja i pomiar filtracji kłębuszkowej

Do opisu wymagań projektowych funkcje te wykorzystują następujące pojęcia:

  • wp, ws - krawędzie pasma przenoszenia i tłumienia. Częstości są znormalizowane do zakresu od 0 do 1 (1 odpowiada częstości Nyquista) przykładowo:
    • dolno-przepustowy: wp = 0.2, ws = 0.3
    • górno-przepustowy: wp = 0.3, ws = 0.2
    • pasmowo-przepustowy: wp = [0.2, 0.5], ws = [0.1, 0.6]
    • pasmowo-zaporowy: wp = [0.1, 0.6], ws = [0.2, 0.5]
  • gpass - maksymalna dopuszczalna strata w paśmie przenoszenia (w funkcjach projektujących filtry jest to rp) (dB).
  • gstop - minimalne wymagane tłumienie w paśmie tłumienia (w funkcjach projektujących filtry jest to rs) (dB).

Filtry FIR

Filtry typu FIR zwykle wymagają znacznie wyższych rzędów aby osiągnąć transmitancję o porządanej formie. Mają jednak dwie podstawowe zalety:

  • ich funkcja odpowiedzi jest skończona opisana wektorem b - efekty brzegowe sięgają z obu końców filtrowanego sygnału na dokładnie połowę długości wektora b
  • mają liniową zależnaość fazy od częstości.

Istotne parametry filtrów FIR:

  • numtaps: int, ilość współczynników filtru (rząd filtru+1).
  • cutoff: częstość odcięcia filtru. Może być jedną liczbą zmiennoprzecinkową dla filtru dolno- lub górno- przepustowego lub tablicą dla filtrów pasmowych.
  • window: napis lub krotka: określa jakiego okna użyć do projektu filtru.
  • pass_zero: bool, Jeśli True to zero jest przenoszone, jeśli False to nie jest.
  • nyq: float.

Również implementuje okienkową metodę projektowania filtrów FIR. Daje ona nieco większą swobodę w kształtowaniu idealnej funkcji przenoszenia. Zadaje się ją przez podanie dwóch wektorów:

  • freq i Wektor freq definiuje punkty w częstości (jednostki takie same jak nyq, muszą zawierać 0 i nyq) dla których znana jest wartość pożądanego przenoszenia. Wartości freq muszą być ułożone w kolejności rosnącej, dopuszczalne jest powtórzenie tej samej wartości częstości i odpowiadających im różnych wartości gain aby zdefiniować nieciągłość funkcji przenoszenia.
  • gain Pożądane wartości przenoszenia odpowiadające kolejnym częstościom definiowane są w gain.

Filtrowanie Sygnałów Off-line

Filtrowanie sygnałów off-line można zrealizować tak, aby sygnał wyjściowy nie miał przesunięcia fazowego. Procedura powyższa zaimplementowana jest w funkcji: scipy.signal.filtfilt.

Przeczytaj także: Webber AP8400 - wymiana filtrów

Przykłady Zastosowań

Przykład 1: Wyławianie wrzecion snu z sygnału EEG

Wrzeciona snu to struktury w sygnale EEG rejestrowanym w czasie snu zawierające się w paśmie 11-15 Hz.Proszę:

  • wykreślić pierwsze 10 sekund sygnału
  • zastosować filtr górnoprzepustowy Butterwartha o częstościach odcięcia: 0.01, 0.1, 0.5 -> zaobserwuj jak długo stabilizuje się sygnał
  • Zastosuj filtr pasmowoprzepustowy (11 - 14 Hz) i wykreśl wynik jego zastosowania na tle poprzedniej wersji sygnału.

[b,a] = butter(...
[bl,al] = butter(...

Przykład 2: Wykorzystanie fragmentu sygnału EKG

Wykorzystajmy fragment sygnału EKG z poprzedniego zadania (pomiędzy 12 a 40 -tą sekundą). Najpowszechniej stosowana metoda polega na dodaniu P zer pomiędzy istniejące próbki sygnału tak aby osiągnął on P-krotnie większą długość. Następnie taki rozciągnięty sygnał filtrujemy filtrem dolnoprzepustowym o częstości odcięcia nie większej niż częstość Nyquista oryginalnego sygnału - rozciąganie sygnału nie dokłada do niego nowej informacji więc i tak nic nie tracimy. # które były w oryginalnym sygnale tzn. Zmniejszamy częstość próbkowania całkowitą ilość razy. Zmieniamy częstość próbkowania o wymierną [math]\frac{P}{Q}[/math] liczbę razy - uzyskujemy składając powyższe kroki tzn. Proszę napisać funkcję, która będzie przepróbkowywać sygnał o wymierną liczbę razy.

Przeczytaj także: Optymalne rozcieńczenie bimbru

Rodziny odpowiedzi filtrów

Wybierz rodzinę odpowiedzi, która najlepiej pasuje do aplikacji. Butterworth oferuje płaski pas przepustowy, Bessel utrzymuje dokładność czasu, Chebyshev zapewnia ostrzejsze odchylenie, a eliptyczny zapewnia najbardziej strome przejście dzięki kompaktowej konstrukcji.

Filtr Butterwortha jest ceniony za płynną i płaską odpowiedź pasma przepustowego bez tętnień. Zapewnia naturalne, wolne od zniekształceń wyjście, co czyni go doskonałym do dźwięku i filtrowania. Jego wadą jest umiarkowany wskaźnik staczania się w porównaniu z innymi rodzinami, co oznacza, że jest mniej selektywny, gdy potrzebne jest ostre odcięcie.

tags: #filtracja #sygnalu #ekg #filtrem #butterwortha

Popularne posty: