Przekroczone średnie opóźnienie filtru


Średnia ruchoma jako filtr Średnia ruchomość jest często wykorzystywana do wygładzania danych w obecności hałasu. Zwykła średnia ruchoma nie zawsze jest rozpoznawana jako filtr Finite Impulse Response (FIR), chociaż jest to jeden z najpopularniejszych filtrów w przetwarzaniu sygnału. Traktowanie go jako filtra pozwala na porównanie go z, na przykład, filtrami windowed-sinc (zob. Artykuły dotyczące filtrów górnoprzepustowych i filtrów pasmowo-odbijających pasek na przykład). Główną różnicą tych filtrów jest to, że średnia ruchoma jest odpowiednia dla sygnałów, dla których przydatne informacje są zawarte w domenie czasowej. z których pomiary wygładzania są uśrednione. Z drugiej strony filtry Windowed-sinc są silnymi wykonawcami w dziedzinie częstotliwości. z wyrównaniem w przetwarzaniu dźwięku jako typowy przykład. Dokładniejsze porównanie obu typów filtrów w domenach czasowych a skuteczność filtrów w domenie częstotliwości. Jeśli masz dane, dla których ważne jest zarówno czas, jak i częstotliwość, możesz zajrzeć do Wariacje na temat Ruchowej Średniej. który przedstawia kilka ważonych wersji ruchomych średnich, które są lepsze w tym. Ruchome średnie długości (N) można zdefiniować tak, jak zazwyczaj jest to możliwe, przy czym aktualna próbka wyjściowa jest średnią z poprzednich (N) próbek. Widoczne jako filtr, średnia ruchoma powoduje splot sekwencji wejściowej (xn) z prostokątnym impulsem o długości (N) i wysokości (1N) (w celu uzyskania obszaru impulsu, a tym samym wzmocnienia filtra , jeden). W praktyce najlepiej jest podjąć (N) nieparzyste. Mimo, że średnia ruchoma może być obliczona przy użyciu parzystej liczby próbek, przy nieparzystej wartości dla (N) ma tę zaletę, że opóźnienie filtru będzie liczbą całkowitą próbek, ponieważ opóźnienie filtru (N) próbki są dokładnie ((N-1) 2). Średnia ruchoma może być wyrównana dokładnie do oryginalnych danych, przesuwając ją przez liczbę całkowitą próbek. Domena czasu Ponieważ średnia ruchoma jest splotem z prostokątnym impulsem, jej odpowiedź częstotliwościowa jest funkcją sinc. To sprawia, że ​​coś takiego jak podwójny filtr windowed-sinc, ponieważ jest to splot z impemem sinc, który powoduje prostokątną odpowiedź częstotliwościową. To pasuje do odpowiedzi częstotliwościowej, która powoduje, że średnia ruchoma jest słabą wartością w dziedzinie częstotliwości. Jednak w dziedzinie czasu działa bardzo dobrze. Dlatego doskonale nadaje się do wygładzania danych w celu usunięcia zakłóceń, przy jednoczesnym zachowaniu szybkiej reakcji krokowej (rysunek 1). Dla typowego, dodatniego białego szumu Gaussa (AWGN), który często zakłada się, próbki uśredniające (N) skutkują zwiększeniem współczynnika SNR o współczynnik (sqrt N). Ponieważ hałas poszczególnych próbek nie jest ze sobą związany, nie ma powodu, aby traktować każdą próbkę inaczej. W związku z tym średnia ruchoma, która daje każdą próbkę tej samej masie, pozbędzie się maksymalnej ilości hałasu dla danej ostrości odpowiedzi na etapie. Wdrożenie Ponieważ jest to filtr FIR, średnia ruchoma może być realizowana przez splot. Będzie wtedy miał taką samą wydajność (lub jej brak), jak każdy inny filtr FIR. Jednakże, może on być również realizowany rekursywnie, w bardzo skuteczny sposób. Wynika to bezpośrednio z definicji, że ta formuła jest wynikiem wyrażeń dla (yn) i (yn1), tj. Gdy zauważymy, że zmiana pomiędzy (yn1) i (yn) polega na tym, że dodatkowy termin (xn1N) pojawia się na koniec, a termin (xn-N1N) jest usuwany od początku. W praktycznych zastosowaniach często można pominąć podział przez (N) dla każdego terminu, kompensując uzyskane zysk (N) w innym miejscu. Ta rekursywna implementacja będzie znacznie szybsza niż konwertowanie. Każda nowa wartość (y) może być obliczona z tylko dwoma dodatkami, zamiast dodawania (N), które byłyby konieczne do prostej implementacji definicji. Jedną rzeczą, na którą trzeba zwrócić uwagę na rekursywną implementację, są błędy zaokrąglania. Może to być problem z aplikacją, ale sugeruje również, że ta implementacja rekurencyjna będzie działać lepiej w przypadku implementacji całkowitej niż w przypadku liczb zmiennoprzecinkowych. Jest to dość niezwykła, ponieważ implementacja zmiennoprzecinkowa jest zwykle prostsza. Koniec z tym wszystkim musi polegać na tym, że nigdy nie należy lekceważyć użyteczności prostej średniej ruchomości filtra w aplikacjach przetwarzania sygnału. 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 otrzymane filtry. Wypróbuj terazFIR Podstawowe informacje o filtrze 1.1 Czym są filtry quotIRF? Filtry FIR są jednym z dwóch podstawowych typów filtrów cyfrowych używanych w aplikacjach przetwarzania sygnałów cyfrowych (DSP), a drugi jako IIR. 1.2 Co oznacza quotFIRquot oznacza kwantyfikator FIRquot oznacza kwantyfikację nieskończonego impulsu. Jeśli wprowadzisz impuls, to znaczy pojedyncza próbka 1 kwotowa, po której następuje wiele próbek o tej samej masie, zerowe zostaną wyświetlone po pobraniu próbki o długości 1 kwot przez linię opóźniającą filtra. 1.3 Dlaczego reakcja impulsowa jest kwantyfikatorem? W wspólnym przypadku odpowiedź impulsu jest skończona, ponieważ w FIR nie ma żadnych informacji zwrotnych. Brak informacji zwrotnych gwarantuje, że odpowiedź impulsowa będzie ograniczona. Dlatego termin "impulse kwantowo-impulsowe" jest niemal synonimem "quotno feedback". Jeśli jednak sprzężenie zwrotne jest jeszcze stosowane, reakcja na impuls jest skończona, filtr nadal jest FIR. Przykładem jest ruchomy przeciętny filtr, w którym poprzednio naliczana jest nalsza próbka n-tej poprzedniej próbki (z powrotem). Filtr ten ma skończoną odpowiedź impulsową, nawet jeśli wykorzystuje sprzężenie zwrotne: po n próbkach impulsu, wyjście zawsze będzie zerem. 1.4 Jak wymówić quotFIRquot Niektórzy mówią, że litery F-I-R inni wymawiają, jakby były to jakieś drzewa. Wolimy drzewo. (Różnica polega na tym, czy mówisz o filtrze F-I-R lub filtrze FIR.) 1.5 Jaka jest alternatywa dla filtrów FIR Filtry DSP mogą być również kwantyfikatorem impulsowym (IIF). (Patrz: dspGurus IIR FAQ). Filtry IIR wykorzystują sprzężenie zwrotne, więc po wprowadzeniu impulsu teoretycznie sygnał dzwoni nieokreślony. 1.6 Jak filtry FIR porównują filtry IIR Każda ma zalety i wady. Ogólnie rzecz biorąc, zalety filtrów FIR przewyższają wady, więc są one wykorzystywane znacznie więcej niż IIRs. 1.6.1 Jakie są zalety filtrów FIR (w porównaniu do filtrów IIR) W porównaniu do filtrów IIR, filtry FIR oferują następujące zalety: można je łatwo zaprojektować jako kwantyfikację fazową (i zwykle). Po prostu, filtry liniowe opóźniają sygnał wejściowy, ale donforquot zniekształcają jego fazę. Są proste w implementacji. W większości mikroprocesorów DSP obliczenie FIR może zostać wykonane przez zapętlenie pojedynczej instrukcji. Są przystosowane do aplikacji wieloszczekowych. Wielokrotnością rozumiemy albo dane liczbowe (zmniejszenie częstotliwości próbkowania), interpreterię cytometryczną (zwiększanie częstotliwości próbkowania), albo obydwa. Niezależnie od tego, czy decymacja czy interpolacja, użycie filtrów FIR pozwala na pominięcie niektórych obliczeń, zapewniając w ten sposób ważną wydajność obliczeniową. Natomiast jeśli używane są filtry IIR, każde wyjście musi być indywidualnie obliczone, nawet jeśli wyjście zostanie odrzucone (więc sprzężenie zwrotne zostanie włączone do filtra). Mają pożądane właściwości numeryczne. W praktyce wszystkie filtry DSP muszą być implementowane przy użyciu skończonej precyzji arytmetycznej, czyli ograniczonej liczby bitów. Zastosowanie arytmetyki skończonej precyzji w filtrach IIR może powodować znaczne problemy ze względu na użycie sprzężenia zwrotnego, ale filtry FIR bez sprzężenia zwrotnego można zwykle zaimplementować przy użyciu mniej bitów, a projektant ma mniej praktycznych problemów do rozwiązania związanego z arytmetyką nie idealną. Mogą być implementowane za pomocą arytmetyki częściowej. W przeciwieństwie do filtrów IIR zawsze możliwe jest zastosowanie filtru FIR przy użyciu współczynników o wielkości mniejszej niż 1,0. (Ogólny zysk filtru FIR może być dostosowany do jego wydajności, jeśli jest to pożądane). Jest to ważna kwestia podczas używania stałych punktów DSP, ponieważ ułatwia to implementację. 1.6.2 Jakie są wady filtrów FIR (w porównaniu do filtrów IIR) W porównaniu do filtrów IIR, filtry FIR czasami mają wadę, że wymagają większej ilości pamięci i obliczenia, aby osiągnąć określoną charakterystykę odpowiedzi filtracyjnej. Ponadto niektóre odpowiedzi nie są praktyczne do implementacji za pomocą filtrów FIR. 1.7 Terminy stosowane w opisywaniu filtrów FIR Reakcja na impulsy - reakcja kwimpulsyjna filtra FIR jest w rzeczywistości tylko zbiorem współczynników FIR. (Jeśli umieścisz cudzysłowy w filtrze FIR, który składa się z próbki o pojemności 1 kwotowej, po której następuje wiele próbek o większej liczbie próbek, wynik filtru będzie zbiorem współczynników, ponieważ kolejna próbka przeszła przez każdy współczynnik, tworząc wynik). Dotknij - FIR quottapquot jest po prostu coefficientdelay pary. Liczba kranów FIR, (często określanych jako quotNquot) jest wskazaniem: 1) ilości pamięci potrzebnej do wykonania filtra, 2) liczby wymaganych obliczeń, 3) ilości filtrafiltrowania, co może spowodować, więcej tapsów oznacza więcej tłumienia stopband, mniej ripple, węższe filtry itp. Multiply-Accumulate (MAC) - w kontekście FIR, parametrMACquot jest operacją mnożenia współczynnika przez odpowiednią opóźnioną próbkę danych i gromadzi wynik. FIR zazwyczaj wymagają jednego MAC na dotknięcie. Większość mikroprocesorów DSP implementuje operację MAC w pojedynczym cyklu. Pasek przejściowy - pasmo częstotliwości między pasmem pasma i krawędziami pasma. Im węższe pasmo przejściowe, tym więcej kranów jest wymaganych do wykonania filtru. (Pasmo przenoszenia quotsmallquot skutkuje filtrem szumu). Opóźnienie - zestaw elementów pamięci, które implementują elementy zwłoki ZZ1-kwotowe obliczania FIR. Bufor okrągły - specjalny bufor, który jest kwarcowy, ponieważ przyrost na końcu powoduje, że zawija się do początku, lub ponieważ zmniejszanie od początku powoduje zawinięcie się do końca. Bufory okrĘ ... głe sĘ ... czę sto dostarczane przez mikroprocesor DSP do wdrożenia kwotowej iloś ci próbek przez linię opóźnienia FIR bez konieczności dosuwania danych w pamięci. Gdy do buforu dodawana jest nowa próbka, automatycznie zastępuje najstarsze. Dokumentacja Opis gd, w grpdelay (b, a) zwraca odpowiedź na opóźnienie grupy, gd. filtru dyskretnego określonego przez wektory wejściowe, b i a. Wektory wejściowe są współczynnikami licznika, b. i mianownik, a. wielomiany z-1. Transformat Z filtra dyskretnego czasu to H (z) B (z) A (z) x2211 l 0 N x2212 1 b (n 1) z x2212 l x2211 l 0 M x2212 1 a (l 1) z x2212 l. Odpowiedź na opóźnienie grupy filtrów ocenia się w 512 równomiernie rozmieszczonych punktach w przedziale 0, 960) na okręgu jednostkowym. Punkty oceny na okręgu jednostkowym są zwracane w w. gd, w grpdelay (b, a, n) zwraca odpowiedź opóźnienia grupowego filtru dyskretnego w n równomiernie rozmieszczonych punktach na okręgu jednostkowym w przedziale 0, 960). n jest dodatnią liczbą całkowitą. Aby uzyskać najlepsze wyniki, należy ustawić n na wartość większą niż kolejność filtrów. gd, w grpdelay (sos, n) zwraca odpowiedź opóźnienia grupowego dla macierzy sekwencji drugiego rzędu, sos. sos jest matrycą K - by-6, gdzie liczba sekcji, K. musi być większa lub równa 2. Jeśli liczba sekcji jest mniejsza niż 2, grpdelay uważa, że ​​wejście jest wektorem licznika, b. Każdy rząd sos odpowiada współczynnikom drugiego rzędu (biquad). Drugi rząd macierzy sos odpowiada bi (1) bi (2) bi (3) ai (1) ai (2) ai (3). gd, w grpdelay (d, n) zwraca odpowiedź opóźnienia grupowego dla filtra cyfrowego, d. Użyj designfilt do generowania d na podstawie specyfikacji odpowiedzi na częstotliwość. gd, f grpdelay (.n, fs) określa dodatnią częstotliwość próbkowania fs w hertze. Zwraca wektor długości, f. zawierające punkty częstotliwości w hertze, w których oceniono odpowiedź grupy opóźnień. f zawiera n punktów od 0 do fs2. gd, w grpdelay (.n, całe) i gd, f grpdelay (.n, całe, fs) używać n punktów wokół całego okręgu jednostkowego (od 0 do 2 960. lub od 0 do fs). gd grpdelay (.w) i gd grpdelay (.f, fs) zwracają odpowiedź opóźnienia grupowego oszacowaną przy częstotliwościach kątowych w w (w radiansample) lub w f (w czasie cyklesunit), odpowiednio, gdzie fs jest częstotliwością próbkowania. w i f to wektory z co najmniej dwoma elementami. grpdelay (.) bez argumentów wyjściowych generuje odpowiedź opóźnienia grupowego względem częstotliwości. grpdelay działa zarówno dla rzeczywistych, jak i złożonych filtrów. Uwaga: Jeśli wejście do grpdelay jest jednorazowe, opóźnienie grupy jest obliczane za pomocą arytmetyki o pojedynczej precyzji. Wyjście, gd. jest jednorodna precyzja. Wybierz średnioroczny filtr przemieszczający się w skali kraju (0) 0 byk 2 160160160160 Średniometr ruchomy filtra jest filtrem FIR o długości N ze wszystkimi zestawami kranów równymi (1N) .160 Jest to znane z powodu złej separacji częstotliwości, ale doskonała odpowiedź czasowa - - w tym sensie wyjście z Bessela filtra Bessela.160 Można go zaimplementować w bloku SigmaStudios FIR, jak to opisano poniżej: Im dłuższy jest filtr, tym bardziej wygładzający - ale standardowy algorytm filtru FIR wykorzystuje wiele instrukcji dotyczących ogromnych filtrów, ponieważ musi on pomnożyć współczynniki dla każdego kranu.160 To jest marnotrawstwo, gdy wszystkie współczynniki są takie same.160 Jak wskazuje rozdział 15 książki Steven W. Smiths, można utworzyć średnioroczny filtr z techniką rekurencyjną, dotknij przed i po (N-1) zwłoki. 160 Filtr taki pojawia się poniżej jako część obwodu testowego ze źródłem sygnału i filtrem Bessela dla porównania: 160160160160 Współczynniki są wyciągane do pojedynczego bloku wzmocnienia na wejściu.160 Obecny samp le dodaje do wyjścia w miarę jego zwłoki, opóźniona próbka odejmuje od wyjściowego wyjścia16. Adder ze sprzężeniem zwrotnym gromadzi te dodatki i odejmowania, aby utworzyć dane wyjściowe - robi to coś trywialnego w C, ale w przeciwnym razie ból w GUI.160 Mimo że zastosowano technikę rekurencyjną, filtr pozostaje prawdziwym filtrem FIR - długość jego odpowiedzi impulsowej jest ustawiana tylko przez opóźnienie. 160160160160 Moje wejście testowe to fala prostokątna z dodatkowym hałasem.160 Filtrowane wyniki pojawiają się jako górny ślad w obu zdjęciach - pierwszy filtr średniej ruchomej: filtr Bessela: 160160160160 Średniometr ruchomy umożliwia więcej hałasu, ale lepiej zachowuje kształt fali prostokątnej - robi się to okrągłe, a nachylenie w górę iw dół jest symetryczne (jego faza liniowa) .160 Słuchanie dwóch przebiegów za pomocą słuchawek wykazuje podobny efekt - większy hałas przy średnim filtrze, ale charakterystyczny nadchodzi dźwięk fali prostokątnej.

Comments