2. Kwantyzacja skalarna i kodery PCM

2.4. Kwantyzator nierównomierny i standard PCM G.711

Nierównomierny rozkład poziomów kwantyzacji pozwala na osiągnięcie lepszych parametrów przy tej samej liczbie poziomów kwantyzacji. W szczególności, można tak rozłożyć poziomy, aby osiągnąć maksymalną wartość SNRq dla danego sygnału. W telefonii ważniejszy jest jednak inny cel: utrzymać akceptowalną wartość SNRq niezależnie od mocy sygnału mowy. Ten cel można osiągnąć zagęszczając siatkę poziomów dla próbek o małej amplitudzie i rozszerzając ją dla próbek o dużej amplitudzie (rys.7). W ten sposób przy kwantowaniu sygnałów cichych powstaje szum kwantyzacji o małej mocy a przy kwantowaniu sygnałów głośniejszych – szum o większej mocy, zaś stosunek mocy sygnału do szumu kwantyzacji jest niemal stały: {SNR}_q=\frac{\sigma_x^2}{\sigma_e^2}\approx const.  Taki rozkład poziomów nazywamy rozkładem logarytmicznym. Zasada logarytmiczna nie może być utrzymana dla bardzo cichych sygnałów, gdyż nie jest możliwe ciągłe zagęszczanie siatki poziomów z uwagi na ich ograniczoną liczbę.

 

Rysunek 7 Nierównomierny rozkład poziomów kwantyzacji

Kwantyzator nierównomierny może być opisany przez podanie wartości wszystkich poziomów. Innym sposobem opisu jest podanie charakterystyki kompresji – funkcji przekształcającej nierównomierny rozkład poziomów na rozkład równomierny. Dla kwantyzatora o logarytmicznym rozkładzie poziomów kwantyzacji jest to zmodyfikowana funkcja logarytmiczna, która dla wartości argumentu bliskiego zeru staje się funkcją liniową. 
Kwantyzator logarytmiczny zastosowano w najstarszym lecz ciągle popularnym standardzie kodowania sygnału telefonicznego Pulse Code Modulation (PCM) G.711 [4]. Warto zapoznać się z podstawowymi parametrami tego kodera: 

  • Pasmo sygnału mowy: 300-3400 Hz
  • Częstotliwość próbkowania 8 kHz
  • Liczba poziomów kwantyzacji: 256
  • Liczba bitów na próbkę: 8
  • Przepływność binarna: 8000 próbek/s  razy 8 bitów/próbkę= 64000 bit/s
  • Rozkład poziomów kwantyzacji: logarytmiczny typu A lub typu m.

Istnieją dwa warianty standardu: z charakterystyką kompresji typu A (obowiązuje np. w Europie) i typu m (obowiązuje np. w USA).  Jeśli założymy, że zakres pracy kwantyzatora rozciąga się od (-1) do (+1), to odwzorowanie nierównomiernej siatki poziomów na siatkę równomierną przedstawia się następująco:

y=sgn{(}x)\frac{ln{(}1+\mu|x|)}{ln{(}1+\mu)} (12)
lub  
y=\left\{\begin{matrix}\frac{Ax}{1+ln{(}A)},\ \circ \ gdy\ (13)

Wzór (12) opisuje charakterystykę kompresji typu m (wartość m=255), a (13)  typu A (wartość A=87.6). Dla wartości |x|\ll1 oba odwzorowania stają się liniowe co oznacza, że rozkład poziomów kwantyzacji staje się równomierny. Na rys.8 pokazano zależność SNRq od mocy sygnału wejściowego dla kwantyzatora równomiernego, oraz kwantyzatora nierównomiernego z charakterystyką typu A i typu m.  Wyniki otrzymano dla sztucznego sygnału o eksponencjalnym rozkładzie wartości próbek, dobrze „dopasowanym” do pseudologarytmicznego rozkładu poziomów kwantyzacji. Z tego względu kwantyzatory nierównomierne wykazały większą wartość SNR niż kwantyzator równomierny przy pełnym wysterowaniu. Wykonując symulacje dla sygnału sinusoidalnego (ćwiczenie „Kwantyzacja skalarna” opisane w Module 4) zauważymy, że lepsze wyniki zapewnia kwantyzator równomierny.  Najważniejsze jest jednak to, że kwantyzator pseudologarytmiczny zapewnia stosunkowo wysoką wartość SNR zarówno dla sygnału głośnego jak i cichego. Kwantyzator równomierny działa dobrze jedynie przy pełnym wysterowaniu, niemal na granicy przesterowania. 

 

Rysunek 8 SNR w funkcji mocy kwantowanego sygnału dla kwantyzatora równomiernego (a), pseudologarytmicznego typu A (b) i typu m (c)

Wartości SNR pokazane na rys.8 odnoszą się jedynie do szumu kwantyzacji, nie uwzględnia się tu szumu w kanale transmisyjnym. Transmituje się b bitów na każdą próbkę sygnału (w standardzie G.711  8 bitów).  Szum w kanale powoduje przekłamania bitów (stopa błędów Pe).  W przypadku przekłamania w odbiorniku zostaje odtworzona próbka o błędnej wartości amplitudy, co może zostać odebrane jako trzask i wpłynąć na jakość odebranego sygnału mowy. Ze względu na nierównomierny rozkład poziomów kwantyzacji, analiza wpływu szumu w kanale na sygnał mowy przesyłany wg standardu G.711 nie jest prosta. Dokonamy zatem analizy uproszczonego problemu. Załóżmy, że:

  • Rozkład poziomów kwantyzacji jest równomierny
  • Zakres pracy kwantyzatora rozciąga się od  (-1) do (+1). 
  • Poziomy kwantyzacji są zakodowane z wykorzystaniem zwykłego kodu binarnego (słowa kodowe od 000…0  do 111…1  - Rys.9.  
  • Stopa błędów binarnych wynosi Pe

 

Rysunek 9 Kwantyzacja równomierna ze zwykłym kodem binarnym

Załóżmy, że znamy moc sygnału \sigma_x^2=\int{x^2p\left(x\right)dx}.  Moc szumu kwantyzacji podano we wzorze (9): \sigma_e^2=\frac{\delta^2}{12}=\frac{1}{3L^2}
Słowo kodowe opisujące poziom kwantyzacji składa się z b bitów: 
bit_{b-1}\circ\cdots\circ bit_2\circ bit_1\circ bit_0
Przekłamanie najmniej znaczącego bitu (bit0) oznacza przejście do sąsiedniego poziomu kwantyzacji (błąd
d, przekłamanie kolejnych bitów jest przyczyną następujących błędów:
\pm2^{(b-1)}\delta\circ\ \circ\cdots\circ\ \circ\pm4\delta\circ\pm2\delta\circ\pm\delta
Związane z tym moce sygnału błędu otrzymamy, podnosząc wartości błędu do kwadratu:
2^{2(b-1)}\delta^2\circ\ \circ\cdots\circ\ \circ16\delta^2\circ4\delta^2\circ\delta^2
Każdy z tych błędów może wystąpić niezależnie z prawdopodobieństwem Pe. Średnią noc błędu wywołanego przekłamaniami bitów obliczymy, dodając moce poszczególnych błędów, pomnożone przez prawdopodobieństwo ich wystąpienia (Pe):

\sigma_n^2=P_eδ^2[1+4+16+⋯+2^{2(b-1)}]=P_eδ^2\frac{4^b-1}{4-1}≅\\\circ\cong P_eδ^2\frac {4^b}{3}=P_eδ^2\frac{L^2}{3}=P_e\frac4{L^2}\frac{L^2}3=\frac43P_e (14)

Wykorzystaliśmy tu wzór na sumę wyrazów ciągu geometrycznego. Wynik nie jest zaskakujący: moc błędu wynikającego z przekłamań bitów jest proporcjonalna do prawdopodobieństwa przekłamania. Ostatecznie na jakość sygnału wpływa zarówno szum kwantyzacji jak i błąd wynikający z przekłamań. 

{SNR}_0=\frac{\sigma_x^2}{\sigma_e^2+\sigma_n^2}=\frac{\sigma_x^2}{\frac{1}{3L^2}+\frac{4}{3}P_e} (15)

Prawdopodobieństwo przekłamań maleje wraz ze wzrostem SNR na wyjściu kanału. Gdybyśmy bity transmitowali w kodzie bipolarnym, to stopę błędów możemy odczytać ze wzoru (45), Moduł 2. Mając dobry kanał transmisyjny (wysoka wartość SNR na jego wyjściu), błędy związane z przekłamaniami możemy pominąć. Jakość sygnału mowy będzie związana wyłącznie z szumem kwantyzacji, a ten zależy od liczby bitów na próbkę b  (zasada 6 dB/bit). Pokazano to na rys. 10. 
Jeśli kanał jest niskiej jakości (niska wartość SNR na jego wyjściu), wówczas dominującym zakłóceniem jest błąd wynikający z przekłamań transmitowanych bitów. Wówczas jakość mowy (SNR0) maleje wraz ze zmniejszaniem się SNR. Co więcej, stosując wysokiej jakości kwantyzator (duża liczba bitów na próbkę) narażamy się bardziej na wpływ szumu w kanale. Ma to związek z szybkością transmisji – szybka transmisja jest bardziej wrażliwa na szum w kanale. Np. stosując wspomniany kod bipolarny, szybsza transmisja (większa wartość b) oznacza krótszy czas trwania symbolu transmisyjnego (T), co zgodnie ze wzorem (45), Moduł 2, oznacza większe prawdopodobieństwo przekłamania i większy spadek jakości mowy (SNR0) – rys.10. 

 


Rysunek 10 Jakość sygnału mowy w transmisji PCM (SNR0) w funkcji SNR na wyjściu kanału transmisyjnego