Jestem całkiem nowicjuszem w przetwarzaniu sygnałów i wiem, że to pytanie może być zbyt ogólne. Ale nadal chciałbym usłyszeć wskazówki od ekspertów.
Nauczono mnie używać butter
(do projektowania filtra Butterwortha, czyli maksymalnie płaskiego filtra wielkości) i filtfilt
(cyfrowego filtrowania w fazie zerowej) funkcji filtrowania pasmowego sygnałów EEG (elektroencefalogramu) w trybie MATLAB offline (tj. Po zakończeniu nagrywania). W ten sposób można uniknąć nieuchronnego „opóźnienia” spowodowanego przez filtr cyfrowy (tj. Filtrowanie fazy zerowej).
Następnie ktoś zapytał mnie, dlaczego nie możemy użyć fft
(szybkiej transformacji Fouriera) do uzyskania reprezentacji sygnału w dziedzinie częstotliwości, a następnie ustawić moc niepożądanych częstotliwości na zero, a następnie ifft
(odwrotna szybka transformata Fouriera) w celu odzyskania przefiltrowanych danych w czasie domena w tym samym celu. Ta manipulacja w dziedzinie częstotliwości brzmiała dla mnie prostiej i rozsądniej, i tak naprawdę nie mogłem odpowiedzieć na pytanie dlaczego.
Jakie są zalety i wady korzystania z prostej fft/ifft
metody filtrowania pasmowoprzepustowego? Dlaczego ludzie wolą używać filtrów cyfrowych FIR lub IIR?
Na przykład, czy fft/ifft
metoda jest bardziej podatna na wycieki widmowe lub tętnienia w porównaniu z ustalonymi filtrami cyfrowymi? Czy metoda ma również opóźnienie fazowe? Czy istnieje sposób na wizualizację odpowiedzi impulsowej dla tej metody filtrowania do porównania?