Podręcznik
3. Predykcja i kodery ADPCM
3.3. Metody sekwencyjne (materiał dodatkowy)
Współczynniki predykcji można obliczyć ze współczynników autokorelacji sygnału (wzory 24, 26). Aby oszacować wartości współczynników autokorelacji, trzeba wpierw zgromadzić pewną liczbę próbek sygnału. Oznacza to wprowadzenie opóźnienia, w kodowaniu mowy rzędu 10-30ms. Obliczone współczynniki trzeba ponadto przesłać do odbiornika, żeby tam uruchomić identyczny predyktor. Aby tego uniknąć, w koderach ADPCM oblicza się współczynniki predykcji z poprzednich, do tego obarczonych błędem kwantyzacji próbek sygnału ( na rys.15). Na tej samej zasadzie działa algorytm adaptacji kwantyzatora metodą „wstecz”.
Algorytm sekwencyjny aktualizuje, co próbkę n, wektor współczynników predykcji przechowywany w pamięci.
, gdzie T oznacza transpozycję. Predykcja jest obliczona jak we wzorze (20):
jest wektorem złożonym z p próbek sygnału poprzedzających próbkę bieżącą. Aktualizacja współczynników predykcji odbywa się przez dodanie niewielkiej poprawki:
![]() |
(27) |
Poprawka winna zmierzać w kierunku zmniejszenia mocy błędu predykcji . Na rys.17 pokazano proces aktualizacji predyktora o dwóch współczynnikach. W chwili n dysponujemy wektorem współczynników \mathbit{a}
. Kierunek wzrostu błędu predykcji pokazuje gradient
. Poprawka
winna zmierzać w przeciwną stronę:
.
Ponieważ , to gradient (wektor pochodnych) wynosi
![]() |
Poprawka powinna mieć przeciwny znak, natomiast długość skoku niech będzie regulowana współczynnikiem szybkości adaptacji b.
![]() |
Ostatecznie otrzymuje się dość prosty w stosowaniu wzór
![]() |
(28) |
Ta metoda adaptacji nazywana jest metodą stochastycznego gradientu. Według wzoru (28) aktualizuje się współczynniki predykcji – synchronicznie w nadajniku i odbiorniku ADPCM. Adaptacja sekwencyjna nie wymaga przesyłania współczynników predykcji do dekodera.
Rysunek 17 Metoda gradientowa adaptacji predyktora
Dobór szybkości adaptacji b nie jest sprawą łatwą. Za duża wartość współczynnika b prowadzi do niestabilności procesu adaptacji (zbyt duże kroki ). Wzór (28) pokazuje, ze wielkość poprawki zależy ponadto od mocy sygnału. Rozwiązaniem tego problemu jest metoda stochastycznego gradientu z normalizacją, w której współczynnik b jest odwrotnie proporcjonalny do estymaty mocy sygnału:
![]() |
(29) |
gdzie reguluje szybkość adaptacji a
zapobiega dzieleniu przez zero.
W ćwiczeniu „Kwantyzacja skalarna” zaimplementowano metodę stochastycznego gradientu bez normalizacji i z normalizacją.