Promotor: dr Marek Pawełczyk Marcin Picz
Stosowane metody: - Grupa metod odejmowania widm (subtractive( subtractive-typetype algorithms); - Filtracja Wienera; - Neural networks & Fuzzy logic (sieci neuronowe & logika rozmyta); - Filtracja Kalmana;
Zastosowania: - poprawa jakości mowy oraz jej zrozumiałości w multimediach,, komunikacji bezprzewodowej; - komunikacja pomiędzy pilotami samolotów a wieżami kontroli ruchu lotniczego; - aparaty słuchowe; - rozpoznawanie mowy;
Metody SS (ogólny zarys): (analiza-> > okienkowanie + fft)
- wykorzystanie okna Hamminga by uniknąć zniekształceń poprzez stosowanie FFT
2 2 Y ( k ) = S ( k ) + D ( k ) 2 mamy: y(n)= s(n) ) + d(n) z tego: Y(k) ^2 S(k) ^2 + D(k) ^2 gdzie: Y,S,D to DFT y,s,d czyli: S(k) ^2 Y(k) ^2 - D(k) ^2 w związku z możliwością S(k) ^2 < 0 przyjmuje się: S(k) ^2 = S(k) ^2 jeżeli S(k) ^2 > 0 lub 0 jeżeli S(k) ^2 < 0 Stąd szukane: s(n) ) = IDFT( S(k) )
Można to również zapisać jako: S(k)=H(k)*Y(k) gdzie H(k) ) jest funkcją wzmocnienia zapisaną: i dalej: H ( k) = 1 D( k) Y( k) 2 2 H( k) = Y( k) 2 D( k) Y( k) 2 2 A z tego podobnie jak wcześniej: s(n) ) = IDFT( S(k) ) Oczywiście nie znamy widma szumu D(k).
Sposoby wyznaczania widma szumu: - Metody opierające się na estymacji widma szumu w chwilach nieaktywności sygnału pożądanego czyli mowy( wykorzystuje się poziomy energii ramek, statystyczne właściwości oraz właściwości widma). Metody te wymagają zaprojektowania detektorów aktywności mowy(vad). Najczęściej wektor wybranych parametrów zostaje obliczony dla d ramki sygnału wejściowego. Następnie porównuje się różnice w wartościach ch tych parametrów- jeżeli porównujemy wartości parametrów ramki sygnału wejściowego oraz wstępnie ustalonej wartości progowej to jest to tak zwany algorytm całkowy, który pozwala wykryć całe przedziały aktywności i mowy; jeżeli natomiast porównujemy różnice wartości parametrów ramek sąsiednich to wtedy jest mamy styczność z tak zwanym algorytmem różnicowym, który pozwala wykryć jedynie granice aktywności mowy.
Na podstawie tak wyznaczonych części (ramek) sygnału wejściowego,, w których występuje jedynie szum dokonujemy estymacji widma szumu. - Metody nie wymagające detekcji występowania sygnału użytecznego w sygnale wejściowym. Między innymi wykorzystują fakt, iż zagłębienia (doliny) widma częstotliwościowego leżą na poziomie szumu i mogą być wykorzystane do estymacji widma niepożądanego zakłócenia. Ponadto niektóre metody wyznaczają estymatę widma szumu na podstawie stwierdzenia, że nawet podczas trwania sekcji mowy w sygnale wejściowym nie wszystkie pasma p częstotliwości są zajęte przez mowę i przez większość czasu energia na tych częstotliwościach jest na poziomie szumu.
- muzyczny hałas Jest oczywiste, że efektywność procesu usuwania szumu jest zależne od dokładności otrzymanej estymaty tego szumu. Jednakże, ponieważ widmo szumu nie może być uzyskane bezpośrednio jesteśmy zmuszeni do użycia wyznaczonej estymaty.. W związku z tym występują różnice pomiędzy obecnym w sygnale szumem a widmem otrzymanym. Odjęcie tegoż widma prowadzi do otrzymania w sygnale oczyszczonym zakłóceń o nienaturalnym brzmieniu. Zakłócenia te zwane muzycznym hałasem (szumem), niejednokrotnie są bardziej dokuczliwe dla słuchacza aniżeli szum jaki był zawarty w sygnale wejściowym.
Spektogram przedstawiający wynik działania metody SS: czysty (góra), z dodanym szumem (po środku), oczyszczony (u dołu)
- Ponadto kolejne zakłócenia mają źródło w: S(k) ^2 Y(k) ^2 - D(k) ^2 w związku z możliwością S(k) ^2 < 0 przyjmuje się: S(k) ^2 = S(k) ^2 jeżeli S(k) ^2 > 0 lub 0 jeżeli S(k) ^2 < 0 lub abs( S(k) ^2) - Kolenym źródłem zakłóceń w otrzymanym sygnale jest faza.
Filtracja Wienera: Iteracyjna filtracja Wienera konstruuje optymalny (optymalny( w sensie minimalizacji błędu średniokwadratowego pomiędzy estymatą sygnału użytecznego a rzeczywistym sygnałem użytecznym zawartym w zaszumionym sygnale wejściowym ) liniowy filtr używając estymat zarówno widma mowy jak i widma szumu. Widmo szumu jest estymowane w czasie nieaktywności mowy (podobnie jak w SS), natomiast widmo mowy jest estymowane iteracyjnie w każdej ramce, zaczynając od zaszumionego sygnału wejściowego oraz używając wyjścia z filtru Wienera by otrzymać ulepszoną estymate.
Algorytm oraz schemat blokowy iteracyjnej metody Wienera:
gdzie:
Odmiany metody SS algorytm zaproponowany przez Ephraim & Malah: Podobnie jak filtracja Wienera ten algorytm minimalizuje błąd średniokwadratowy. Metoda to wyznacza funkcję wzmocnienia bazującej na znanym a priori oraz a posteriori współczynniku stosunku mocy sygnału użytecznego w zadanym paśmie częstotliwości do mocy szumów w tym paśmie (czyli SNR). Poniższe równania opisują tą metodę:
Gdzie jest znanym a priori SNR-em który jest wyznaczany z: gdzie z kolei i jest numerem ramki natomiast P(x)=x jeżeli x>=0 lub P(x)=0 jeżeli x<0. to znany a posteriori SNR. Funkcja F ma następującą postać: gdzie I0 oraz I1 to zerowego i pierwszego rzędu funkcje Bessela.
Implementacja metody SS: - Podział danych na ramki, które następnie są kolejno analizowane; potraktowanie danych oknem Hamminga.. Okna zachodzą na siebie w 50%, długość okna jeżeli chodzi o czas to 0.03s; - FFT danych (długość FFT zależna od rozmiaru okna-długości kolumny); - Element decyzyjny, który dzieli ramki danych na zawierające interesujące nas dane oraz na ramki zawierające szum. Elementem decyzyjnym jest VAD (voice( activity detector), który bazuje na modelu statystycznym; - Jeżeli ramka zakwalifikowana do szumu to następuje uaktualnienie estymaty szumu oraz odjecie szumu od ramki danych; - Jeżeli ramka zakwalifikowana do ramek zawierających mowę to następuje odjęcie estymaty szumu. Jakość działania tej metody zależy oczywiście od jakości VADA oraz estymaty szumu.
Wyniki działania metody: (próbka nr1 o mniejszym poziomie szumu)
Wyniki działania metody: (próbka nr2 o większym poziomie szumu):
Opis metody: Podobnie jak poprzednio sygnał wejściowy składa się z: Szukany sygnał użyteczny można otrzymać z: gdzie: b,e to początek i koniec rozpatrywanego przedziału częstotliwości oraz
Alfa liczy się z: oraz SNR:
Delta natomiast jest współczynnikiem którego wartość jest zależna a od częstotliwości. W moim przypadku (poniżej przedstawione są wyniki i działania metody dla takich wartości delty): - równa 1 dla częstotliwości poniżej 3kHz; - równa 2.5 dla częstotliwości poniżej fs/2-2khz; - równa 1.5 dla częstotliwości pozostałych. Długość czasowa okna została ustalona jak poprzednio na 0.03s. Długość FFT zależna jest od długości próbki i częstotliwości próbkowania (równa długości kolumny macierzy do jakiej są upakowane dane wejściowe). Dane są potraktowane oknem Hamminga,, które zachodzą na siebie o 50% długości okna.
Wyniki działania metody: (próbka nr1 o mniejszym poziomie szumu):
Spektogramy:
Wyniki działania metody: (próbka nr2 o większym poziomie szumu):
Spektogram:
Zastosowany VAD (voice( activity detector). VAD ten oparty jest na modelu statystycznym. Tworzy on wartość progową, p za pomocą której określana jest decyzja, czy mowa jest obecna w aktualnie przerabianej ramce danych czy też nie. Opis matematyczny VADa: przy czym eta to wartość progowa wyznaczona na podstawie pierwszego ego okna danych (szumu).
Wynik działania zastosowanego VADa (próbka nr1 o mniejszym poziomie szumu):
Wynik działania zastosowanego VADa (próbka nr2 o większym poziomie szumu):
Zmodyfikowana SS: Metoda ta polega na wyznaczeniu estymaty szumu, lecz bez członu decyzyjnego jakim jest detektor mowy/szumu. Ogólny zarys metody: Wyniki usuwania szumu uzyskane przy pomoce tej metody są jednak dużo gorsze aniżeli oczekiwane.
Usprawnienia działania VAD a: - Zastosowanie kilku stopni decyzyjnych zamiast jednego; (slajd 32) - Kolejne stopnie decyzyjne detektora usprawniają decyzje główną podjętą w pierwszym stopniu. Ogólna budowa: - Pierwszy stopień decyzyjny - podejmuje główna decyzję; - Drugi stopień decyzyjny - likwiduje sekwencje niemożliwe. Przykładowo: 11011 zastępuję przez 11111. gdzie: 1 - szum; 0 - mowa - Trzeci stopień decyzyjny - zapobiega ucinaniu wyrazów (skracaniu).
Porównianie wyników po usprawnieniach VAD a: : (próbka o niskim poziomie szumu) Decyzje przed usprawnieniami:
Porównianie wyników po usprawnieniach VAD a: : (próbka o niskim poziomie szumu) Decyzje po usprawnieniach:
Porównianie wyników po usprawnieniach VAD a: : (próbka o wysokim poziomie szumu) Decyzje przed i po usprawnieniach:
Testowane algorytmy: Wyniki działania metody SS zmodyfikowanej: (próbka o niższym m poziomie szumu)
Testowane algorytmy: Wyniki działania metody SS zmodyfikowanej: (próbka o niższym m poziomie szumu)
Testowane algorytmy: : zmodyfikowanej SS oraz metody Epriahm & Malah (slajd 18). - Dane wejściowe podawane do obróbki przez metodę zmodyfikowaną; - Wyjściowe dane z metody zmodyfikowanej podawane jako wejście dla metody Epriahm & Malah. : zmodyfikowanej SS oraz metody Multiband SS (slajd 24 ). - Dane wejściowe podawane do obróbki przez metodę zmodyfikowaną; - Wyjściowe dane z metody zmodyfikowanej podawane jako wejście dla metody Multiband SS. Obie metody połączone pracują z usprawnionym VAD em.
Testowane algorytmy: wyniki metod połączonych:
Dalsze plany: Na podstawie stworzonej bazy próbek zanieczyszczonych w różny sposób (za pomocą białego szumu, różowego szumu, szumu pochodzącego z wnętrza jadącego samochodu, szumu z fabryki, szumu samolotu f16), oraz na podstawie przetestowanych algorytmów stworzenie programu edukacyjnego w celu przedstawienia jakości działania różnych metod.
To wszystko. Dziękuję za uwagę.