Pasmo przenoszenia średniego filtra i filtru FIR Porównanie odpowiedzi częstotliwościowej filtra średniej ruchomej z częstotliwością filtru FIR. Ustaw współczynniki regularnego filtra FIR jako sekwencję skalowanych 1s. Współczynnikiem skalowania jest 1filterLength. Utwórz obiekt systemu dsp. FIRFilter i ustaw współczynniki na 140. Aby obliczyć średnią ruchu, utwórz obiekt dsp. MovingAverage System z przesuwnym oknem 40 w celu obliczenia średniej ruchomej. Obydwa filtry mają te same współczynniki. Wejście jest szumem białego Gaussa ze średnią 0 i odchyleniem standardowym równym 1. Wizualizuj odpowiedź częstotliwościową obu filtrów za pomocą fvtool. Częstotliwość odpowiedzi odpowiada dokładnie, co świadczy o tym, że średni ruchowy filtr jest szczególnym przypadkiem filtra FIR. Dla porównania sprawdź częstotliwość odpowiedzi filtra bez hałasu. Porównaj filtry częstotliwości odpowiadające częstotliwościom idealnego filtra. Widać, że główny płat pasa przeponowego nie jest płaski, a wsady w stopbandze nie są ograniczone. Średnia częstotliwość przenoszenia częstotliwości nie odpowiada częstotliwości odpowiedzi idealnego filtra. Aby zrealizować idealny filtr FIR, zmień współczynniki filtru na wektor, który nie jest sekwencją skalowanych 1s. Zmiana częstotliwości filtra zmienia się i zbliża się do idealnej odpowiedzi filtra. Zaprojektuj współczynniki filtru w oparciu o predefiniowane specyfikacje filtru. Na przykład, zaprojektuj filtr równomierny FIR z znormalizowaną częstotliwością odcięcia 0,1, pasmem przepuszczania pasma wynoszącym 0,5 i tłumieniem pasma 40 dB. Użyj fdesign. lowpass do definiowania specyfikacji filtrów i metody projektowania w celu zaprojektowania filtra. Odpowiedź filtrów w paśmie pasma jest prawie płaska (podobna do idealnej odpowiedzi), a stopband ma ograniczone równania. MATLAB i Simulink są zastrzeżonymi znakami towarowymi firmy The MathWorks, Inc. Proszę zapoznać się z listami innych znaków towarowych należących do The MathWorks, Inc. Inne marki produktów lub marek są znakami towarowymi lub zastrzeżonymi znakami towarowymi odpowiednich właścicieli. Wybierz filtry CountryFIR, filtry IIR i liniowy współczynnik różnicy współczynników stałych Współczynniki przepływu Moving Average (FIR), które opisano w systemach, w których każda próbka wyjściowa jest ważoną sumą (pewnych) próbek danych wejściowych. Pozwala wziąć system sumy ważenia przyczynowego, gdzie przyczynowa oznacza, że dana próbka wyjściowa zależy tylko od bieżącej próbki wejściowej i innych wejść wcześniejszych w sekwencji. Niezależnie od systemów liniowych w ogóle, ani w konkretnych systemach odpowiedzi impulsowych, nie jest przyczynowo. Jednak przyczynowość jest dogodna dla pewnej analizy, która niedługo się zbadać. Jeśli symbolizujemy wejścia jako wartości wektora x. i wyjścia jako odpowiadające im wartości wektora y. wtedy taki system może być zapisany jako miejsce, gdzie wartości b są wierszami ilościowymi zastosowanymi do obecnych i wcześniejszych próbek wejściowych w celu pobrania próbki wyjściowej. Możemy myśleć o wyrażeniu jako równaniu, ze znakiem równości oznacza równe lub jako instrukcję proceduralną, a znakiem równości oznacza przyporządkowanie. Pozwala napisać wyrażenie dla każdej próbki wyjściowej jako pętli instrukcji przypisania MATLAB, gdzie x jest wektorem długości N próbek wejściowych, a b jest wektorem długości ciężaru M. Aby poradzić sobie ze szczególnym przypadkiem na początku, umieścimy x w dłuższym wektorze xhat, którego pierwsza próbka M-1 wynosi zero. Będziemy pisać ważone sumy dla każdego y (n) jako wewnętrznego produktu i będą manipulować wejściami (jak odwrócenie b) w tym celu. Tego rodzaju system jest często nazywany filtrem ruchomym z oczywistych powodów. Z naszych wcześniejszych dyskusji powinno być oczywiste, że taki system ma charakter liniowy i niezmienny. Oczywiście byłoby znacznie szybsze użycie funkcji konwekcyjnej MATLAB conv () zamiast naszego mafilt (). Zamiast rozważać pierwsze próbki M-1, które mają być zero, możemy uznać je za identyczne z ostatnimi próbkami M-1. To samo traktuje wejście jako okresowe. Użyj funkcji cmafilt () jako nazwy funkcji, niewielkiej modyfikacji wcześniejszej funkcji mafilt (). Przy określaniu odpowiedzi impulsowej systemu zazwyczaj nie ma żadnej różnicy między tymi dwoma, ponieważ wszystkie nieoryginalne próbki wejścia są równe zeru: Ponieważ system tego typu jest liniowy i niezmienny, wiadomo, że jego wpływ na każdy sinusoida będzie tylko skalować i przesuwać. Tutaj ważne jest, że używamy okrągłej wersji Okrągle-convolved wersja jest przesuwane i skalowane nieco, podczas gdy wersja z zwykłym splotem jest zniekształcony na samym początku. Pozwala zobaczyć, co dokładne skalowanie i przesunięcie jest przy użyciu fft: Zarówno wejście i wyjście mają amplitudy tylko w częstotliwościach 1 i -1, co jest tak, jak powinno być, biorąc pod uwagę, że wejście było sinusoidy i system był liniowy. Wartości wyjściowe są większe w stosunku 10,62518 1,3281. To jest zysk z systemu. Co na temat fazy Musimy tylko sprawdzić, gdzie amplituda jest niezerowa: wejście ma fazę pi2, jak poprosiliśmy. Fazę wyjściową przesuwa się o dodatkowe 1.0594 (z przeciwnym znakiem dla częstotliwości ujemnej) lub o około 16 cyklu po prawej stronie, co widać na wykresie. Teraz spróbujmy sinusoidy o tej samej częstotliwości (1), ale zamiast amplitudy 1 i fazy pi2, spróbujmy spróbować amplitudy 1.5 i fazy 0. Wiemy, że tylko częstotliwość 1 i -1 będzie miała amplitudę niezerową, więc po prostu spróbujmy na nich: Ponownie współczynnik amplitudy (15.937712.0000) wynosi 1.3281 - a co do fazy, to znów przesuwa się o 1.0594 Jeśli te przykłady są typowe, możemy przewidzieć wpływ naszego systemu (reakcja impulsowa .1 .2 .3 .5) na każdej sinusoidzie o częstotliwości 1 - amplituda zostanie zwiększona o współczynnik 1.3281, a faza (częstotliwość dodatnia) zostanie przesunięta o 1.0594. Możemy dalej obliczyć wpływ tego systemu na sinusoidy innych częstotliwości za pomocą tych samych metod. Ale jest znacznie prostszy sposób i jeden, który ustala ogólny punkt. Ponieważ (okrągły) splot w dziedzinie czasowej oznacza mnożenie w dziedzinie częstotliwości, z tego wynika, że Innymi słowy, DFT odpowiedzi impulsowej jest stosunek DFT wyjścia do DFT wejścia. W tym stosunku współczynniki DFT są liczbami zespolonymi. Ponieważ abs (c1c2) abs (c1) abs (c2) dla wszystkich liczb zespolonych c1, c2, to równanie mówi nam, że widmo amplitudy odpowiedzi impulsowej zawsze będzie miało stosunek widma amplitudy wyjściowego do sygnału wejściowego . W przypadku widma fazowego kąta (c1c2) kąt (c1) - kąt (c2) dla wszystkich c1, c2 (z tym, że różne fazy różnią się od siebie n2pi). Dlatego widmo fazowe odpowiedzi impulsowej zawsze będzie różniło się między widmami fazy wyjściowej i wejściowej (niezależnie od korekcji przez 2pi, aby zachować wynik między - pi a pi). Efekty fazowe możemy zobaczyć bardziej wyraźnie, jeśli odwzorowujemy reprezentację fazy, tzn. Jeśli w miarę potrzeb będziemy dodawać różne wielokrotności 2pi, aby zminimalizować skoki powstałe w wyniku okresowego charakteru funkcji kąta (). Chociaż amplituda i faza są zwykle wykorzystywane do prezentacji graficznej, a nawet tabelarycznej, ponieważ są intuicyjnym sposobem na pomyślenie o wpływie systemu na różne składowe częstotliwości jego wejścia, skomplikowane współczynniki Fouriera są bardziej użyteczne algebraicznie, ponieważ pozwalają prosta ekspresja relacji Podejście ogólne, które widzieliśmy, będzie współpracować z arbitralnymi filtrami zarysowanego szkicu, w którym każda próbka wyjściowa jest ważoną sumą niektórych zestawów próbek wejściowych. Jak wspomniano wcześniej, są to często filtry filtru Impulse Response, ponieważ odpowiedź impulsowa ma skończoną wielkość, a czasami przewyższa średnie filtry. Możemy określić charakterystykę odpowiedzi częstotliwościowej takiego filtra z FFT jego odpowiedzi impulsowej, a także możemy zaprojektować nowe filtry o pożądanych właściwościach IFFT ze specyfikacji odpowiedzi częstotliwościowej. Filtry autoregresywne (IIR) Niewiele miałoby sens w nazwach filtrów FIR, chyba że istnieją jakieś inne rodzaje, aby je odróżnić, a więc ci, którzy studiowali pragmatykę, nie będą zdziwieni, gdy dowiedzą się, że rzeczywiście jest inny inny rodzaj liniowego filtru niezmiennego czasowo. Filtry te są czasem nazywane rekurencyjnymi, ponieważ ważą się wartości poprzednich wyjść (jak również poprzednich wejść), chociaż algorytmy są zazwyczaj zapisywane za pomocą konstruktów iteracyjnych. Są one nazywane filtrami Infinite Impulse Response (IIR), ponieważ w ogólności ich odpowiedź na impuls idzie na zawsze. Są one czasami nazywane filtrami autoregresywnymi, ponieważ współczynniki mogą być traktowane jako wynik regresji liniowej do wyrażania wartości sygnału w funkcji wcześniejszych wartości sygnału. Zależność filtrów FIR i IIR może być wyraźnie widoczna w liniowym równoważniku różnicy współczynników stałych, tzn. Ustawia ważoną sumę wyjść równą liczbie ważonych wejść. Jest to podobne do równania, które daliśmy wcześniej dla filtra FIR związku przyczynowego, za wyjątkiem tego, że oprócz ważonej sumy wejść, mamy również ważoną sumę wyników. Jeśli chcemy o tym myśleć jako procedurę generowania próbek wyjściowych, musimy przekształcić równanie, aby uzyskać wyrażenie dla próbki wyjściowej y (n), Przyjęto konwencję, że a (1) 1 (np. Skalując inne jako i bs), możemy pozbyć się terminu 1a (1): y (n) b (1) x (n) b (2) x (n-1). b (Nb1) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Jeśli wszystkie a (n) inne niż a (1) są równe zeru, to zmniejsza się do naszego starego przyjaciela przyczyny filtr FIR. Jest to ogólny przypadek filtra LTI (przyczynowości) i jest realizowany przez filtr funkcji MATLAB. Przyjrzyjmy się przypadkowi, w którym współczynniki b inne niż b (1) są równe zero (zamiast przypadku FIR, gdzie a (n) wynosi zero): W tym przypadku próbka wyjściowa y (n) jest obliczana jako ważona kombinacja bieżącej próbki wejściowej x (n) i poprzednich próbek wyjściowych y (n-1), y (n-2) itp. Aby zrozumieć, co się dzieje z tymi filtrami, zacznij od przypadku, gdy: Oznacza to, że próbka wyjściowa jest sumą bieżącej próbki wejściowej i pół poprzedniej próbki wyjściowej. Weź impuls wejściowy przez kilka kroków czasowych, po jednym na raz. Powinno być jasne, że w tym momencie możemy łatwo napisać wyrażenie dla n-tej wartości próbki wyjściowej: to jest tylko (jeśli MATLAB liczy się od 0, to byłoby po prostu .5n). Ponieważ obliczymy odpowiedź impulsową systemu, wykazaliśmy na przykładzie, że odpowiedź impulsowa może rzeczywiście zawierać nieskończenie wiele próbek niezerowych. Aby zaimplementować ten trywialny filtr pierwszego rzędu w programie MATLAB, możemy użyć filtru. Połączenie będzie wyglądało tak: i wynik: Czy to przedsiębiorstwo jest naprawdę liniowe? Możemy przyjrzeć się tym empirycznie: w bardziej ogólnym podejściu warto rozważyć wartość próbki wyjściowej y (n). Przez kolejną podstawę moglibyśmy napisać to jako To jest tak, jak nasz stary przyjaciel, splotowa forma filtru FIR, z odpowiedzią impulsową dostarczoną przez wyrażenie .5k. a długość odpowiedzi impulsowej jest nieskończona. Zatem te same argumenty, które pokazały, że filtry FIR są liniowe, będą teraz stosowane tutaj. Do tej pory może to wydawać się dużo zamieszania niewiele. Cała ta linia dochodzenia jest dobra dla odpowiedzi na to pytanie w etapach, zaczynając od przykładu. Nie jest to wielka niespodzianka, że możemy obliczyć próbkę wykładniczą przez mnożenie rekursywne. Spójrzmy na rekurencyjny filtr, który robi coś mniej oczywistego. Tym razem uczynić filtr drugiego rzędu tak, aby wywołanie filtru miało postać Pozwala ustawić drugi współczynnik wyjściowy a2 do -2cos (2pi40), a trzeci współczynnik wyjściowy a3 do 1, i przyjrzeć się impulsowi odpowiedź. Nie bardzo użyteczny jako filtr, ale faktycznie generuje próbkowaną falę sinusoidalną (z impulsu) z trzema wielokrotnymi dodanymi na próbkę Aby zrozumieć, jak i dlaczego to robi, oraz jak można zaprojektować i przeanalizować filtry rekurencyjne tym bardziej ogólnym przypadku, musimy cofnąć się i spojrzeć na niektóre inne właściwości liczb zespolonych w drodze do zrozumienia transformacji z. Dokumentacja Częstotliwości odpowiadają dokładnie, co świadczy o tym, że średni ruchowy filtr jest szczególnym przypadkiem filtr FIR. Dla porównania sprawdź częstotliwość odpowiedzi filtra bez hałasu. Porównaj filtry częstotliwości odpowiadające częstotliwościom idealnego filtra. Widać, że główny płat pasa przeponowego nie jest płaski, a wsady w stopbandze nie są ograniczone. Średnia częstotliwość przenoszenia częstotliwości nie odpowiada częstotliwości odpowiedzi idealnego filtra. Aby zrealizować idealny filtr FIR, zmień współczynniki filtru na wektor, który nie jest sekwencją skalowanych 1s. Zmiana częstotliwości filtra zmienia się i zbliża się do idealnej odpowiedzi filtra. Zaprojektuj współczynniki filtru w oparciu o predefiniowane specyfikacje filtru. Na przykład, zaprojektuj filtr równomierny FIR z znormalizowaną częstotliwością odcięcia 0,1, pasmem przepuszczania pasma wynoszącym 0,5 i tłumieniem pasma 40 dB. Użyj fdesign. lowpass do definiowania specyfikacji filtrów i metody projektowania w celu zaprojektowania filtra. Odpowiedź filtrów w paśmie pasma jest prawie płaska (podobna do idealnej odpowiedzi), a stopband ma ograniczone równania. Więcej informacji Wybierz podstawowe informacje o filtrach CountryFIR 1.1 Czym są filtry ifRIR Filtry FIR są jednym z dwóch podstawowych typów filtrów cyfrowych używanych w aplikacjach przetwarzania sygnałów cyfrowych (DSP), a drugim typem 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ź impulsowa 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że synonimem "cudzysłowu". 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ź impulsu, 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ż sprawia, że implementacja jest znacznie prostsza. 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 potrzebnych obliczeń oraz 3) ilości filtrafiltrowania, aby filtr działał skutecznie, 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 najstarsze.
No comments:
Post a Comment