|
1. UvodADPCM (Adaptive Differential Pulse Code Modulation)
je tehnika komprimiranja digitalnih signala bez gubitka kvalitete. Standardizirani
algoritmi ADPCM odnose se uglavnom na komprimiranje govornog signala, no ADPCM tehnika je
neovisna o vrsti signala, tako da je upotrebljiva u komprimiranju digitalnog
zapisa glazbe, slike ili bilo kojeg drugog digitalnog signala. Kako se ADPCM osniva na
tehnici PCM (Pulse Code Modulation - eng. pulsno-kodna modulacija)
u nastavku slijedi kratki pregled PCM.
2. PCMTermin PCM (Pulse Code Modulation) zapravo opisuje postupak A/D konverzije.
Analogni signal se otipkava frekvencijom najmanje dva puta većom od najveće
frekvencije zastupljene u signalu (Shannonov teorem). Tako dobiveni signal se naziva
pulsno amplitudno modulirani (PAM) signal. Tako dobiveni
signal je vremenski diskretan, no amplituda takvog signala može poprimiti
bilo koju vrijednost. Budući da zbog ograničene veličine riječi (registara, memorije...)
u digitalnim sustavima nije moguće prikazati vrijednosti beskonačne točnosti
(beskonačno decimala), PAM signal treba kvantizirati (zaokružiti).
Kvantiziranje se provodi tako da se stvarne amplitude uzorka zaokružuju na
srednju vrijednost intervala u kojem se taj uzorak nalazi (interval kvantizacije).
Budući da se postupkom kvantizacije nepovratno gubi dio informacije o amplitudi, javlja se pogreška kvantizacije (šum kvantizacije, e(n)). Očito je da će pogreška biti najveća, ako je amplituda uzorka blizu granica intervala kvantizacije. Kako ne postoji predvidljiva veza između grešaka kvantizacije u susjednim intervalima, pogreška kvantizacije se može predstaviti kao slučajni signal jednolike distribucije. Snaga šuma kvantizacije može se izračunati kao srednja vrijednost kvadrata šuma kvantizacije. Uz pretpostavku sinusnog signala amplitude Ux, na sličan način se može izračunati snaga signala: Ako je kvantizacija linearna, korak kvantizacije se može izračunati kao: gdje je n broj bitova kvantizacije. Sada se može izračunati omjer SIGNAL/ŠUM (SNR) koji je bitan parametar kvalitete diskretiziranja. SNR se može povećati na dva bitno različita načina:
Iskustva u istraživanju ljudskog sluha pokazuju da je uho puno osjetljivije na
pogreške kod malih amplituda, a upravo su velike pogreške kod malih amplituda (mali SNR) izražene
kod linearne kvantizacije.
Slike prikazuju signale različitih amplituda (0.03 i 0.9), frekvencije 500Hz, diskretizirane frekvencijom 44100Hz i kvantizirane na 8 bita. Kod signala manje amplitude vidi se značajno odstupanje od valnog oblika sinusoide, što je posebno uočljivo u spektru malog signala kao prisustvo viših harmonika (spektralno smeće :)). |
||
Plava krivulja: kontinuirani signal Crvena krivulja: kvantiziran signal |
|||
Plava krivulja: 8-bitna kvantizacija Crvena krivulja: 16-bitna kvantizacija |
|||
Empirijski se došlo do zaključka da je za zadovoljavajuću kvalitetu govornog signala potrebno male amplitude kvantizirati korakom kvantizacije koji odgovara minimalno 12-bitnoj riječi. Finija kvantizacija linearnim kvantizatorom vodi na velik broj bitova potrebnih za pohranu signala jer se tada i velike amplitude kvantiziraju malim korakom kvantizacije, a velik broj bitova povlači probleme s propusnom moći prijenosnih medija (bandwith). Nelinearnom kvantizacijom može se postići da se male amplitude kvantiziraju s više nivoa kvantizacije (finije), a velike s manje nivoa kvantizacije (grublje), čime se postiže manja kvantizacijska pogreška za male amplitude uz manje zahtijeve za propusnom moći. Nelinearna kvantizacija može se izvesti:
U telekomunikacijskim sustavima standardiziran je logaritamski kvantizator, a logaritamska krivulja je odabrana zbog logaritamske karakteristike osjetljivosti ljudskog uha. Standardizirana su dva načina logaritamske kvantizacije. To su:
|
A-law | µ-law | ||
A = 86.7 |
µ = 255 |
|
Obje krivulje su vrlo slične, a slika lijevo prikazuje A-law krivulju. Po preporuci ITU-IT G.711 oba kvadranta se aproksimiraju pomoću 8 linearnih segmenata sa po 16 kvantizacijskih razina po segmentu. Budući da je širina prvog segmenta 1/128 pune ulazne dinamike, a širina posljednjeg segmenta je 1/2 pune ulazne dinamike, očito je da se male amplitude puno gušće kvantiziraju. |
||
Osam segmenata po kvadrantu, sa šesnaest kvantizacijskih razina po segmentu rezultiraju sa 256 razina za punu dinamiku signala što se može prikazati s osam bita. Međutim, za dobivanje jednakog SNR A-law kvantizatoru je potrebno 8 bita, a linearnom kvantizatoru 12 bita. |
|||
Sljedeća slika prikazuje primjer prvih 12ms sinusoidnog signala f=50Hz, kodiranog A-law postupkom. |
Kodna riječ po G.711 |
| ||
ITU-IT G.711 propisuje širinu pojasa govornog signala od 4000Hz (300Hz - 3400Hz). Frekvencija uzorkovanja je određena kao dvostruka vrijednost širine pojasa, pa iznosi 8000Hz (dodani su pojasevi koji olakšavaju izvedbu antialiasing filtara). Množenjem 8000Hz s 8-bita po uzorku (A-law ili µ-law), dobije se zahtjevana propusna moć kanala za prijenos govora od 64 kbit/s. |