Podręcznik
3. Predykcja i kodery ADPCM
3.5. Interpretacja predykcji w dziedzinie częstotliwości
Jeśli w schemacie kodera ADPCM (rys.15) pominiemy szum kwantyzacji (podstawiając ) , wówczas na wejściu predyktora pojawi się sygnał
i schemat nadajnika będzie można przekształcić do postaci pokazanej na rys.20. Predyktor, opisany wzorem (20) jest w istocie filtrem cyfrowym o skończonej odpowiedzi impulsowej {<span class="equation" style="width:100%;">
</span>} – patrz p.7.4, Moduł1. Jeżeli współczynniki predykcji są przez jakiś czas stałe (tak jest w koderach ze „skokową” adaptacją predyktora, np. co 10-30 ms), to do opisu filtru można wykorzystać transformatę Zet. Transmitancja filtru predyktora wówczas wynosi
.
Rysunek 20 Koder i dekoder ADPCM jako filtry cyfrowe
Koder ADPCM, przetwarzający sygnał wejściowy na sygnał błędu predykcji, ma transmitancję
![]() |
(31) |
Filtr A(z) jest nazywany filtrem inwersyjnym.
Dekoder też można opisać w dziedzinie transformaty Zet: . Po przekształceniu
otrzymujemy transmitancję filtru reprezentującego dekoder ADPCM:
![]() |
(32) |
Filtr H(z) jest nazywany filtrem syntezy predykcyjnej. Przetwarza on sygnał błędu predykcji na sygnał mowy.
Filtr A(z) jest filtrem o skończonej odpowiedzi impulsowej, posiadającym p zer. Filtr H(z) jest filtrem o nieskończonej odpowiedzi impulsowej, posiadającym p biegunów w tych samych miejscach, gdzie filtr A(z) ma zera.
Podstawiając (
jest częstotliwością próbkowania) otrzymamy charakterystyki częstotliwościowe obu filtrów. Na rys.21 pokazano widma amplitudy sygnałów X(f) i E(f) i charakterystyki częstotliwościowe filtrów A(f) i H(f) otrzymane dla fragmentu mowy przetwarzanego w układzie z rys.20. Liczba współczynników predykcji wynosi p=6 i tyle jest zer filtru A(z) i biegunów H(z). Charakterystyki częstotliwościowe podano w decybelach, w zakresie częstotliwości od zera do połowy częstotliwości próbkowania. W związku z tym obserwujemy wpływ jedynie 3 zer na charakterystykę filtru A(z) – pozostałe 3 zera tworzą niewidoczne na wykresach lustrzane odbicie. Bieguny H(z) leżą w tych samych miejscach co zera A(z), ich położenie w obrębie koła o promieniu jednostkowym gwarantuje stabilność filtru H(z). Minimom charakterystyki częstotliwościowej A(f) odpowiadają maksima charakterystyki H(f). Porównanie widma sygnału X(f) i charakterystyki filtru H(f) prowadzi do wniosku, że filtr syntezy predykcyjnej H(f) jest dobrym modelem widma mowy, tym lepszym, im więcej mamy współczynników predykcji. Zauważmy, że charakterystyka H(f) może mieć co najwyżej p/2 maksimów w zakresie częstotliwości od zera do połowy częstotliwości próbkowania. Im więcej współczynników predykcji tym lepsze dopasowanie H(f) do widma sygnału. Najczęściej wystarcza p=10 współczynników predykcji.
Jak wytłumaczyć to dopasowanie charakterystyki H(f) do widma mowy? Zauważmy, że sygnał mowy jest przepuszczany przez filtr inwersyjny A(z), na wyjściu którego powstaje sygnał błędu predykcji. Współczynniki predykcji obliczane są w taki sposób, aby zminimalizować energię sygnału błędu predykcji. W związku z tym minima charakterystyki A(f) muszą pojawić się na tych częstotliwościach, na których sygnał mowy ma najwięcej energii (czyli na częstotliwościach formantowych). Minima A(f) to maksima H(f), stąd podobieństwo charakterystyki H(f) do widma mowy. Po wytłumieniu rezonansów formantowych otrzymuje się sygnał błędu predykcji o płaskiej obwiedni widma E(f). Prążkowy charakter tego widma wynika z quasiperiodycznego charakteru mowy dźwięcznej. Odległość prążków widmowych jest równa częstotliwości drgania strun głosowych.
Interpretacja częstotliwościowa liniowej predykcji przydaje się w koderach typu CELP i w tzw. wokoderach. Wykorzystuje się tam filtr H(z) jako model widma mowy, a pobudzenie tego filtru wytwarza się w generatorze (wokodery) lub poddaje silnej kompresji (CELP). Filtr H(z) odtwarza rezonanse formantowe, to on odpowiada za to, czy słyszymy głoskę „a” czy np. „e”.
Rysunek 21 Widmo amplitudy fragmentu sygnału mowy X(f), i sygnału błędu predykcji E(f), charakterystyki częstotliwościowe filtrów A(f) i H(f)) oraz zera filtru A(z)