Przekroczone średnie opóźnienie fazy filtru
Podstawowe informacje o filtrach FIR 1.1 Jakie są filtry typu quotFIR 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. Kiedy nowa próbka jest dodawana do buforu, automatycznie zastępuje najstarsze. Przenoszenie średnich filtrów bull (0) 0 byk 2 160160160160 Średniometr ruchomy filtra jest filtrem FIR o długości N, przy czym wszystkie zestawy kranów są równe (1N ) .160 Jest znany ze złej separacji częstotliwości, ale doskonała odpowiedź czasowa - w tym sensie - poza tym Bessel - filtr Bessela.160 Można go zaimplementować w bloku SigmaStudios FIR, jak opisano poniżej: Im dłuższy jest filtr, tym bardziej wygładzanie - - ale standardowy algorytm filtrujący FIR wykorzystuje wiele instrukcji dotyczących ogromnych filtrów, ponieważ musi on pomnożyć współczynniki dla każdego z nich.160 Jest to marnotrawstwo, gdy wszystkie współczynniki są takie same.160 Jak pokazuje rozdział 15 książki Steven W. Smiths , można utworzyć średnioroczny filtr z techniką rekurencyjną, który ma kran przed i po zwłokach (N-1 ).160 Filtr taki pojawia się poniżej jako część obwodu testowego ze źródłem sygnału i filtrem Bessel w celu porównania: 160160160160 Współczynniki są krążkami d na pojedynczym bloku wzmocnienia na wejściu.160 Niniejsza próbka dodaje do wyjścia w momencie, gdy włączy się do opóźnienia, opóźniona próbka odejmuje się od wyjściowego wyjścia16. Adder ze sprzężeniem zwrotnym gromadzi te dodatki i odejmowania w celu utworzenia wyjście - robi to coś trywialnego w C, ale w przeciwnym razie jest bolcem w GUI.160 Mimo że zastosowana jest technika rekurencyjna, 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 Dźwięk fali prostokątnej przechodzi przez. Dokumentacja Opis gd, w grpdelay (b, a) zwraca odpowiedź opóźnienia grupowego, 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 filtry CountryFIR FAQ Filtry odpowiedzi impulsowej Finite (FIR) są jednym z najważniejszych tematów w przetwarzaniu sygnałów cyfrowych. Tutaj dspGuru odpowiada na często zadawane pytania dotyczące filtrowania FIR. Podstawowe informacje o filtrach FIR 1.1 Jakie są filtry typu quotFIR 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 zostanie dodana nowa próbka, automatycznie ją zastąpi najstarszą. Właściwości filtru FIR 2.1 Faza liniowa 2.1.1 Jaki jest związek między filtrami FIR a fazą kwantyjną? Większość filtrów FIR jest filtrami liniowymi, gdy wymagany jest filtr z filtrem liniowym, zwykle używany jest FIR. 2.1.2 Co to jest liniowy filtr fazy? Liczbowa faza oznacza stan, w którym odpowiedź fazy filtra jest liniową (prostoliniową) funkcją częstotliwości (z wyłączeniem owijania faz w -80 stopni). Powoduje to opóźnienie przez filtr, który jest taki sam na wszystkich częstotliwościach. Dlatego filtr nie powoduje zniekształcenia odświeżania fragmentu lub zniekształceń w odleglości. Brak zniekształceń fazowych może być kluczową zaletą filtrów FIR nad filtrami IIR i analogowymi w niektórych systemach, na przykład w modemach danych cyfrowych. 2.1.3 Jaki jest warunek filtrów FIR w fazie liniowej, zazwyczaj mają być fazą liniową (ale nie muszą być.) Filtr FIR jest fazą liniową, jeśli (i tylko wtedy, gdy) jej współczynniki są symetryczne wokół współczynnika środkowego , to znaczy, pierwszy współczynnik jest taki sam, jak ostatni drugi jest taki sam jak ostatni, itd. (Filtr FIR typu liniowego o nieparzystej liczbie współczynników będzie miał jeden współczynnik w środku, który nie ma partnera.) 2.1.4 Co to jest opóźnienie fazy liniowej FIR Wzór jest prosty: biorąc pod uwagę filtr FIR, który ma N kranów, opóźnienie to: (N - 1) (2 Fs), gdzie Fs jest częstotliwość próbkowania. Na przykład filtr 21-krotnego filtru FIR liniowego pracujący z częstotliwością 1 kHz ma opóźnienie: (21 - 1) (2 1 kHz) 10 milisekund. 2.1.4 Jaka jest alternatywa dla fazy liniowej Faza nieliniowa, oczywiście. -) Najprawdopodobniej najbardziej popularną alternatywą jest minimalny limit ilościowy. Filtry minimumfazowe (co może być lepiej nazwane minimalnymi filtrami z opóźnieniami) mają mniej opóźnień niż filtry liniowe o tej samej amplitudzie, kosztem nielinearnej charakterystyki fazowej, a. k.a. Filtr dolnoprzepustowy ma swoje największe współczynniki wielkości w centrum reakcji impulsu. Dla porównania, największe współczynniki wielkości filtra w fazie minimalnej są bliżej początku. 2.2.1 Jaka jest transformacja Z filtra FIR Dla filtra N-kranowego z współczynnikami h (k), którego wyjście jest opisane przez: y (n) h (0) x (n) h (1) x (n-1) h (2) x (n-2). h (z) h (0) z-0 h (1) z-1 h (2) z-2 (1) x (n-N-1) h (N-l) z - (N-1). lub 2.2.2 Jaka jest formuła odpowiedzi częstotliwościowej dla filtra FIR Zmienna z w H (z) jest ciągłą zmienną złożoną i możemy to opisać jako: zrmiddote j w. gdzie r jest wielkością a w jest kątem z. Jeśli damy r1, to H (z) wokół kręgu jednostkowego staje się filtrem odpowiedzi częstotliwościowej H (j w). Oznacza to, że zastępując ejw dla z w H (z) daje nam ekspresję dla częstotliwości odpowiedzi filtrów H (w), czyli: H (jw) h (0) e - j0 wh (1) e - j1 wh (2 ) e-j2 w. h (N-l) e-j (N-l) w (a) - możemy wypisać H (w) w postaci prostokątnej, jak: H (jw) h (0) cos (0 w) - jsin (0 w) h (1) cos (1 w) - jsin (1 w). h (N-l) cos ((N-l) w) jsin ((N-1) w). lub 2.2.3 Czy mogę obliczyć odpowiedź częstotliwościową FIR z wykorzystaniem przekształcenia Fouriera Dyskretnego (DFT) Tak. Dla N-kranu FIR można uzyskać N równomiernie rozmieszczonych punktów odpowiedzi częstotliwościowej, wykonując DFT na współczynniki filtru. Aby uzyskać odpowiedź częstotliwościową filtra na dowolnej częstotliwości dowolnej (tzn. Na częstotliwościach pomiędzy wyjściami DFT), musisz użyć powyższej wzoru. 2.2.4 Jaki jest wzmocnienie DC filtra FIR Należy rozważyć sygnał wejściowy DC (zero Hz), składający się z próbek o wartości 1.0. Po tym, jak linia opóźnienia FIR wypełniła 1,0 próbek, wynik byłby sumą współczynników. Zatem zysk filtra FIR w DC jest po prostu sumą współczynników. Ten intuicyjny wynik można sprawdzić pod kątem powyższego wzoru. Jeśli ustawimy wartość zerową na zerową, to wyrażenie cosinus wynosi zawsze 1, a wyrażenie sinusoidy jest zawsze równe zero, więc odpowiedź częstotliwościowa staje się: 2.2.5 Jak skalować wzmocnienie filtra FIR Wystarczy pomnożyć wszystkie współczynniki według współczynnika skali. 2.3 Właściwości liczbowe 2.3.1 Czy filtry FIR są nieodłącznie stabilne Tak. Ponieważ nie mają żadnych elementów sprzężenia zwrotnego, każde ograniczone wejście powoduje ograniczone wyjście. 2.3.2 Co sprawia, że numeryczne właściwości filtrów FIR są cudowne. Kluczem jest brak informacji zwrotnych. Błędy numeryczne występujące podczas wdrażania filtrów FIR w arytmetyce komputerowej występują osobno z każdym obliczeniem, że FIR nie robi sobie w przeszłości błędów numerycznych. W przeciwieństwie do tego aspekt sprzężenia zwrotnego filtrów IIR może powodować błędy liczbowe w związku z każdym obliczaniem, ponieważ błędy numeryczne są odsyłane. Praktycznym efektem tego jest fakt, że FIR można ogólnie wdrożyć, wykorzystując mniej precyzji niż IIR. Na przykład, FIR mogą być zazwyczaj zaimplementowane z 16 bitami, ale IIR zazwyczaj wymagają 32 bitów, a nawet więcej. 2.4 Dlaczego filtry FIR preferowane są najczęściej na filtrach IIR w systemach multiratowych (decymacyjnych i interpolujących)? Ponieważ tylko ułamkowa kalkulacja, która będzie wymagana do wykonania decymacji lub interpolacji FIR w dosłowny sposób, jest rzeczywiście konieczna. Ponieważ filtry FIR nie używają sprzężenia zwrotnego, muszą być obliczane tylko te wyjścia, które mają być używane. W związku z tym, w przypadku decymacji FIR (w którym wykorzystywane będzie tylko 1 z N wyjść), pozostałe wyjścia N-1 nie muszą być obliczane. Podobnie, w przypadku interpolacji filtrów (w których między próbkami wejściowymi wstawia się zero, aby zwiększyć częstotliwość próbkowania), nie trzeba wcale pomnożyć wstawionych zera z ich odpowiednimi współczynnikami FIR i sumować wynik, pomijając dodawane mnożenia, które są związane z zera (ponieważ nie zmieniają wyniku). W przeciwieństwie, ponieważ filtry IIR używają sprzężenia zwrotnego, każde wejście musi być użyte, a każde wejście musi być obliczone, ponieważ wszystkie wejścia i wyjścia przyczyniają się do sprzężenia zwrotnego w filtrze. 2.5 Jakie specjalne typy filtrów FIR są tam? Poza kwotami cenowymi i cytatami są: filtry Boxcar - Boxcar FIR to po prostu filtry, w których każdy współczynnik wynosi 1.0. Dlatego też, w przypadku boksera typu N, wynik jest tylko sumą z ostatnich próbek N. Ze względu na to, że pojazdy typu boxcar FIR mogą być implementowane tylko z użyciem dodatków, interesuje ich przede wszystkim implementacja sprzętu, gdzie mnożniki są kosztowne. Transformator Hilberta - transformatory Hilberta zmieniają fazę sygnału o 90 stopni. Są one wykorzystywane przede wszystkim do tworzenia części wyimaginowanej złożonego sygnału, biorąc pod uwagę jego rzeczywistą część. Różnicznik - Różniczki mają odpowiedź amplitudy, która jest liniową funkcją częstotliwości. Obecnie nie są one bardzo popularne, ale czasami są wykorzystywane do demodulatorów FM. Lth-Band - Nazywane także filtrami Nyquistquot, filtry te są specjalną klasą filtrów używanych głównie w wielu aplikacjach. Ich kluczowym punktem sprzedaży jest fakt, że każdy z współczynników L jest zerowy - fakt, który może być wykorzystany w celu zmniejszenia liczby operacji mnożonych w celu wykonania filtru. (Słynny filtr quothalf-bandquot to filtr Lth-band, L2) Raised-Cosine - jest to specjalny rodzaj filtra, który czasami jest używany do cyfrowych aplikacji danych. (Częstotliwość pasma przepustowego jest kształtem kosmosu, który został przytoczony przez stałą.) Aby uzyskać więcej informacji, zobacz temat dspGurus Raised-Cosine FAQ. Wiele innych. FIR Filter Design 3.1 Jakie są metody projektowania filtrów FIR Trzy popularne metody projektowania są następujące: Parks-McClellan: Metoda Parks-McClellan (niedokładnie nazywana quotRemezquot przez Matlab) jest prawdopodobnie najbardziej popularną metodą projektowania filtrów FIR . Jest to algorytm iteracji, który akceptuje specyfikacje filtra pod względem pasma przenoszenia i częstotliwości pasma przenoszenia, pasma przepustowości i tłumienia stopów. Fakt, że możesz bezpośrednio określić wszystkie ważne parametry filtru, sprawia, że ta metoda jest tak popularna. Metoda PM może zaprojektować nie tylko kwotowanie FIR, ale również FIR i różniące się warunkami transformacji FIR. Okna:. W metodzie okienkowania początkowa odpowiedź impulsowa jest uzyskiwana poprzez odwrócenie odwrotnej odwrotnej transformaty Fouriera (IDFT) o żądanej częstotliwości. Następnie odpowiedź na impulsy jest wyrafinowana przez zastosowanie okna danych do niego. Obliczanie bezpośrednie: odpowiedzi impulsowe niektórych typów filtrów FIR (np. Raised Cosine i Windowed Sinc) można obliczyć bezpośrednio ze wzorów. 3.2 Jak właściwie zaprojektować filtry FIR? Oczywiście, z programem do projektowania filtrów FIR. -) Choć możliwe jest zaprojektowanie filtrów FIR przy użyciu metod ręcznych, łatwiej jest korzystać z programu do projektowania filtrów FIR. 3.3 Jakie programy do projektowania filtrów FIR są dostępne Programy do projektowania filtrów FIR są dostępne w trzech kategoriach: aplikacje do projektowania filtrów: zobacz stronę oprogramowania do projektowania filtrów cyfrowych dspGuru w celu uzyskania listy filtrów projektowych. Zbliżenie i droga do nas tutaj na dspGuru jest własnym produktem firmy Iowegian's ScopeFIR. Uważamy, że ScopeFIR oferuje doskonałe połączenie profesjonalnych funkcji, gładkiego interfejsu użytkownika i przystępnej cenie. Sprzedajemy go za 599, z 30-dniowym okresem próbnym. Nawet jeśli już używasz Matlaba, możliwości i możliwości strzeleckie ScopeFIR mogą poprawić wydajność filtru FIR. Programy Matematyczne: program Matlab i jego klony Free Clone oferują wbudowane funkcje filtrowania FIR. Kod źródłowy: Jednym z najlepszych miejsc w sieci, aby znaleźć kod źródłowy do projektowania filtrów FIR był strona programu Charles Poynton's Filter Design. Wdrażanie filtru FIR 4.1 Jaki jest podstawowy algorytm wdrażania filtrów FIR Filtry strukturalne, filtry FIR składają się tylko z dwóch rzeczy: próbki linii opóźnienia i zbioru współczynników. Aby zastosować filtr: Umieść próbkę wejściową w linii opóźnienia. Pomnożyć każdą próbkę w linii opóźnienia za pomocą odpowiedniego współczynnika i zgromadzić wynik. Przesuń linię opóźniającą o jedną próbkę, aby uzyskać miejsce na następną próbkę wejściową. 4.2 Jak wdrożyć filtry FIR w C Istnieje wiele możliwości, w tym kilka sztuczek. W celu zilustrowania przedstawiliśmy zestaw filtra algorytmów FIR implementowanych w języku C o nazwie FirAlgs. c w pliku dystrybucyjnym ScopeFIRs. FirAlgs. c obejmuje następujące funkcje: firbasic. Ilustruje podstawowe obliczenia FIR opisane powyżej, implementując to dosłownie. okrągłe. Pokazuje, w jaki sposób są stosowane okrągłe bufory do wykonania FIR. jaskrawa. Pokazuje technikę losowania używaną przez niektóre procesory Texas Instruments. firsplit. Podziela obliczenia FIR na dwa płaskie (nie kołowe) kawałki, aby uniknąć użycia logiki bufora kołowego i tasowania. firdoublez. Używa podwójnej linii opóźniającej, dzięki czemu obliczenie FIR może być wykonane przy użyciu płaskiego buforu. firdoubleh. Podobnie jak w przypadku firdoublez używa się współczynnika podwójnej wielkości, dzięki czemu obliczenie FIR może być wykonane przy użyciu płaskiego buforu. 4.3 Jak wdrożyć filtry FIR w algorytmach montażu zespołów FIR są dość specyficzne dla procesorów, ale najczęściej stosowany jest mechanizm okrągłego bufora dostarczany przez procesor DSP. Podstawowe kroki to: Skonfiguruj okrągłe buforowanie obciążenia wskaźnikiem i opóźnieniem linii. Następnie dla każdej próbki wejściowej: Zapis danych przychodzących w linii opóźnienia zwiększa wskaźnik opóźnienia. Wyczyść mnożnik-akumulator. Pętla nad wszystkimi współczynnikami czasów gromadzi wartości uzyskane przez mnożenie współczynników przez opóźnione próbki. Okrągły lub ścięty wynik jako wynik FIR. Alternatywnie, w starszych procesorach stacjonarnych Texas Instruments stosowana jest metoda mieszania w celu wykonania okrągłych buforów. Procesor przenosi dosłownie każdą wartość opóźnienia próbki o jedną szczelinę podczas każdego mnożenia (za pomocą instrukcji MACD). Każdy producent mikroprocesorów DSP dostarcza przykładowego kodu instalacyjnego w swoich książkach danych lub podręcznikach do aplikacji, więc spójrz na te, zanim zrewitujesz bufor okrągły. 4.4 Jak przetestować moją implementację FIR Oto kilka metod: Test impulsów: Bardzo prostym i skutecznym testem jest umieszczenie w nim impulsu (który jest tylko 1 próbką, a następnie zerem N-1). Można również umieścić w pociągu impulsowym, przy czym 1 próbki rozmieszczone są co najmniej N próbek. Jeśli wszystkie współczynniki filtru są we właściwej kolejności, istnieje duża szansa, że filtr działa poprawnie. (Możesz chcieć testować z nielinearnymi współczynnikami fazowymi, aby zobaczyć kolejność, w jakiej się pojawiły). Zalecamy wykonywanie tego testu podczas pisania nowej procedury filtrowania FIR. Krok testu: Należy wprowadzić N lub więcej 1 próbek. Wyjście po N próbkach powinno być sumą (wzmocnienie DC) filtru FIR. Test sinusoidalny: wprowadź sinusoidę na jednej lub więcej częstotliwościach i sprawdź, czy sinus wyjściowy ma oczekiwaną amplitudę. Przeszukiwanie testu FM: Z Eric Jacobsen: Moim ulubionym testem po pociągu impulsowym jest pobranie dwóch identycznych przypadków testowanego filtra, użyj ich jako filtrów I i Q i umieść skomplikowane liniowe odchylenie FM od DC do Fs2. Możesz zrobić FFT na wynik i zobaczyć całkowitą odpowiedź częstotliwościową filtru, upewnij się, że faza jest ładna i ciągła wszędzie i odpowiada odpowiedzi na to, czego oczekujesz od zestawu współczynników, precyzji itp. 4.5 Jakie sztuczki są użyteczne w implementacji filtrów FIR FIR centrum trików na dwie rzeczy 1) nie licząc rzeczy, które nie muszą być obliczane i 2) fałszowania kołowych buforów w oprogramowaniu. 4.5.1 Jak pominąć niepotrzebne obliczenia Po pierwsze, jeśli filtr ma współczynniki zerowej wartości, to w rzeczywistości nie musisz obliczać tych kranów, które można ich pominąć. Częstym przypadkiem jest filtr półpasmowy, który ma właściwość, że każdy inny współczynnik wynosi zero. Po drugie, jeśli filtr jest symetryczny (faza liniowa), przed dodaniem próbek, które zostaną pomnożone przez tę samą wartość współczynnika, przed wykonaniem mnożenia. Ponieważ technika ta w zasadzie zawiera dodatek dla mnożnika, nie jest to naprawdę użyteczne w mikroprocesorach DSP, które mogą być pomnożone w pojedynczym cyklu. Jest to jednak przydatne w implementacjach systemu ASIC (w których dodatek jest zazwyczaj znacznie tańszy niż mnożenie), a niektóre nowatorskie procesory DSP oferują teraz specjalne urządzenia i instrukcje, aby skorzystać z tej sztuczki. 4.5.2 Jak fałszywe bufory okrągłe w oprogramowaniu Jeśli nie jest dostępne sprzętowe wsparcie dla buforów kołowych, musisz ich fałszować. Ponadto, ponieważ ANSI C nie ma konstruktu do opisywania okrągłych buforów, większość kompilatorów C nie może generować kodu do ich wykorzystania, nawet jeśli ma je procesor docelowy. Zawsze można zaimplementować okrągły bufor, duplikując logikę okrągłego buforu w oprogramowaniu (a wiele z nich ma), ale narzut może być uniemożliwiony, fałszywe okrągłe może przyjąć kilka instrukcji do wykonania, w porównaniu do tylko jednej instrukcji, - skumulować działanie. Dlatego musisz to fałszywe. Oto kilka podstawowych technik fałszywych okrągłych buforów: Podziel obliczenia: można rozdzielić dowolne obliczenia FIR na jego elementy przed zawinięciem i pofałdowaniem. Poprzez podzielenie obliczeń na te dwie części, zasadniczo można wykonywać okrągłą logikę tylko raz, a nie raz na dotknięciem. (Zobacz firdoublez w FirAlgs. c powyżej). Duplikuj linię opóźniającą: W przypadku FIR z n tapsami użyj linii opóźniającej o rozmiarze 2N. Skopiuj każdą próbkę do właściwej lokalizacji, a także w lokalizacji-plus-N. Dlatego pętla MAC obliczeniowa FIR może być wykonana na płaskim buforze N punktów, rozpoczynając się gdziekolwiek w obrębie pierwszego zestawu punktów N. Drugi zestaw opóźnionych próbek N zapewnia owinięcie wokół porównywalne z prawdziwym okrągłym buforem. (Zobacz firdoublez w FirAlgs. c powyżej). Duplikuj współczynniki: Jest to podobne do powyższego, z wyjątkiem tego, że duplikacja występuje w kategoriach współczynników, a nie linii opóźnienia. W porównaniu z poprzednią metodą, ma to zaletę obliczeniową polegającą na tym, że nie trzeba przechowywać każdej przychodzącej próbki dwukrotnie, a także ma tę zaletę, gdy ten sam zestaw współczynników będzie używany na wielu liniach opóźniających. (Zobacz firdoubleh w FirAlgs. c powyżej) Użyj przetwarzania bloku: W przetwarzaniu bloku używasz linii opóźnienia, która jest wielokrotnością liczby kranów. Dlatego musisz tylko przenieść dane raz na blok, aby zastosować mechanizm opóźnienia. Gdy wielkość bloku staje się duża, napowietrzenie przesuwania linii opóźniającej raz na blok staje się nieistotne.
Comments
Post a Comment