Saturday 2 December 2017

Przenoszenie filtru o średniej wielkości


Odpowiedź częstotliwościowa filtra działającej średniej Odpowiedź częstotliwościowa układu LTI to DTFT odpowiedzi impulsu, Odpowiedź impulsowa średniej ruchomej L wynosi Od filtra średniej ruchomej jest FIR, odpowiedź częstotliwościowa zmniejsza się do skończonej sumy może użyć bardzo użytecznej tożsamości, aby napisać odpowiedź częstotliwościową, tak jak wtedy, gdy zostawiliśmy ae minus jomega. N 0, i M L minus 1. Możemy być zainteresowani wielkością tej funkcji, aby określić, które częstotliwości przechodzą przez filtr, a które są tłumione. Poniżej znajduje się wykres wielkości tej funkcji dla L 4 (czerwony), 8 (zielony) i 16 (niebieski). Oś pozioma zawiera się w zakresie od zera do pi radianów na próbkę. Należy zauważyć, że we wszystkich trzech przypadkach charakterystyka częstotliwościowa ma charakter dolnoprzepustowy. Stały komponent (częstotliwość zerowa) na wejściu przechodzi przez filtr nieskorygowany. Niektóre wyższe częstotliwości, takie jak pi 2, są całkowicie eliminowane przez filtr. Jeśli jednak chodzi o zaprojektowanie filtra dolnoprzepustowego, to nie zrobiliśmy tego zbyt dobrze. Niektóre z wyższych częstotliwości są tłumione tylko o współczynnik około 110 (dla średniej ruchomej 16 punktów) lub 13 (dla czteropunktowej średniej ruchomej). Możemy zrobić o wiele lepiej. Powyższy wykres został utworzony przez następujący kod Matlab: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)). (1-exp (-iomega)) H8 (18) (1-exp (- iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)). (1-exp (-iomega)) wykres (omega, abs (H4) abs (H8) abs ( H16)) oś (0, pi, 0, 1) Kopia praw autorskich 2000- - University of California, Berkeley Muszę zaprojektować filtr średniej ruchomej o częstotliwości odcięcia 7,8 Hz. Używałem wcześniej filtrów średniej ruchomej, ale o ile wiem, jedynym parametrem, który można podać, jest liczba punktów do uśrednienia. Jak to może się odnosić do częstotliwości odcięcia Odwrotność 7,8 Hz wynosi 130 ms, a Im pracuje z danymi, które są próbkowane przy 1000 Hz. Czy to oznacza, że ​​powinienem używać średniej ruchomej wielkości okna filtru 130 próbek, czy też jest coś innego, czego tutaj nie mam? Pytanie 18 lipca o 9:52 Filtr średniej ruchomej jest filtrem używanym w dziedzinie czasu do usunięcia hałas dodany, a także dla celów wygładzania, ale jeśli użyjesz tego samego filtru średniej ruchomej w dziedzinie częstotliwości do separacji częstotliwości, wtedy wydajność będzie najgorsza. więc w takim przypadku użyj filtrów domen częstotliwości ndash user19373 Feb 3 16 o 5:53 Filtr o średniej ruchomej (czasami nazywany potocznie filtrem wagonu towarowego) ma prostokątną odpowiedź impulsową: Lub, inaczej mówiąc: Pamiętając, że pasmo przenoszenia w dyskretnym czasie jest równy dyskretnej transformacji Fouriera odpowiedzi impulsowej, możemy ją obliczyć w następujący sposób: Najbardziej interesująca dla twojego przypadku jest odpowiedź magnitudo filtra, H (omega). Używając kilku prostych manipulacji, możemy uzyskać to w łatwiejszej do zrozumienia formie: To może nie wyglądać na łatwiejsze do zrozumienia. Jednak ze względu na tożsamość Eulers. przypomnijmy sobie, że: Dlatego możemy napisać powyższe jako: Jak już wcześniej wspomniałem, to, co naprawdę martwisz się, to wielkość odpowiedzi częstotliwościowej. Możemy więc wykorzystać powyższe, aby uprościć to jeszcze bardziej: Uwaga: jesteśmy w stanie zrzucić wykładnicze terminy, ponieważ nie wpływają one na wielkość wyniku e 1 dla wszystkich wartości omegi. Ponieważ xy xy dla dowolnych dwóch skończonych liczb zespolonych x i y, możemy wywnioskować, że obecność wykładniczych terminów nie wpływa na ogólną odpowiedź wielkości (zamiast tego wpływają one na odpowiedź fazową układu). Wynikowa funkcja w nawiasach magnitudo jest formą jądra Dirichleta. Czasami nazywa się to funkcją okresowego sinc, ponieważ przypomina nieco funkcję sinc, ale zamiast tego jest okresową. W każdym razie, ponieważ definicja częstotliwości odcięcia jest nieco zaniżona (-3 dB punkt -6 dB punkt pierwsza linia boczna null), możesz użyć powyższego równania do rozwiązania na wszystko, czego potrzebujesz. W szczególności możesz wykonać następujące czynności: Ustaw H (omega) na wartość odpowiadającą odpowiedzi filtru, której chcesz użyć przy częstotliwości odcięcia. Ustawić omegę równą częstotliwości granicznej. Aby zmapować stałą częstotliwość do dyskretnej domeny czasu, pamiętaj o fracu omega 2pi, gdzie fs to Twoja częstotliwość próbkowania. Znajdź wartość N, która daje najlepszą zgodność pomiędzy lewą i prawą stroną równania. To powinna być długość twojej średniej kroczącej. Jeśli N jest długością średniej ruchomej, wówczas przybliżona częstotliwość odcięcia F (ważna dla N gt 2) w znormalizowanej częstotliwości Fffs jest: Odwrotnością tego jest Ta formuła jest asymptotycznie poprawna dla dużego N i ma około 2 błąd dla N2 i mniej niż 0,5 dla N4. P. S. Po dwóch latach, w końcu, jakie było podejście. Wynik został oparty na przybliżeniu widma amplitudy MA wokół f0 jako paraboli (seria II rzędu) zgodnie z MA (Omega) ok. 1 (frac - frac) Omega2, który może być dokładniejszy w pobliżu przejścia przez zero MA (Omega) - frac poprzez pomnożenie Omegi przez współczynnik uzyskania MA (Omega) ok. 10.907523 (frac - frac) Omega2 Rozwiązanie MA (Omega) - frac 0 daje wyniki powyżej, gdzie 2pi F Omega. Wszystko to odnosi się do częstotliwości odcięcia -3dB, która jest przedmiotem tego wpisu. Czasami jednak interesujące jest uzyskanie profilu tłumienia w stop-bandzie, który jest porównywalny z filtrem dolnoprzepustowym IIR pierwszego rzędu (single-run LPF) z daną częstotliwością odcięcia -3dB (taki LPF jest również nazywany nieszczelnym integratorem, mając biegun niezupełnie przy DC, ale blisko niego). W rzeczywistości zarówno MA, jak i LPR LPR pierwszego rzędu mają -20dB nachylenie spadku w paśmie zatrzymania (potrzebna jest większa N niż ta użyta na figurze, N32, aby to zobaczyć), ale mając MA ma widmowe wartości zerowe w FkN i 1f evelope, filtr IIR ma tylko profil 1f. Jeśli chcemy uzyskać filtr MA z podobnymi możliwościami filtrowania szumów, jak ten filtr IIR i dopasować częstotliwości odcięcia 3dB do tego samego, po porównaniu dwóch widm, zda sobie on sprawę, że tętnienie zatrzymania filtra MA kończy się 3dB poniżej filtru IIR. Aby uzyskać takie samo tętnienie zatrzymania pasma (to jest takie samo tłumienie mocy szumu) jak filtr IIR, formuły można modyfikować w następujący sposób: Odszukałem skrypt Mathematica, gdzie obliczyłem odcięcie dla kilku filtrów, w tym dla MA. Wynik był oparty na przybliżeniu widma MA wokół f0 jako paraboli zgodnie z MA (Omega) Sin (OmegaN2) Sin (Omega2) Omega 2piF MA (F) około N16F2 (N-N3) pi2. I wyprowadzenie z tego przejścia z 1sqrt. ndash Massimo Jan 17 16 o 02:08 Średnia ruchoma jako filtr Średnia ruchoma jest często używana do wygładzania danych w obecności szumu. Prosta średnia ruchoma nie zawsze jest rozpoznawana jako filtr odpowiedzi na skończoną odpowiedź impulsową (FIR), podczas gdy w rzeczywistości jest to jeden z najczęstszych filtrów w przetwarzaniu sygnału. Traktowanie go jako filtra pozwala na porównanie go z np. Filtrami okienkowymi (patrz artykuły na temat filtrów dolnoprzepustowych, górnoprzepustowych i pasmowych oraz filtrów z odrzucaniem pasmowym na przykład). Główną różnicą w porównaniu z tymi filtrami jest to, że średnia ruchoma jest odpowiednia dla sygnałów, dla których użyteczne informacje są zawarte w dziedzinie czasu. w tym dobrym przykładem są pomiary wygładzania poprzez uśrednianie. Z drugiej strony filtry Window-sinc są silnymi wykonawcami w dziedzinie częstotliwości. z wyrównaniem w przetwarzaniu audio jako typowym przykładem. Istnieje bardziej szczegółowe porównanie obu typów filtrów w dziedzinie Time Domain vs. Performance Domain of Filters w zakresie częstotliwości. Jeśli masz dane, dla których zarówno czas, jak i dziedzina częstotliwości są ważne, możesz chcieć rzucić okiem na wariacje na temat średniej ruchomej. który przedstawia kilka ważonych wersji średniej ruchomej, które są w tym lepsze. Ruchoma średnia długość (N) może być zdefiniowana jako zapisana tak, jak zwykle jest realizowana, z bieżącą próbką wyjściową jako średnia z poprzednich próbek (N). Średnia ruchoma, widziana jako filtr, wykonuje splot sekwencji wejściowej (xn) z prostokątnym impulsem długości (N) i wysokości (1N) (aby utworzyć obszar impulsu, a tym samym wzmocnienie filtra , jeden). W praktyce najlepiej jest przyjmować (N) nieparzyste. Chociaż średnią ruchomą można również obliczyć przy użyciu parzystej liczby próbek, użycie wartości nieparzystej dla (N) ma tę zaletę, że opóźnienie filtra będzie liczbą całkowitą próbek, ponieważ opóźnienie filtra z (N) próbki to dokładnie ((N-1) 2). Średnia ruchoma może być następnie wyrównana dokładnie z oryginalnymi danymi, przesuwając ją o liczbę całkowitą próbek. Domena czasu Ponieważ średnia ruchoma jest splotem z prostokątnym impulsem, jego charakterystyka częstotliwościowa jest funkcją sinc. To sprawia, że ​​jest to coś w rodzaju podwójnego filtra okienkowego, ponieważ jest to splot z impulsem sinc, który powoduje prostokątną odpowiedź częstotliwościową. Jest to ta odpowiedź częstotliwościowa, która sprawia, że ​​średnia ruchoma jest słabym wykonawcą w dziedzinie częstotliwości. Jednak działa bardzo dobrze w dziedzinie czasu. Dlatego idealnie nadaje się do wygładzania danych w celu usuwania szumów, zachowując jednocześnie szybką reakcję skokową (rysunek 1). Dla typowego białego szumu białkowego o dodatnim (AWGN), który jest często przyjmowany, próbki uśredniające (N) mają wpływ na zwiększenie współczynnika SNR o współczynnik (sqrt N). Ponieważ hałas dla poszczególnych próbek jest nieskorelowany, nie ma powodu, aby traktować każdą próbkę w inny sposób. W związku z tym średnia ruchoma, która nadaje każdej próbce taką samą wagę, pozbywa się maksymalnej wartości szumu dla danej ostrości kroku. Wdrożenie Ponieważ jest filtrem FIR, średnią ruchomą można wdrożyć za pomocą splotu. Będzie wtedy miał taką samą wydajność (lub jej brak), jak każdy inny filtr FIR. Jednak może być również realizowany rekursywnie, w bardzo wydajny sposób. Wynika to bezpośrednio z definicji, że formuła ta jest wynikiem wyrażeń dla (yn) i (yn1), tzn. Gdy zauważymy, że zmiana między (yn1) i (yn) jest taka, że ​​dodatkowy termin (xn1N) pojawia się na koniec, podczas gdy termin (xn-N1N) jest usuwany od początku. W zastosowaniach praktycznych często można pominąć podział przez (N) dla każdego okresu, kompensując wynikowy zysk (N) w innym miejscu. Ta rekurencyjna implementacja będzie znacznie szybsza niż splot. Każda nowa wartość (y) może zostać obliczona przy użyciu tylko dwóch dodatków zamiast (N) dodatków, które byłyby niezbędne do prostego wdrożenia definicji. Jedną rzeczą, na którą należy zwrócić uwagę przy rekursywnej implementacji, jest to, że błędy zaokrąglania będą się kumulować. To może, ale nie musi, być problemem dla twojej aplikacji, ale oznacza również, że ta rekursywna implementacja będzie działać lepiej z implementacją liczb całkowitych niż z liczbami zmiennoprzecinkowymi. Jest to dość niezwykłe, ponieważ implementacja zmiennoprzecinkowa jest zwykle prostsza. Wniosek musi być taki, że nigdy nie należy lekceważyć użyteczności prostego filtra średniej ruchomej w zastosowaniach przetwarzania sygnałów. Narzędzie do projektowania filtrów Ten artykuł jest uzupełniony o narzędzie do projektowania filtrów. Eksperymentuj z różnymi wartościami dla (N) i wizualizuj uzyskane filtry. Spróbuj teraz

No comments:

Post a Comment