Przenoszenie średnia fir filter matlab
Filtry FIR, filtry IIR i równanie różnicy współczynników stałych Współczynnik względności (FIR) Filtry Omówiono układy, w których każda próbka wyniku jest sumą ważoną (pewnych) próbek sygnału wejściowego. Przyjmijmy system sumy ważonej przyczynowo-skutkowej, gdzie przyczynowość oznacza, że dana próbka wyjściowa zależy tylko od bieżącej próbki wejściowej i innych danych wejściowych wcześniej w sekwencji. Ani systemy liniowe w ogóle, ani skończone systemy odpowiedzi impulsowej w szczególności, nie muszą być przyczynowe. Jednak przyczynowość jest wygodna dla pewnego rodzaju analizy, która wkrótce zostanie zbadana. Jeśli symbolizujemy wejścia jako wartości wektora x. a wyjścia jako odpowiadające wartości wektora y. wtedy taki system można zapisać w taki sposób, w którym wartości b są równe częstościom stosowanym do bieżących i wcześniejszych próbek wejściowych, aby uzyskać bieżącą próbkę wyjściową. Możemy myśleć o wyrażeniu jako równaniu, przy czym znak równości jest równy lub instrukcji proceduralnej, a znak równości oznacza przydział. Pozwala zapisać wyrażenie dla każdej próbki wyjściowej jako pętlę MATLAB z instrukcjami przypisania, gdzie x jest wektorem długości N próbek wejściowych, a b jest wektorem długości M o masie. Aby poradzić sobie ze specjalnym przypadkiem na początku, osadzimy x w dłuższym wektorze xhat, którego pierwsze próbki M-1 są zerowe. Napiszemy ważone sumowanie dla każdego y (n) jako produktu wewnętrznego i wykonamy pewne manipulacje wejściami (jak odwrócenie b) w tym celu. Tego rodzaju system jest często nazywany filtrem średniej ruchomej, z oczywistych powodów. Z naszych wcześniejszych dyskusji powinno być oczywiste, że taki system jest liniowy i niezmienny. Oczywiście znacznie szybciej byłoby użyć funkcji konwolucji MATLAB conv () zamiast naszej mafilt (). Zamiast uważać pierwsze próbki M-1 wejścia za zero, moglibyśmy uznać je za takie same jak ostatnie próbki M-1. Jest to to samo, co traktowanie wejścia jako okresowego. Dobrze użyj cmafilt () jako nazwy funkcji, małej modyfikacji wcześniejszej funkcji mafilt (). Przy określaniu odpowiedzi impulsowej systemu, zazwyczaj nie ma różnicy między tymi dwoma, ponieważ wszystkie nieprzewidziane próbki sygnału wejściowego są zerowe: ponieważ układ tego rodzaju jest liniowy i niezmienny względem przesunięcia, wiemy, że jego wpływ na dowolny sinusoid będzie tylko skalować i przesuwać. Tutaj liczy się, że używamy wersji kołowej. Wersja kołowo-splotowa jest przesunięta i skalowana, podczas gdy wersja ze zwykłym splotem jest zniekształcona na początku. Zobaczmy, jakie jest dokładne skalowanie i przesuwanie za pomocą fft: zarówno wejście, jak i wyjście mają amplitudę tylko na częstotliwościach 1 i -1, co powinno być, biorąc pod uwagę, że wejście było sinusoidą, a system był liniowy. Wartości wyjściowe są większe o współczynnik 10,62518 1,3281. To jest zysk systemu. A co z fazą? Musimy tylko sprawdzić, gdzie amplituda jest niezerowa: wejście ma fazę pi2, o którą prosiliśmy. Faza wyjściowa jest przesunięta o dodatkowe 1.0594 (z przeciwnym znakiem dla częstotliwości ujemnej) lub o około 16 z cyklu z prawej strony, jak widać na wykresie. Teraz spróbujmy sinusoidy o tej samej częstotliwości (1), ale zamiast amplitudy 1 i fazy pi2, spróbujmy amplitudy 1,5 i fazy 0. Wiemy, że tylko częstotliwość 1 i -1 będą miały niezerową amplitudę, więc po prostu popatrzmy w nich: Ponownie stosunek amplitudy (15.937712.0000) wynosi 1.3281 - a co do fazy to jest ponownie przesunięty o 1.0594 Jeśli te przykłady są typowe, możemy przewidzieć działanie naszego systemu (odpowiedź impulsowa .1 .2 .3 .4 .5) na dowolnej sinusoidzie o częstotliwości 1 - amplituda zostanie zwiększona o współczynnik 1,3281, a faza (o częstotliwości dodatniej) zostanie przesunięta o 1.0594. Moglibyśmy obliczyć wpływ tego systemu na sinusoidy innych częstotliwości tymi samymi metodami. Jest jednak znacznie prostszy sposób, który ustanawia ogólną zasadę. Ponieważ (kołowy) splot w dziedzinie czasu oznacza mnożenie w dziedzinie częstotliwości, z tego wynika, że Innymi słowy, DFT odpowiedzi impulsowej jest stosunkiem DFT wyjścia do DFT sygnału wejściowego. W tej zależności 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 amplitudowe odpowiedzi impulsu zawsze będzie proporcją spektrum amplitudowego wyjścia do wartości sygnału wejściowego . W przypadku widma fazowego kąt (c1c2) kąt (c1) - kąt (c2) dla wszystkich c1, c2 (z zastrzeżeniem, że fazy różniące się n2pi są uważane za równe). Dlatego spektrum fazowe odpowiedzi impulsowej zawsze będzie różnicą między widmami fazowymi sygnału wyjściowego i wejściowego (przy czym wymagane są poprawki 2pi, aby zachować wynik między - pi a pi). Efekty fazowe możemy zobaczyć wyraźniej, jeśli odwijają reprezentację fazy, tj. Jeśli dodamy różne wielokrotności 2pi, jeśli to konieczne, aby zminimalizować skoki, które są wytwarzane przez okresową naturę funkcji angle (). Chociaż amplituda i faza są zwykle używane do graficznej, a nawet tabelarycznej prezentacji, ponieważ są intuicyjnym sposobem myślenia o wpływie systemu na różne składowe częstotliwościowe jego wejścia, złożone współczynniki Fouriera są bardziej przydatne algebraicznie, ponieważ pozwalają one proste wyrażenie relacji Ogólne podejście, które właśnie widzieliśmy, będzie działać z arbitralnymi filtrami typu naszkicowanego, w którym każda próbka wyjściowa jest ważoną sumą pewnego zestawu próbek wejściowych. Jak wspomniano wcześniej, są one często nazywane filtrami typu Finite Impulse Response, ponieważ odpowiedź impulsowa ma skończony rozmiar lub czasami filtry średniej ruchomej. Możemy określić charakterystykę odpowiedzi częstotliwościowej takiego filtra z FFT na jego odpowiedź impulsową, a także możemy zaprojektować nowe filtry o pożądanych charakterystykach za pomocą IFFT ze specyfikacji charakterystyki częstotliwościowej. Filtry autoregresyjne (IIR) Nie byłoby sensu mieć nazw dla filtrów FIR, chyba że istniały inne rodzaje odróżniające je od, a więc ci, którzy studiowali pragmatykę, nie będą zaskoczeni, gdy dowiedzą się, że istnieje inny ważny rodzaj liniowego filtra niezmienniczego w czasie. Filtry te są czasami nazywane rekursywnymi, ponieważ ważna jest wartość poprzednich wyników (jak również poprzednich danych wejściowych), chociaż algorytmy są generalnie napisane przy użyciu iteracyjnych konstrukcji. Są one również nazywane filtrami Infinite Impulse Response (IIR), ponieważ ogólnie ich reakcja na impuls trwa wieczność. Czasami nazywa się je również filtrami autoregresyjnymi, ponieważ współczynniki można traktować jako wynik regresji liniowej wyrażającej wartości sygnałów w funkcji wcześniejszych wartości sygnału. Związek filtrów FIR i IIR można wyraźnie zauważyć w równaniu różnicy liniowych stałych współczynników, tj. Ustawiając ważoną sumę wyników równą ważonej sumie sygnałów wejściowych. Jest to podobne do równania, które daliśmy wcześniej dla filtra przyczynowego FIR, z tym wyjątkiem, że oprócz ważonej sumy danych wejściowych mamy również ważoną sumę wyników. Jeśli chcemy myśleć o tym jako o procedurze generowania próbek wyjściowych, musimy zmienić układ równania, aby uzyskać wyrażenie dla bieżącej próbki wyjściowej y (n), Przyjęcie konwencji, że a (1) 1 (np. Poprzez skalowanie innych 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 zero, zmniejsza to do naszego starego przyjaciela przyczynowo-skutkowy filtr FIR. Jest to ogólny przypadek (przyczynowego) filtra LTI i jest implementowany przez filtr funkcji MATLAB. Przyjrzyjmy się przypadkowi, w którym współczynniki b inne niż b (1) wynoszą zero (zamiast przypadku FIR, gdzie a (n) są równe zero): W tym przypadku wyjściowa 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) itd. Aby dowiedzieć się, co dzieje się z takimi filtrami, zacznijmy od przypadku, w którym: Oznacza to, że obecna próbka wyjściowa jest sumą bieżącej próbki wejściowej i połowy poprzedniej próbki wyjściowej. Przyjmij impuls wejściowy w kilku krokach, po jednym na raz. W tym miejscu powinno być jasne, że możemy łatwo napisać wyrażenie dla n-tej wyjściowej wartości próbki: jest to po prostu (jeśli MATLAB policzył od 0, byłby to po prostu .5n). Ponieważ to, co obliczamy, jest odpowiedzią impulsową systemu, wykazaliśmy na przykładzie, że odpowiedź impulsowa może rzeczywiście mieć nieskończenie wiele niezerowych próbek. Aby zaimplementować ten banalny filtr pierwszego rzędu w MATLAB, możemy użyć filtru. Zaproszenie będzie wyglądało tak: a wynik jest następujący: czy ten biznes jest rzeczywiście nadal liniowy? Możemy spojrzeć na to empirycznie: Dla bardziej ogólnego podejścia rozważmy wartość wyjściowej próbki y (n). Przez kolejne zastępowanie możemy napisać to tak: "To jest jak nasz stary przyjaciel, forma sumaryczna filtra FIR, z odpowiedzią impulsową dostarczoną przez wyrażenie .5k. a długość odpowiedzi impulsowej jest nieskończona. W związku z tym te same argumenty, które stosowaliśmy, aby pokazać, że filtry FIR były liniowe, będą miały teraz zastosowanie. Jak dotąd może się wydawać, że nie ma wiele hałasu. Cóż to jest za cała ta linia badań? Dobrze odpowiedz na to pytanie etapami, zaczynając od przykładu. Nie jest wielkim zaskoczeniem, że możemy obliczyć próbkowaną wykładniczą przez multiplikację rekursywną. Spójrzmy na filtr rekurencyjny, który robi coś mniej oczywistego. Tym razem dobrze spraw, aby był filtrem drugiego rzędu, tak aby wywołanie do filtrowania miało postać. Ustawimy drugi współczynnik wyjściowy od a2 do -2cos (2pi40), a trzeci współczynnik wyjściowy a3 do 1 i popatrzymy na impuls odpowiedź. Niezbyt przydatny jako filtr, ale generuje próbkowaną falę sinusoidalną (z impulsu) z trzema wielokrotnymi dodawaniami na próbkę. Aby zrozumieć, jak i dlaczego to robi, oraz w jaki sposób można zaprojektować i przeanalizować filtry rekursywne bardziej ogólny przypadek, musimy cofnąć się i przyjrzeć innym własnościom liczb zespolonych, na drodze do zrozumienia transformacji z. Różnorodność Odpowiedź filtra średniej bieżącej Odpowiedź częstotliwościowa systemu LTI to DTFT odpowiedź impulsowa, Odpowiedź impulsowa średniej kroczącej na próbki wynosi Od Ponieważ filtr średniej ruchomej jest FIR, odpowiedź częstotliwościowa sprowadza się do skończonej sumy. Możemy użyć bardzo użytecznej tożsamości, aby napisać odpowiedź częstotliwościową, jako gdzie pozwoliliś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- - Uniwersytet Kalifornijski, BerkeleyPrzepływy średni filtr Możesz myśleć o swojej liście obserwowanych jako wątków, które masz zaznaczone zakładkami. Możesz dodawać znaczniki, autorów, wątki, a nawet wyniki wyszukiwania do swojej listy obserwowanych. W ten sposób możesz łatwo śledzić tematy, które Cię interesują. Aby wyświetlić swoją listę obserwowanych, kliknij na link "Mój czytany newsletter". Aby dodać elementy do listy obserwowanych, kliknij link quotadd do listy oglądania na dole każdej strony. Jak dodać przedmiot do mojej listy obserwowanych Aby dodać kryteria wyszukiwania do listy obserwowanych, wyszukaj żądany termin w polu wyszukiwania. Kliknij notkęDodaj to wyszukiwanie do mojego linku na liście obserwowanych na stronie wyników wyszukiwania. Możesz również dodać znacznik do swojej listy obserwowanych, wyszukując tag z dyrektywą quottag: tagnamequot gdzie zmienna to nazwa tagu, który chcesz obejrzeć. Aby dodać autora do listy obserwowanych, przejdź do strony profilu autorów i kliknij cytat Dodaj tego autora do mojego linku do listy ogłoszeń u góry strony. Możesz również dodać autora do swojej listy obserwowanych, przechodząc do wątku, który autor opublikował, i klikając cytat Dodaj tego autora do mojego linku do listy wyników. Otrzymasz powiadomienie, gdy autor napisze post. Aby dodać wątek do listy obserwowanych, przejdź do strony wątku i kliknij cytat Dodaj ten wątek do mojego linku na liście obserwowanych u góry strony. Informacje o grupach dyskusyjnych, czytnikach grup dyskusyjnych i programie MATLAB Central Czym są grupy dyskusyjne Grupy dyskusyjne to forum ogólnoświatowe otwarte dla wszystkich. Grupy dyskusyjne służą do omawiania szerokiego zakresu tematów, tworzenia ogłoszeń i wymiany plików. Dyskusje są nawleczone lub pogrupowane w sposób umożliwiający odczytanie wysłanej wiadomości i wszystkich jej odpowiedzi w porządku chronologicznym. Dzięki temu możesz łatwo śledzić wątek rozmowy i zobaczyć, co już zostało powiedziane, zanim opublikujesz własną odpowiedź lub napiszesz nowe ogłoszenie. Zawartość grup dyskusyjnych jest rozprowadzana przez serwery hostowane przez różne organizacje w Internecie. Wiadomości są wymieniane i zarządzane przy użyciu protokołów otwartych standardów. Żaden pojedynczy podmiot nie podzieli się grupami dyskusyjnymi. Istnieją tysiące grup dyskusyjnych, z których każda zajmuje się jednym tematem lub obszarem zainteresowania. Centralny czytnik wiadomości MATLAB publikuje i wyświetla wiadomości w grupie dyskusyjnej comp. soft-sys. matlab. Jak czytać lub publikować w grupach dyskusyjnych Możesz korzystać ze zintegrowanego czytnika grup dyskusyjnych na stronie internetowej MATLAB Central, aby czytać i wysyłać wiadomości w tej grupie. MATLAB Central jest hostowany przez MathWorks. Wiadomości publikowane za pośrednictwem czytnika centralnego MATLAB są widoczne dla wszystkich korzystających z grup dyskusyjnych, niezależnie od tego, w jaki sposób uzyskują dostęp do grup dyskusyjnych. Korzystanie z MATLAB Central ma kilka zalet. Jedno konto Twoje konto centralne MATLAB jest powiązane z kontem MathWorks dla łatwego dostępu. Użyj adresu e-mail swojego wyboru Centralny czytnik grup dyskusyjnych MATLAB umożliwia zdefiniowanie alternatywnego adresu e-mail jako adresu księgowania, unikanie bałaganu w głównej skrzynce pocztowej i ograniczanie spamu. Kontrola spamu Większość spamu grup dyskusyjnych jest filtrowana przez czytnik grup dyskusyjnych MATLAB. Oznaczanie Wiadomości mogą być oznaczone odpowiednią etykietą przez dowolnego zalogowanego użytkownika. Tagi mogą być używane jako słowa kluczowe w celu znalezienia konkretnych plików lub jako sposób na zaklasyfikowanie Twoich zakładek do zakładek. Możesz zezwolić innym na wyświetlanie tagów, a także wyświetlać lub wyszukiwać tagi innych użytkowników, a także te w całej społeczności. Tagowanie pozwala zobaczyć zarówno wielkie trendy, jak i mniejsze, bardziej niejasne pomysły i aplikacje. Listy obserwacyjne Skonfigurowanie listy obserwowanych umożliwia otrzymywanie powiadomień o aktualizacjach dotyczących postów wybranych przez autora, wątek lub dowolną zmienną wyszukiwania. Powiadomienia na liście obserwowanych można wysyłać e-mailem (codziennie lub bezpośrednio), wyświetlane w My Newsreader lub wysyłane za pośrednictwem kanału RSS. Inne sposoby uzyskiwania dostępu do grup dyskusyjnych Używanie czytnika grup dyskusyjnych przez szkołę, pracodawcę lub dostawcę usług internetowych Płać za dostęp do grupy dyskusyjnej od komercyjnego dostawcy Grupy dyskusyjne Google Mathforum. org zapewnia czytnik grup dyskusyjnych z dostępem do grupy dyskusyjnej comp. soft sys. matlab Uruchom własną serwer. Typowe instrukcje znajdują się w: slyckng. phppage2 Wybierz swój kraj
Comments
Post a Comment