Usuwanie zakłóceń w sygnale audio.

Transkrypt

Usuwanie zakłóceń w sygnale audio.
Ćwiczenie 3, 11 maja 2012, Usuwanie zakłóceń w sygnale audio.
1
Usuwanie zakłóceń w sygnale audio.
Krzysztof Mazur
1
Wprowadzenie
Celem ćwiczenia jest zapoznanie się z problemem usuwania zakłóceń w sygnałach audio, na przykładzie
sygnału mowy. Zakładamy, że zakłócenie jest dodane do sygnału mowy. Przykładem takiego zakłócenia
jest hałas występujący w miejscu rejestracji mowy przez mikrofon.
Na ćwiczeniu można stosować dowolne metody usuwania zakłóceń w sygnale mowy. W instrukcji tej
przestawiono kilka prostych struktur stosowanych do usunięcia zakłóceń.
2
2.1
Proste metody usuwania zakłóceń
Filtracja sygnału
Najprostszą metodą usunięcia zakłóceń w sygnale jest przefiltrowanie sygnału przez odpowiedni filtr.
Przykładowy schemat blokowy takiego rozwiązania dla dyskretnego filtru liniowego W (z −1 ) znajduje się
na rys. 1. Zakłócenie d(i) filtrowane jest przez pewien filtr liniowy H(z −1 ) i jest dodawane do sygnału
mowy m(i) tworząc sygnał y(i). Sygnał ten jest następnie filtrowany przez filtr W (z −1 ). Filtr ten powinien
przepuszczać użyteczny sygnał, a tłumić zakłócenie.
d(i)
?
H(z −1 )
m(i)
?+ y(i)
- k
+
- W (z −1 )
m̂(i)
-
Rysunek 1: Struktura układu filtracji sygnału.
2.2
Kompensacja zakłóceń
W przypadku, gdy zakłócenie jest mierzone można zastosować strukturę kompensacji zakłóceń (rys. 2).
W takim przypadku zakłócenie jest mierzone poprzez tor pomiarowy X(z −1 ), a następnie filtrowane przez
odpowiedni filtr W (z −1 ) i odjęte od zakłóconego sygnału mowy. W przypadku struktury kompensacyjnej
ważne jest by opóźnienie w torze kompensacji nie było większe niż opóźnienie w torze pierwotnym. Może
tak się stać, gdy tor X(z −1 ) zawiera opóźnienie. W przypadku, gdy opóźnienie sygnału mowy jest
akceptowalne, problem ten można wyeliminować przez sztuczne opóźnienie zakłóconego sygnału mowy
przez filtr z −k przed operacją odejmowania.
2.3
Predykcyjna kompensacja zakłóceń
W przypadku, gdy zakłócenie nie jest znane, w pewnych przypadkach można estymować je za pomocą
predyktora liniowego W (z −1 ) wykorzystującego wcześniejsze próbki zakłóconego sygnału mowy (rys. 3).
Ćwiczenie 3, 11 maja 2012, Usuwanie zakłóceń w sygnale audio.
2
d(i)
- X(z −1 )
- W (z −1 )
?
H(z −1 )
m(i)
?+ y(i)
- k
+
-
?− m̂(i)
- k
+
z −k
Rysunek 2: Struktura układu kompensacji zakłóceń.
d(i)
-
z −k
- W (z −1 )
?
H(z −1 )
m(i)
?+ y(i)
- k
+
?− m̂(i)
- k
+
Rysunek 3: Predykcyjna kompensacja zakłóceń.
3
Przydatna wiedza
Bardzo zalecane jest wcześniejsze zapoznanie się z następującymi zagadnieniami:
• projektowanie podstawowych filtrów cyfrowych: dolnoprzepustowy, górnoprzepustowy, pasmowoprzepustowy, pasmowozaporowy.
• projektowanie filtrów cyfrowych o pożądanej charakterystyce amplitudowej,
• filtracja Wienera,
• filtracja adaptacyjna,
• w przypadku implementacji w Matlab lub GNU Octave przydatna jest znajomość następujących
komend: butter, conv, cov, fft, filter, fir1, freqz, pwelch, sound, toeplitz, var,
wavread, wavwrite.
A
SNR
Stosunek sygnału do szumu dla sygnału oryginalnego m(i) oraz etymowanego m̂(i) można estymować za
pomocą:
!
PN
2
m
(i)
i=0
ˆ RdB = 10log10 P
SN
N
2
i=0 (m(i) − m̂(i))