Filtr Wiener - Wiener filter
W przetwarzaniu sygnału The filtr Wienera jest filtr stosowany do wytworzenia oszacowania pożądane lub kierować procesem losowo liniowego stacjonarnego ( LTI ) filtrowanie obserwowanej hałaśliwym procesu, przy założeniu, znany stacjonarny sygnał i widmo szumu i szumu addytywnego. Filtr Wienera minimalizuje średni błąd kwadratowy między oszacowanym procesem losowym a procesem pożądanym.
Opis
Celem filtra Wienera jest obliczenie statystycznej oceny nieznanego sygnału przy użyciu powiązanego sygnału jako sygnału wejściowego i filtrowanie tego znanego sygnału w celu uzyskania oszacowania jako sygnału wyjściowego. Na przykład, znany sygnał może składać się z nieznanego sygnału będącego przedmiotem zainteresowania, który został uszkodzony przez szum addytywny . Filtr Wienera może być użyty do odfiltrowania szumu z uszkodzonego sygnału w celu oszacowania podstawowego sygnału będącego przedmiotem zainteresowania. Filtr Wienera jest oparty na podejściu statystycznym , a bardziej statystyczne ujęcie teorii podano w artykule estymatora minimalnego błędu średniokwadratowego (MMSE) .
Typowe filtry deterministyczne są projektowane dla żądanej odpowiedzi częstotliwościowej . Jednak projekt filtra Wienera przyjmuje inne podejście. Zakłada się, że ktoś ma wiedzę o właściwościach widmowych oryginalnego sygnału i szumu i szuka liniowego niezmiennego w czasie filtru, którego wyjście byłoby jak najbardziej zbliżone do oryginalnego sygnału. Filtry Wiener charakteryzują się następującymi cechami:
- Założenie: sygnał i (addytywny) szum są stacjonarnymi liniowymi procesami stochastycznymi o znanej charakterystyce widmowej lub znanej autokorelacji i korelacji krzyżowej
- Wymóg: filtr musi być fizycznie możliwy do zrealizowania / przyczynowy (z tego wymagania można zrezygnować, uzyskując rozwiązanie bezprzyczynowe)
- Kryterium wydajności: minimalny błąd średniokwadratowy (MMSE)
Ten filtr jest często używany w procesie dekonwolucji ; dla tej aplikacji, patrz dekonwolucja Wienera .
Rozwiązania filtrujące Wienera
Niech będzie nieznanym sygnałem, który należy oszacować na podstawie sygnału pomiarowego . Problem z filtrem Wienera ma rozwiązania dla trzech możliwych przypadków: jeden, w którym dopuszczalny jest filtr nie będący przyczyną (wymagający nieskończonej ilości przeszłych i przyszłych danych), przypadek, w którym pożądany jest filtr przyczynowy (wykorzystujący nieskończoną ilość przeszłych danych) oraz skończonej odpowiedzi impulsowej (FIR), przypadek, w którym stosuje się tylko dane wejściowe (to jest wynikiem albo wyjściowe nie są dostarczane z powrotem do filtra, jak w przypadku IIR). Pierwszy przypadek jest prosty do rozwiązania, ale nie nadaje się do zastosowań w czasie rzeczywistym. Głównym osiągnięciem Wienera było rozwiązanie przypadku, w którym obowiązuje wymóg przyczynowości; Norman Levinson podał rozwiązanie FIR w dodatku do książki Wienera.
Rozwiązanie nieprzyczynowe
gdzie są gęstości widmowe . Pod warunkiem, że jest to optymalne, równanie minimalnego błędu średniokwadratowego zmniejsza się do
a rozwiązaniem jest odwrotna dwustronna transformata Laplace'a z .
Rozwiązanie przyczynowe
gdzie
- składa się z części przyczynowej (czyli tej części tej frakcji, która ma dodatnie rozwiązanie w czasie pod odwrotną transformatą Laplace'a)
- jest składową przyczynową (tj. odwrotna transformata Laplace'a jest różna od zera tylko dla )
- jest składową przeciwprzyczynową (tj. odwrotna transformata Laplace'a jest różna od zera tylko dla )
Ta ogólna formuła jest skomplikowana i zasługuje na bardziej szczegółowe wyjaśnienie. Aby zapisać rozwiązanie w konkretnym przypadku, należy wykonać następujące kroki:
- Rozpocznij od widma w postaci racjonalnej i podziel go na składniki przyczynowe i przeciwprzyczynowi: gdzie zawiera wszystkie zera i bieguny w lewej półpłaszczyźnie (LHP) i zawiera zera i bieguny w prawej półpłaszczyźnie (RHP). Nazywa się to faktoryzacją Wienera – Hopfa .
- Podziel przez i zapisz wynik jako częściową ekspansję ułamkową .
- Wybierz tylko te terminy w tym rozszerzeniu, które mają bieguny w LHP. Nazwij te warunki .
- Podziel przez . Wynikiem jest pożądana funkcja przenoszenia filtra .
Filtr Wienera o skończonej odpowiedzi impulsowej dla serii dyskretnych
Przyczynowy skończonej odpowiedzi impulsowej filtra (FIR), Wiener, zamiast za pomocą niektórych danych macierzy danych X i Y wektora wyjściowego, znajduje optymalne grubości kranu za pomocą statystyki sygnałów wejściowych i wyjściowych. Wypełnia macierz wejściową X oszacowaniami autokorelacji sygnału wejściowego (T) i wypełnia wektor wyjściowy Y oszacowaniami korelacji krzyżowej między sygnałami wyjściowymi i wejściowymi (V).
Aby uzyskać współczynniki filtru Wienera, należy wziąć pod uwagę sygnał w [ n ] podawany do filtru Wienera rzędu (liczba minionych odczepów) N i ze współczynnikami . Wyjście filtru jest oznaczone jako x [ n ], co jest określone wyrażeniem
Błąd resztkowy jest oznaczony jako e [ n ] i jest zdefiniowany jako e [ n ] = x [ n ] - s [ n ] (patrz odpowiedni schemat blokowy). Filtr Wienera jest zaprojektowany tak, aby zminimalizować średni błąd kwadratowy ( kryteria MMSE ), który można określić zwięźle w następujący sposób:
gdzie oznacza operator oczekiwania. W ogólnym przypadku współczynniki mogą być złożone i można je wyprowadzić dla przypadku, gdy w [ n ] i s [ n ] są również złożone. W przypadku złożonego sygnału macierz do rozwiązania jest hermitowską macierzą Toeplitza , a nie symetryczną macierzą Toeplitza . Dla uproszczenia poniższe rozważania dotyczą tylko przypadku, w którym wszystkie te wielkości są rzeczywiste. Średni błąd kwadratowy (MSE) można przepisać jako:
Aby znaleźć wektor, który minimalizuje powyższe wyrażenie, oblicz jego pochodną w odniesieniu do każdego z nich
Zakładając, że w [ n ] i s [ n ] są stacjonarne i wspólnie stacjonarne, sekwencje i znane odpowiednio jako autokorelacja w [ n ] i korelacja krzyżowa między w [ n ] i s [ n ] można zdefiniować jako następuje:
Pochodną MSE można zatem przepisać jako:
Zauważ, że w rzeczywistości autokorelacja jest symetryczna:
który można przepisać (używając powyższej właściwości symetrycznej) w postaci macierzowej
Równania te nazywane są równaniami Wienera – Hopfa . Macierz T pojawiająca się w równaniu jest symetryczną macierzą Toeplitza . Wiadomo, że w odpowiednich warunkach macierze te są dodatnio określone, a zatem nie są jednostkowe, dając unikalne rozwiązanie do wyznaczania wektora współczynnika filtru Wienera . Ponadto istnieje skuteczny algorytm rozwiązywania takich równań Wienera – Hopfa, znany jako algorytm Levinsona-Durbina , więc jawna inwersja T nie jest wymagana.
W niektórych artykułach funkcja korelacji krzyżowej jest definiowana w odwrotny sposób:
Niezależnie od tego, który zapis jest używany, zwróć uwagę, że w rzeczywistości :
Związek z filtrem najmniejszych kwadratów
Realizacja przyczynowego filtru Wienera wygląda bardzo podobnie do rozwiązania estymacji metodą najmniejszych kwadratów , z wyjątkiem dziedziny przetwarzania sygnału. Rozwiązanie metodą najmniejszych kwadratów dla macierzy wejściowej i wektora wyjściowego to
Filtr FIR Wienera jest powiązany z filtrem najmniejszych średnich kwadratów , ale minimalizacja kryterium błędu tego ostatniego nie opiera się na korelacjach krzyżowych lub autokorelacjach. Jego rozwiązanie jest zbieżne z rozwiązaniem filtrującym Wienera.
Złożone sygnały
W przypadku sygnałów złożonych wyprowadzenie zespolonego filtru Wienera jest wykonywane przez zminimalizowanie = . Obejmuje to obliczanie pochodnych cząstkowych w odniesieniu do części rzeczywistej i urojonej i wymaganie, aby oba były równe zeru.
Wynikowe równania Wienera-Hopfa to:
który można przepisać w postaci macierzy:
Zwróć uwagę, że:
Wektor współczynnika Wienera jest następnie obliczany jako:
Aplikacje
Filtr Wienera ma różnorodne zastosowania w przetwarzaniu sygnałów, przetwarzaniu obrazu, systemach sterowania i komunikacji cyfrowej. Aplikacje te ogólnie należą do jednej z czterech głównych kategorii:
Na przykład filtr Wienera może być używany w przetwarzaniu obrazu w celu usunięcia szumu z obrazu. Na przykład użycie funkcji Mathematica:
WienerFilter[image,2]
na pierwszym obrazie po prawej stronie tworzy filtrowany obraz poniżej.
Jest powszechnie używany do odszumiania sygnałów audio, zwłaszcza mowy, jako preprocesor przed rozpoznaniem mowy .
Historia
Filtr został zaproponowany przez Norbert Wienera w latach 1940, a opublikowane w 1949 r dyskretnych równoważnik pracy Wienera pochodzi niezależnie przez Andrey Kołmogorowa i opublikowane w 1941 Stąd teoria jest często nazywany Wienera-Kołmogorowa filtrowania teorii ( por kriging ). Filtr Wienera był pierwszym zaproponowanym pod względem statystycznym filtrem, a następnie stał się podstawą wielu innych, w tym filtru Kalmana .
Zobacz też
- Norbert Wiener
- Eberhard Hopf
- Dekonwolucja Wienera
- filtr najmniejszych średnich kwadratów
- podobieństwa między Wiener i LMS
- przewidywanie liniowe
- Estymator MMSE
- Filtr Kalmana
- uogólniony filtr Wienera
- dopasowany filtr
- Teoria pola informacyjnego
Bibliografia
- Thomas Kailath , Ali H. Sayed i Babak Hassibi , Linear Estimation, Prentice-Hall, NJ, 2000, ISBN 978-0-13-022464-4 .
- Wiener N: Interpolacja, ekstrapolacja i wygładzanie stacjonarnych szeregów czasowych ”, Report of the Services 19, Research Project DIC-6037 MIT, luty 1942
- Kołmogorow AN: „Sekwencje stacjonarne w przestrzeni Hilberta”, (po rosyjsku) Bull. Moskiewski Univ. 1941 tom 2 nr 6 1-40. Tłumaczenie angielskie w Kailath T. (red.) Liniowe oszacowanie metodą najmniejszych kwadratów Dowden, Hutchinson & Ross 1977
Zewnętrzne linki
- Funkcja Mathematica WienerFilter