Wednesday 20 December 2017

Przenoszenie średnio matlab using filter


Utworzono w środę, 08 października 2008 20:04 Ostatnia aktualizacja w czwartek, 14 marca 2017 01:29 Napisane przez Batuhan Osmanoglu Wyświetleń: 41398 Średnia ruchoma w programie Matlab Często potrzebuję uśredniania danych, które muszę zmniejszyć trochę hałasu kawałek. Napisałem kilka funkcji, aby zrobić dokładnie to, co chcę, ale matlabs wbudowany w funkcję filtru działa również całkiem dobrze. Tutaj piszę o uśrednianiu danych 1D i 2D. Filtr 1D może być realizowany za pomocą funkcji filtra. Funkcja filtra wymaga co najmniej trzech parametrów wejściowych: współczynnika licznika dla filtra (b), współczynnika mianownika dla filtra (a) i danych (X) oczywiście. Filtr średniej bieżącej można zdefiniować po prostu przez: Dla danych 2D możemy użyć funkcji filtra Matlabs2. Aby uzyskać więcej informacji na temat działania filtru, możesz wpisać: Oto szybka i brudna implementacja filtra 16 x 16 zmiennych ruchomych. Najpierw musimy zdefiniować filtr. Ponieważ wszystko, czego chcemy, to równy wkład wszystkich sąsiadów, możemy po prostu użyć tej funkcji. Dzielimy wszystko za pomocą 256 (1616), ponieważ nie chcemy zmieniać ogólnego poziomu (amplitudy) sygnału. Aby zastosować filtr, możemy po prostu powiedzieć: Poniżej znajdują się wyniki dla fazy interferogramu SAR. W tym przypadku zakres jest w osi Y, a azymut jest odwzorowany na osi X. Filtr miał 4 piksele szerokości w zakresie i 16 pikseli szerokości w azymucie. Filtr średniej prędkości (filtr MA) Ładowanie. Filtr średniej ruchomej to prosty filtr dolnoprzepustowy FIR (Finite Impulse Response), powszechnie stosowany do wygładzania tablicy próbkowanych sygnałów danych. Przyjmuje M próbek danych wejściowych na raz i pobiera średnią z tych M-próbek i generuje pojedynczy punkt wyjściowy. Jest to bardzo prosta struktura LPF (filtr dolnoprzepustowy), która jest przydatna naukowcom i inżynierom do filtrowania niechcianego hałaśliwego komponentu z zamierzonych danych. Wraz ze wzrostem długości filtra (parametr M) zwiększa się gładkość wyjścia, podczas gdy ostre przejścia w danych stają się coraz bardziej tępe. Oznacza to, że ten filtr ma doskonałą odpowiedź w dziedzinie czasu, ale słabą odpowiedź częstotliwościową. Filtr MA wykonuje trzy ważne funkcje: 1) Pobiera M punktów wejściowych, oblicza średnią z tych M-punktów i generuje pojedynczy punkt wyjściowy 2) Z powodu obliczeń związanych z obliczaniem. filtr wprowadza określoną ilość opóźnienia 3) Filtr działa jako filtr dolnoprzepustowy (z niską odpowiedzią częstotliwościową i dobrą odpowiedzią w dziedzinie czasu). Kod Matlaba: następujący kod Matlaba symuluje odpowiedź w czasie w odniesieniu do punktu ruchomej średniej klasy M-point, a także kreśli odpowiedź częstotliwościową dla różnych długości filtrów. Odpowiedź w dziedzinie czasu: Na pierwszym wykresie mamy dane wejściowe, które trafiają do filtra średniej ruchomej. Wejście jest głośne, a naszym celem jest zmniejszenie hałasu. Następna figura jest odpowiedzią wyjściową 3-punktowego filtra średniej ruchomej. Z rysunku można wywnioskować, że trzypunktowy filtr średniej ruchomej nie przyczynił się do odfiltrowania hałasu. Zwiększamy odczepy filtrów do 51-punktów i widzimy, że hałas na wyjściu znacznie się zmniejszył, co przedstawiono na następnym rysunku. Zwiększamy pobory o kolejne 101 i 501 i możemy zauważyć, że nawet pomimo tego, że hałas jest prawie zerowy, przejścia są drastycznie stępione (obserwuj nachylenie po obu stronach sygnału i porównaj je z idealną zmianą ściany ceglanej w nasz wkład). Pasmo przenoszenia: na podstawie odpowiedzi częstotliwościowej można stwierdzić, że zwinięcie jest bardzo wolne, a tłumienie pasma zatrzymania nie jest dobre. Biorąc pod uwagę to tłumienie pasma zatrzymania, filtr o średniej ruchomej nie może oddzielić jednego pasma częstotliwości od drugiego. Jak wiemy, dobra wydajność w dziedzinie czasu skutkuje słabą wydajnością w dziedzinie częstotliwości i na odwrót. Krótko mówiąc, średnia krocząca jest wyjątkowo dobrym filtrem wygładzającym (działanie w dziedzinie czasu), ale wyjątkowo złym filtrem dolnoprzepustowym (działanie w dziedzinie częstotliwości). Linki zewnętrzne: Zalecane książki: Podstawowa obsługa pasków bocznych Średni wynik działaniamotionmean (dane , window, dim, option) oblicza wyśrodkowaną średnią ruchomą danych macierzy danych przy użyciu rozmiaru okna określonego w oknie w wymiarze dim, przy użyciu algorytmu określonego w opcji. Dim i opcja są opcjonalnymi wejściami i będą domyślnie ustawione na 1. Dim a opcja opcjonalne wejścia mogą być całkowicie pominięte lub mogą być zastąpione przez a. Na przykład movemean (data, window) da takie same wyniki jak movemean (data, window, 1,1) lub movingmean (data, okno, 1). Rozmiar i wymiar macierzy danych wejściowych jest ograniczony tylko przez maksymalny rozmiar macierzy dla platformy użytkownika. Okno musi być liczbą całkowitą i powinno być nieparzyste. Jeśli okno jest równe, jest zaokrąglane w dół do następnej niższej liczby nieparzystej. Funkcja oblicza średnią ruchomą zawierającą punkt środkowy i (okno-1) 2 elementy przed i po w określonym wymiarze. Na krawędziach macierzy liczba elementów przed lub po jest zmniejszana, aby rzeczywisty rozmiar okna był mniejszy niż określone okno. Funkcja podzielona jest na dwie części, algorytm 1d-2d i algorytm 3d. Dokonano tego w celu optymalizacji szybkości rozwiązania, zwłaszcza w mniejszych macierzach (to jest 1000 x 1). Ponadto zapewniono kilka różnych algorytmów problemów 1d-2d i 3d, ponieważ w niektórych przypadkach domyślny algorytm nie jest najszybszy. Zwykle dzieje się tak, gdy matryca jest bardzo szeroka (tj. 100 x 100000 lub 10 x 1000 x 1000), a średnia ruchoma jest obliczana w krótszym wymiarze. Rozmiar, w którym domyślny algorytm jest wolniejszy, zależy od komputera. MATLAB 7.8 (R2009a) Tagi dla tego pliku Proszę się zalogować, aby otagować pliki. Zaloguj się, aby dodać komentarz lub ocenę. Komentarze i oceny (8) Funkcja zajmuje się końcami poprzez przycięcie końcowej lub wiodącej części okna i przejście do początkowej lub końcowej średniej ruchomej zamiast wyśrodkowanej. Aby przejść do przykładu podanego w komentarzu, jeśli rozmiar okna wynosi 3, to w środku 1 funkcja średnie dane z punktów 1 i 2 w środku 2 punktów 1, 2 i 3 są uśredniane w centrum 9 punkty 8, 9 i 10 są uśredniane iw centrum 10 (pozwala przypuszczać, że wektor ma 10 wpisów) punkty 9 i 10 są uśredniane. W jaki sposób movemean radzi sobie z końcami Czy zaczyna się od rozmiaru okna obejmującego tylko punkt 1 w punkcie 1, a następnie 3 punkty w punkcie 2, a następnie zwiększający rozmiar okna, aż do rozmiaru okna określonego w funkcji wejściowej Dzięki. Ładne i proste. Dziękuję Ci. Dobra robota Bardzo przydatne, jak powiedział Stephan Wolf. Właśnie tego szukałem. Wyśrodkowana średnia ruchoma, która może pracować na wykresie na całej szerokości, bez konieczności szukania rozmiaru okna filtru i przesuwania początku. Wielki Przyspieszenie tempa inżynierii i nauki MathWorks jest wiodącym twórcą oprogramowania obliczeniowego dla inżynierów i naukowców.

1 comment: