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:

  1. Założenie: sygnał i (addytywny) szum są stacjonarnymi liniowymi procesami stochastycznymi o znanej charakterystyce widmowej lub znanej autokorelacji i korelacji krzyżowej
  2. Wymóg: filtr musi być fizycznie możliwy do zrealizowania / przyczynowy (z tego wymagania można zrezygnować, uzyskując rozwiązanie bezprzyczynowe)
  3. 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:

  1. 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 .
  2. Podziel przez i zapisz wynik jako częściową ekspansję ułamkową .
  3. Wybierz tylko te terminy w tym rozszerzeniu, które mają bieguny w LHP. Nazwij te warunki .
  4. Podziel przez . Wynikiem jest pożądana funkcja przenoszenia filtra .

Filtr Wienera o skończonej odpowiedzi impulsowej dla serii dyskretnych

Widok schematu blokowego filtra FIR Wienera dla serii dyskretnych. Sygnał wejściowy w [ n ] jest splatany z filtrem Wienera g [ n ], a wynik jest porównywany z sygnałem odniesienia s [ n ] w celu uzyskania błędu filtrowania e [ n ].

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:

Jeśli pochodna jest równa zeru, daje to:

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:

Wtedy macierz będzie zawierała ; to tylko różnica w notacji.

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.

Hałaśliwy obraz astronauty.
Hałaśliwy obraz astronauty po zastosowaniu filtra Wienera.

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ż

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