Filtracja IIR w Matlabie: Przykład Zastosowania w Czujniku Tętna BH1790GLC

W artykule omówimy zastosowanie filtracji IIR (Infinite Impulse Response) w programie Matlab na przykładzie czujnika tętna BH1790GLC. Jako projektant sprzętu, analizując nowy moduł, pierwszym krokiem jest pobranie arkusza danych. W tym przypadku, omówimy proces filtracji sygnału tętna, który ulega zmianom objętości naczyń krwionośnych.

Czujnik Tętna BH1790GLC i Jego Działanie

Czujnik BH1790GLC wymaga podłączenia dwóch zielonych diod LED, a moduł wykorzystuje model SML-M13MT. Wewnątrz układu znajduje się obwód sterujący dla zielonej diody LED. Na zewnątrz czujnika znajduje się zestaw filtrów IRCUT, które blokują światło zewnętrzne i podczerwone, przepuszczając jedynie zielone światło do przetwornika ADC w celu zebrania danych. Cały czujnik tak naprawdę nie potrzebuje wielu komponentów.

Analiza Sygnału i Wybór Filtracji

Instrukcja czujnika zawiera instrukcje kontroli pomiarów. DATAOUT_LEDOFF (czerwony) natychmiast spada do około 20, podczas gdy DATAOUT_LEDON (niebieski) ma wyraźne wahania. W tym kontekście, filtr IIR (Infinite Impulse Response) wydaje się być dobrym wyborem.

Rozważając filtry IIR, należy również wspomnieć o filtrach FIR (Finite Impulse Response), ponieważ oba są typami cyfrowych filtrów liniowych. Filtry IIR mogą być zaprojektowane jako standardowe filtry dolnoprzepustowe, górnoprzepustowe, pasmowoprzepustowe, pasmowozaporowe lub wszechprzepustowe.

W przypadku przebiegu opisanego powyżej, gdy palec naciska w dół, wymagane jest zarówno filtrowanie dolnoprzepustowe, jak i górnoprzepustowe. Normalny zakres tętna u ludzi wynosi od 60 do 100 uderzeń na minutę. Biorąc pod uwagę skrajne przypadki, ustawimy filtr dolnoprzepustowy na 3,5 Hz, a filtr górnoprzepustowy na 0,5 Hz.

Przeczytaj także: Matlab i filtracja danych: Poradnik eksperta

Implementacja Filtracji IIR w Matlabie

Omówmy najpierw filtr IIR. Tutaj wybrałem filtr Direct Form I IIR, zaimplementowany poprzez kaskadę biquadów drugiego rzędu. Zgodnie z tym wzorem można zrealizować filtr IIR pierwszego rzędu. Po pierwsze, surowe dane przechodzą przez proces wygładzania średniej ruchomej. Następnie przechodzą przez filtr górnoprzepustowy, a następnie filtr dolnoprzepustowy.

Teraz wyślę zarówno surowe dane, jak i przefiltrowane dane przez port szeregowy. Po procesie filtrowania IIR można zauważyć, że PW prawie pokazuje regularną falę sinusoidalną.

Podsumowanie Etapów Filtracji

  1. Pobranie surowych danych: Dane z czujnika tętna są pobierane jako surowy sygnał.
  2. Wygładzanie średniej ruchomej: Surowe dane są wygładzane za pomocą średniej ruchomej, aby zredukować szumy.
  3. Filtr górnoprzepustowy: Następnie sygnał przechodzi przez filtr górnoprzepustowy o częstotliwości odcięcia 0,5 Hz, aby usunąć niskoczęstotliwościowe artefakty.
  4. Filtr dolnoprzepustowy: Na koniec sygnał jest filtrowany dolnoprzepustowo z częstotliwością odcięcia 3,5 Hz, aby usunąć zakłócenia o wyższych częstotliwościach.

Przeczytaj także: Analiza sygnałów biomedycznych z Matlabem

Przeczytaj także: Analiza Widma Sygnału w MATLABie

tags: #filtracja #IIR #Matlab #przykład

Popularne posty: