03.08.2013 Views

Capitolo 2 Codifica del segnale vocale - InfoCom

Capitolo 2 Codifica del segnale vocale - InfoCom

Capitolo 2 Codifica del segnale vocale - InfoCom

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Capitolo</strong> 2<br />

<strong>Codifica</strong> <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong><br />

Contenuto<br />

2.1 Rappresentazione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> in forma numerica<br />

Il <strong>segnale</strong> <strong>vocale</strong> é il <strong>segnale</strong> analogico convogliato dalla variazione temporale <strong>del</strong>la pressione acustica generata da un<br />

parlatore. Si assume che le principali caratteristiche <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> siano note al lettore, cosi’ come le principali<br />

tecniche di codifica. Tuttavia, tali aspetti saranno qui richiamati per completezza.<br />

Il <strong>segnale</strong> <strong>vocale</strong>, come altri segnali di interesse nelle comunicazioni, è originariamente definito in un dominio<br />

e codominio continui. Supponendo che il <strong>segnale</strong> <strong>vocale</strong> x(t) presenti caratteristiche di limitazione in banda nella<br />

banda [−w, w], esso è perfettamente ricostruibile a partire dalla conoscenza dei suoi campioni estratti a passo di<br />

campionamento 1/2w. La discretizzazione <strong>del</strong> dominio <strong>del</strong> <strong>segnale</strong> pertanto non comporta perdita di informazione.<br />

Ciascun campione xn rappresenta un’istanza di una variabile aleatoria analogica X, e può essere rappresentato<br />

utilizzando un codominio discreto ˜X unicamente a patto di tollerare una perdita di informazione irreversibile sul<br />

<strong>segnale</strong> originario. In altre parole, una volta rappresentata la variabile aleatoria continua originale in un dominio<br />

quantizzato, essa sarà ricostruibile con una distorsione residua. Per una fissata misura di distorsione d(x, ˜x), si<br />

dice Rate-Distortion function R(D) il minimo numero di bit di informazione necessari per rappresentare la variabile<br />

aleatoria X con una distorsione media inferiore o al piú uguale a D, ovvero E {d(x, ˜x)} ≤D. É interessante<br />

osservare che, per funzione di distorsione quadratica d(x, ˜x) =(x − ˜x) 2 , a paritá di varianza σ 2 x la variabile aleatoria<br />

piú costosa da codificare é la variabile aleatoria Gaussiana, per la quale si ha Rg(D) = 1<br />

2 log2( σ2 x<br />

D ) per D ≤ σ2 x e<br />

Rg(D) =0per D ≥ σ2 x . Si supponga dunque di tollerare una perdita di informazione dovuta alla quantizzazione<br />

dei valori di ampiezza <strong>del</strong> <strong>segnale</strong> da rappresentare. Lo schema completo di campionamento e ricostruzione2.1<strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> é rappresentato in Fig.2.5.<br />

2.1Si osservi che, laddove il teorema <strong>del</strong> campionamento richiederebbe una ricostruzione mediante un filtro passabasso ideale, uno schema<br />

operativo tipicamente realizza la ricostruzione mediante la cascata di un convertitore digitale analogico a tenuta, approssimante un filtro con<br />

risposta impulsiva rettangolare, seguito da un filtro passabasso con enfasi alle alte frequenze.<br />

3


4 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

Rate Distortion function<br />

Nel contesto <strong>del</strong>la Teoria <strong>del</strong>l’informazione, la Rate distortion function si definisce come la minima informazione<br />

mutua media fra X e la sua rappresentazione ˜X = Q(X), sotto il vincolo che la distorsione media sia inferiore o<br />

al piú uguale a D, ovvero<br />

R(D) def<br />

= min<br />

Q, E{d(x,˜x)}≤D I(X, ˜X) =H(X) − H(X| ˜X)<br />

dove H(X) ha il significato di entropia nel caso di variabile aleatoria X discreta e di entropia differenziale nel<br />

caso di variabile aleatoria X continua. Per funzione di distorsione quadratica d(x, ˜x) =(x− ˜x) 2 , la rate distortion<br />

function di una variabile aleatoria Gaussiana di varianza σ2é data da:<br />

⎧<br />

⎪⎨ 1<br />

Rg(D) = 2<br />

⎪⎩<br />

log2( σ2 x<br />

D ) D ≤ σ2 x<br />

0 D ≥ σ 2 x<br />

La Rg(D) rappresenta un upper-bound per la R(D) di una v.a. di varianza σ2 . D’altro canto, é possibile derivare<br />

anche lo Shannon Lower Bound<br />

R(D) ≥ H(X) − 1<br />

2 log2 (2πeD)<br />

Lo studio puó essere esteso al caso di N v.a. Gaussiane indipendenti di varianza σ2 n,n=0,...N− 1. In tal caso,<br />

la R(D) congiunta assume la forma:<br />

Rg(θ) = <br />

<br />

max 0, 1<br />

2 log2( σ2 n<br />

θ )<br />

<br />

n=0,N−1<br />

Dg(θ) = <br />

n=0,N−1<br />

min σ 2 n,θ) <br />

Analoghe argomentazioni possono essere applicate a processi aleatori Gaussiani. Infatti, per il Teorema di Rappresentazione<br />

spettrale, un processo aleatorio stazionario Gaussiano a valor medio nullo e di densitá spettrale di<br />

potenza Px(ejω ) puó essere rappresentato come sovrapposizione di processi Gausssiani indipendenti nelle diverse<br />

bande di frequenza, e si ha<br />

<br />

Rg(θ) = max 0, 1<br />

2 log Px(e<br />

2<br />

jω <br />

)<br />

dω<br />

θ<br />

<br />

Dg(θ) = min Px(e jω ),θ dω<br />

2.2 Quantizzatore di Lloyd-Max, codifica PCM e ADPCM<br />

La quantizzazione dei valori di ampiezza <strong>del</strong> <strong>segnale</strong> introduce una distorsione media che dipende non solo dal numero<br />

di bit per campione ma anche dalla modalitá di assegnazione <strong>del</strong> valore di ampiezza ai livelli discreti ammissibili,<br />

ovvero alla scelta degli intervalli di quantizzazione <strong>del</strong> <strong>segnale</strong>.<br />

Supponiamo che la distorsione sia misurata da una funzione quadratica, e che ciascun campione sia rappresentato<br />

da b =log2Lbits. Siano qk,k=0, ···L − 1 i valori di ampiezza assumibili dalla variabile quantizzata ˜x e θk,k=<br />

0, ···L gli estremi dei corrispondenti L intervalli di decisione <strong>del</strong> quantizzatore. Il quantizzatore ottimo secondo il


2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 5<br />

Rate Distortion function: esempio di calcolo<br />

Figura 2.1: Calcolo <strong>del</strong>la rate distortion di 4 variabili Gaussiane indipendenti di assegnata varianza.<br />

Figura 2.2: Schema completo di campionamento e ricostruzione.<br />

criterio <strong>del</strong>l’errore quadratico medio, cioé quello per cui é minima la distorsione quadratica D =E (x − ˜x) 2 é


6 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

individuato dalla soluzione congiunta, rispetto alle incognite θk e qk, <strong>del</strong>le equazioni 2.2<br />

dove<br />

⎧<br />

⎨ θk+1 =(qk + qk+1)/2<br />

⎩ qk =E{x|θk ≤ x ≤ θk+1}<br />

E {x|θk ≤ x ≤ θk+1} =<br />

θk+1<br />

θk<br />

θk+1<br />

θk<br />

x · pX(x)dx<br />

pX(ξ)dξ<br />

(2.2.1)<br />

Tale quantizzatore prende il nome di quantizatore di Lloyd-Max.<br />

A titolo di esempio consideriamo il caso che la variabile d’aleatoria di ingresso sia uniforme nell’intervallo<br />

[−A, A] e che sia quantizzata a L =2b livelli mediante quantizzazione uniforme. In tal caso la distorsione quadratica<br />

misurata é<br />

D = (2A/2b ) 2<br />

=<br />

12<br />

A2<br />

3 2−2b<br />

e diminuisce di 6 dB per ogni bit per campione aggiuntivo2.3 .<br />

Nel caso di codifica <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> gli standard internazionali di rappresentazione <strong>del</strong> <strong>segnale</strong> in termini di<br />

campionamento e quantizzazione adottano metodologie di quantizzazione subottima. In particolare, nella definizione<br />

degli standard sono stati considerati alcuni aspetti operativi. In primo luogo, il <strong>segnale</strong> può presentare una dinamica<br />

elevata, <strong>del</strong>l’ordine di 60dB; per riprodurre tanto i livelli piú alti che quelli piú bassi di <strong>segnale</strong> con un livello<br />

comparabile di rapporto <strong>segnale</strong> rumore di quantizzazione sarebbe necessario avvicinare i livelli di quantizzazione<br />

dei valori piú bassi distanziandoli per i valori piú elevati. In secondo luogo, la realizzazione di un quantizzatore non<br />

uniforme è più complessa rispetto a quella di un quantizzatore uniforme. Tali aspetti sono tenuti in conto operando<br />

una trasformazione non lineare ˆx = η(x) dei valori x in ingresso ad un quantizzatore uniforme; la trasformazione<br />

espande i valori piú bassi e comprime i valori piú elevati ed é invertita all’uscita <strong>del</strong> quantizzatore. Un quantizzatore<br />

uniforme, preceduto e seguito da trasformazioni nonlineari prende il nome di compandor (compressor-expander)<br />

2.2 Infatti, la distorsione puó essere scritta come D = L−1<br />

k=0<br />

θk+1 θ (x−qk)<br />

k<br />

2px(x) . Derivando tale espressione rispetto a θk e qk e uguagliando<br />

a zero tali derivate, i.e. ∂D/∂θk =0,∂D/∂qk =0,k =0, ···L − 1, si ricavano le espressioni sopra riportate.<br />

2.3 La diminuzione di distorsione di circa 6 dB per bit si osserva anche nella R(D) di una v.a. Gaussiana, in cui D = σ 2 /2 2R . A titolo<br />

indicativo, la formula “6 dB per bit” puó essere applicata nella grande generalitá dei casi.


2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 7<br />

Figura 2.3: Azione <strong>del</strong> compandor: quantizzazione uniforme di η(x) e risultante quantizzazione non uniforme di x.<br />

La codifica Pulse Code Modulation <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong>, adottata nella Raccomandazione ITU-T G.711, si basa<br />

sul filtraggio <strong>del</strong> <strong>segnale</strong> nella banda [−4KHz,4KHz], sul suo campionamento alla frequenza di 8KHz, e sulla<br />

quantizzazione a 8 bit di ciascun campione. La quantizzazione é operata a valle <strong>del</strong>la espansione non lineare <strong>del</strong><br />

<strong>segnale</strong> (legge A)<br />

⎧<br />

⎪⎨<br />

Ax<br />

0 ≤ x ≤ 1/A<br />

1+lnA<br />

ηA(x) =<br />

(2.2.2)<br />

⎪⎩<br />

1+lnAx<br />

1/A ≤ x ≤ 1<br />

1+lnA<br />

con valore tipico A =87.6.<br />

Analogamente, lo standard PCM americano2.4 adotta l’espansione non lineare (legge µ)<br />

ηµ(x) =<br />

ln(1 + µx)<br />

ln(1 + µ)<br />

0 ≤ x ≤ 1 (2.2.3)<br />

In tal modo, una rappresentazione a livelli uniformi sull’asse ηA(x) (ηµ(x)) equivale a una rappresentazione a<br />

livelli non uniformi sull’asse x. Tali rappresentazioni richiedono 64Kb/s e presentano rapporto <strong>segnale</strong> rumore di<br />

quantizzazione comparabile a quello ottenibile con una quantizzazione uniforme a 13 bit per campione.<br />

2.4 Laddove necessario, il transcoding fra A-law e µ-law é a carico <strong>del</strong>la rete µ.


8 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

Figura 2.4: Legge A: ηA(x) vs x.<br />

I campioni adiacenti estratti dal <strong>segnale</strong> <strong>vocale</strong> a 8KHz presentano un certo livello di correlazione, ovvero una<br />

predicibilitá. Supponendo che al decodificatore siano presenti, all’istante n, un certo numero di campioni quantizzati<br />

˜xn−1, ˜xn−2, ···, é possibile<br />

• effettuare una predizione φ(xn) <strong>del</strong> campione attuale xn a partire dai campioni giá noti al decodificatore<br />

ˆxn = φ(˜xn−1, ˜xn−2, ···)<br />

mediante regole note tanto al lato <strong>del</strong> codificatore che al lato <strong>del</strong> decodificatore,<br />

• valutare l’errore di predizione residuo en<br />

• trasmetterne una versione quantizzata ˜en.<br />

• calcolare il campione quantizzato ˜xn<br />

en = xn − ˆxn<br />

˜xn =ˆxn +˜en<br />

Laddove il predittore φ sia in grado di spiegare la correlazione residua fra i campioni, in modo che l’errore di<br />

predizione residuo en presenti una varianza σ 2 e inferiore alla varianza σ 2 x dei campioni <strong>del</strong> <strong>segnale</strong> di ingresso, esso<br />

può essere rappresentato con un numero inferiore di bit, a paritá di distorsione introdotta sul <strong>segnale</strong> ricostruito. Tale<br />

codifica, di tipo differenziale, puó essere ulteriormente raffinata rendendo i parametri <strong>del</strong> filtro e/o <strong>del</strong> quantizzatore<br />

adattativi alle caratteristiche <strong>del</strong>la sequenza di ingresso.


2.2. QUANTIZZATORE DI LLOYD-MAX, CODIFICA PCM E ADPCM 9<br />

Figura 2.5: Schema di principio <strong>del</strong> DPCM.<br />

Un caso di rilevante interesse teorico ed applicativo é quello in cui la predizione φ é lineare ed effettuata su un<br />

numero finito di campioni<br />

P<br />

ˆxn = −<br />

i=1<br />

secondo il criterio <strong>del</strong> minimo errore quadratico medio, ovvero<br />

aixn−i<br />

min<br />

ai,i=1,···P E (xn − ˆxn) 2<br />

Per il principio di ortogonalitá la precedente equazione si traduce nella condizione di ortogonalitá <strong>del</strong>l’errore allo<br />

spazio <strong>del</strong>le osservazioni E {(xn − ˆxn)xn−i} =0,i=1, ···P , ovvero (vedi Fig. 2.6)<br />

Rx[i] =−<br />

P<br />

akRx[i − k], i=1, ···P<br />

k=1<br />

dove si é posto Rx[i] def<br />

= E{xnxn−i}. La potenza <strong>del</strong>l’errore di predizione PE =E{(xn − ˆxn)xn} puó essere<br />

espressa come<br />

P<br />

PE = Rx[0] + aiRx[−i]<br />

Pertanto i coefficienti <strong>del</strong>lo stimatore lineare ottimo e la potenza <strong>del</strong> residuo di predizione possono essere congiunta-<br />

i=1


10 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

Figura 2.6: Principio di ortogonalitá.<br />

mente calcolati risolvendo il sistema<br />

⎡<br />

⎤ ⎡ ⎤ ⎡ ⎤<br />

Rx[0]<br />

⎢ Rx[1]<br />

⎢<br />

⎣<br />

Rx[−1]<br />

Rx[0]<br />

. ..<br />

···<br />

···<br />

. ..<br />

Rx[−P ] 1 PE<br />

⎥ ⎢ ⎥ ⎢ ⎥<br />

Rx[1 − P ] ⎥ ⎢a1<br />

⎥ ⎢<br />

⎥ ⎢ ⎥ ⎢ 0 ⎥<br />

⎥ ⎢ ⎥ = ⎢ ⎥<br />

⎥ ⎢ .<br />

⎦ ⎣ .<br />

⎥ ⎢ .<br />

⎦ ⎣ .<br />

⎥<br />

⎦<br />

Rx[P ] Rx[P − 1] ··· Rx[0]<br />

0<br />

aP<br />

(2.2.4)<br />

La soluzione <strong>del</strong>le equazioni (2.2.4), dette di Yule-Walker, conduce alla determinazione <strong>del</strong> predittore lineare ottimo<br />

nel senso <strong>del</strong>l’errore quadratico medio2.5 . Osserviamo che la particolare struttura <strong>del</strong>la matrice di autocorrelazione,<br />

che risulta di Toeplitz ed Hermitiana, consente l’adozione di algoritmi veloci per la soluzione <strong>del</strong> sistema, e rende<br />

tale approccio utilizzabile anche in applicazioni in tempo reale.<br />

Nello schema DPCM, la potenza <strong>del</strong>l’errore risultante su ˜xn eguaglia la potenza <strong>del</strong>l’errore di quantizzazione<br />

osservato sulla variabile ˜en 2.6 . D’altro canto l’errore di predizione en, pur avendo dinamica nominalmente maggiore<br />

di quella di xn, ha tipicamente potenza minore di quella di xn, epuóessere quantizzato con tecnica PCM utilizzando,<br />

a paritá di distorsione, un minor numero di bit.<br />

Tale approccio é seguito nella codifica Adaptive Differential PCM descritta nella Raccomandazione ITU-T G.726.<br />

In tale Raccomandazione, i coefficienti <strong>del</strong> predittore sono ricavati in modo adattativo a partire dalla sequenza dei<br />

valori ricostruiti ˜xn. Il quantizzatore utilizza una rappresentazione a 4 bit. Inoltre esso presenta livelli di quantizzazione<br />

distribuiti in modo non uniforme; gli intervalli di quantizzazione sono variabili in funzione <strong>del</strong>la velocitá<br />

2.5 A titolo di esempio si osservi che per il predittore ottimo di ordine 1 risulta a1 = −Rx[1]/Rx[0], ovvero ˆxn = Rx[1]/Rx[0] ∗ xn.<br />

2.6 Infatti, en − ˜en = xn − ˆxn − ˜en = xn − (ˆxn +˜en) =xn − ˜xn


2.3. CODIFICA BASATA SU MODELLI 11<br />

di variazione <strong>del</strong> <strong>segnale</strong> di errore ˜en. Si osservi che le regole per l’adattamento <strong>del</strong> predittore e <strong>del</strong> quantizzatore<br />

dipendono da quantitá note al decodificatore e non necessitano <strong>del</strong>la trasmissione di ulteriore informazione. Il bit-rate<br />

risultante per questo tipo di codifica édi32Kb/s.<br />

Predizione e Stima Ottima<br />

Il problema <strong>del</strong>la predizione lineare si inquadra nel problema piú generale <strong>del</strong>la stima lineare di un <strong>segnale</strong> yn a<br />

partire da un insieme di osservazioni xn secondo il criterio <strong>del</strong> minimo errore quadratico medio. In tale scenario, la<br />

stima lineare é realizzata mediante filtraggio ottimo, nel senso che i coefficienti fn <strong>del</strong> filtro che realizza la stima<br />

sono ricavati in modo che la distanza quadratica media fra la stima ˆyn = <br />

i fixn−i disponibile all’uscita <strong>del</strong> filtro<br />

e il <strong>segnale</strong> yn che si vuole ricostruire sia minima. Sia S il supporto (finito o infinito numerabile) su cui é diverso<br />

da zero il filtro che realizza la stima. I coefficienti <strong>del</strong> filtro ottimo sono quelli che minimizzano<br />

C def<br />

=E (yn − ˆyn) 2 <br />

=E (yn − <br />

fixn−i) 2<br />

<br />

=E y 2 n + <br />

fifkxn−ixn−k − 2 <br />

<br />

i∈S<br />

ovvero quelli che annullano<br />

⎧<br />

∂C<br />

⎨ <br />

=0=E 2<br />

∂fm ⎩<br />

k∈S,k=m<br />

i∈S k∈S<br />

fkxn−mxn−k +2fmxn−mxn−m − 2ynxn−m<br />

In altre parole il filtro ottimo verifica la relazione<br />

<br />

fkRx[m − k] =Ryx[m]<br />

k∈S<br />

⎫<br />

⎬<br />

⎭<br />

i∈S<br />

fiynxn−i<br />

Per questa scelta <strong>del</strong> filtro, l’errore (yn − ˆyn) é ortogonale in senso statistico, ovvero incorrelato, alle osservazioni:<br />

<br />

E {(yn − ˆyn)xn−m} =E ynxn−m − <br />

<br />

= Ryx[m] − <br />

fkRx[m − k] =0<br />

k∈S<br />

fkxn−kxn−m<br />

Ció sipuóinterpretare geometricamente osservando che la stima lineare (appartenente, cioé, al sottospazio <strong>del</strong>le<br />

osservazioni) ottima nel senso <strong>del</strong>l’errore quadratico medio, é quella per cui l’errore é ortogonale al sottospazio<br />

<strong>del</strong>le osservazioni (Principio di Ortogonalitá).<br />

Tale criterio di stima ottima é di rilevante interesse in diverse applicazioni, quali l’equalizzazione di <strong>segnale</strong>, il<br />

restauro di immagini sfocate, l’interpolazione o estrapolazione di serie aleatorie. Un caso particolare di stima ottima<br />

lineare é quello in cui lo spazio <strong>del</strong>le osservazioni é costituito da P campioni di una serie aleatoria xn−1, ···,xn−P<br />

ed il <strong>segnale</strong> che si desidera stimare é il campione attuale <strong>del</strong>la serie, xn. In tal caso, il problema di stima prende il<br />

nome di predizione lineare; infatti, ponendo S = {1, 2 ...P}, Ryx[m] =Rxx[m] e aggiungendo l’equazione per<br />

il calcolo <strong>del</strong>la potenza <strong>del</strong>l’errore di predizione, le equazioni normali coincidono con le sopra esposte equazioni di<br />

Yule Walker.<br />

2.3 <strong>Codifica</strong> basata su mo<strong>del</strong>li<br />

La codifica basata su mo<strong>del</strong>li scaturisce da due ordini di considerazioni.<br />

k∈S


12 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

In primo luogo il <strong>segnale</strong> <strong>vocale</strong> presenta, su intervalli temporali <strong>del</strong>’ordine di 10, 20, 30 ms, caratteristiche<br />

spettrali quasi stazionarie e prevalente concentrazione <strong>del</strong>l’energia intorno ad un numero limitato di frequenze. Infatti,<br />

il <strong>segnale</strong> é formato nelle cavitá risonanti <strong>del</strong> cavo orale e nasale a partire dal flusso d’aria proveniente dai polmoni<br />

attraverso le corde vocali. Nell’osservazione di una finestra temporale di <strong>segnale</strong> di circa 20 ms, l’andamento spettrale<br />

osservato presenta un insieme di picchi, mo<strong>del</strong>labili come l’uscita di un filtro, opportunamente eccitato da un <strong>segnale</strong><br />

di ingresso. Per questioni di natura computazionale, il filtro é di solito descritto come un filtro a soli poli.<br />

In secondo luogo, l’orecchio umano puó percepire come intellegibile, accettabile o anche soddisfacente una<br />

rappresentazione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> che, mimando il mo<strong>del</strong>lo di formazione <strong>del</strong> <strong>segnale</strong> stesso, ne riproduca le<br />

caratteristiche spettrali a breve termine. Pertanto, nella rappresentazione <strong>del</strong> <strong>segnale</strong> come uscita di un filtro, il<br />

<strong>segnale</strong> di ingresso attuale puó essere rappresentato in forma variamente approssimata, dando luogo a diversi livelli di<br />

qualitá. Adottando tali principi per la codifica <strong>del</strong> <strong>segnale</strong>, i parametri codificati saranno costituiti dalla descrizione<br />

dei parametri <strong>del</strong> filtro e <strong>del</strong>la versione approssimata <strong>del</strong> <strong>segnale</strong> di ingresso. In linea di principio, l’informazione<br />

piú sensibile é costituita dai parametri che descrivono il filtro, che influiscono maggiormente sulla resa <strong>del</strong> <strong>segnale</strong><br />

ricostruito.<br />

Dati i campioni xn <strong>del</strong> <strong>segnale</strong> da codificare, essi sono rappresentati tramite il seguente mo<strong>del</strong>lo di generazione<br />

xn = −<br />

P<br />

i=1<br />

aixn−i + vn<br />

(2.3.5)<br />

dove i coefficienti ai sono scelti in modo da riprodurre i picchi spettrali <strong>del</strong> <strong>segnale</strong> xn, e si calcolano in funzione<br />

dei valori <strong>del</strong>l’autocorrelazione <strong>del</strong>la sequenza xn Rx[i] =E{xnxn−i}. Il termine vn rappresenta il <strong>segnale</strong> di<br />

eccitazione <strong>del</strong> filtro che genera xn.<br />

Ai fini <strong>del</strong> calcolo dei coefficienti ai, si ipotizza in primo luogo che il <strong>segnale</strong> di generazione vn sia costituito da<br />

una serie bianca, ovvero E {vnvn−k} = σ2 vδk; il mo<strong>del</strong>lo in (2.3.6) prende il nome di mo<strong>del</strong>lo Autoregressivo, e la<br />

sequenza di campioni xn é detta serie aleatoria autoregressiva (AR)<br />

Serie aleatoria autoregressiva<br />

Si dice serie aleatoria autoregressiva (AR) una serie aleatoria osservata all’uscita di un filtro a soli poli quaando<br />

all’ingresso é applicato un rumore bianco. Una serie aleatoria AR xn é pertanto descritta da una equazione alle<br />

differenze finite<br />

P<br />

xn = −<br />

(2.3.6)<br />

i=1<br />

aixn−i + vn<br />

con E {vnvn−k} = σ2 vδk. La autocorrelazione di una serie AR soddisfa un’equazione analoga a quella di generazione<br />

<strong>del</strong>la serie AR. Lo spettro di densitá di potenza di una serie AR é esprimibile come<br />

Px(e jω )=<br />

σ 2 v<br />

|1+ P<br />

k=1 ake jωk | 2<br />

I parametri ak,k =1, ···P governano la posizione dei P picchi di Px(ejω ) in [−π, π)]. In definitiva, la serie<br />

aleatoria AR costituisce un mo<strong>del</strong>lo matematico potente e compatto, governato cioé da un numero di parametri<br />

limitato, ovvero i coefficienti ai, i=1, ···P e la varianza σ2 v.<br />

Tale mo<strong>del</strong>lo consente di valutare analiticamente i coefficienti ai, che influenzano direttamente i picchi spettrali<br />

<strong>del</strong> filtro, in funzione <strong>del</strong>la autocorrelazione <strong>del</strong>la sequenza xn. Una volta ricavati i valori ai, sotto questa ipotesi


2.3. CODIFICA BASATA SU MODELLI 13<br />

semplificativa, la codifica basata su mo<strong>del</strong>li opera una rappresentazione piú appropriata <strong>del</strong> <strong>segnale</strong> vn. I diversi<br />

algoritmi di codifica basata su mo<strong>del</strong>li adottano rappresentazioni differenti di tale <strong>segnale</strong>.<br />

L’equazione di generazione <strong>del</strong> mo<strong>del</strong>lo AR consente di esprimere i coefficienti di autocorrelazione <strong>del</strong>la sequenza<br />

xn in funzione dei coefficienti ai, i=1, ···P<br />

ovvero<br />

E {xnxn−k} = −<br />

Rx[k] =−<br />

P<br />

aiE {xn−ixn−k} +E{vnxn−k}<br />

i=1<br />

P<br />

i=1<br />

Rx[k] =Rx[−k],k


14 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

Algoritmo di Levinson-Durbin<br />

Un efficiente algoritmo ricorsivo per il calcolo dei coefficienti ap e <strong>del</strong>la varianza σ2 v é l’algoritmo di Levinson-<br />

Durbin, qui di seguito schematicamente riportato. L’algoritmo si basa sul calcolo dei coefficienti di mo<strong>del</strong>li di<br />

ordine crescente<br />

• Inizializzazione<br />

• Mo<strong>del</strong>lo di ordine i<br />

aii = −<br />

σ 2 v0 = ˆRx(0)<br />

a11 = − ˆ Rx(1)/ ˆ Rx(0)<br />

σ 2 v1 = σ 2 v0(1 − a 2 11)<br />

ˆRx(i)+ <br />

k=1,i−1 ai−1 k ˆ Rx(i − k)<br />

σ 2 vi−1<br />

aik = ai−1 k − aii ai−1 i−k, k=1, ···i − 1<br />

σ 2 vi = σ 2 vi−1(1 − a 2 ii)<br />

(2.3.9)<br />

(2.3.10)<br />

dove con ˆ Rx(n) si sono indicati i valori stimati <strong>del</strong>l’autocorrelazione <strong>del</strong> <strong>segnale</strong> a partire dai campioni disponibili.<br />

I coefficienti aii sono anche detti coefficienti di riflessione. Un algoritmo alternativo é rappresentato dall’algoritmo<br />

di Schur, che valuta direttamente i coefficienti di riflessione aii e si presta alla realizzazione in parallelo.<br />

2.3.1 Regular Pulse Excitation- Long Term Prediction - Linear Prediction Coding<br />

La codifica RPE-LTP-LPC é adottata nel GSM e conduce ad un bit-rate di sorgente di 13Kb/s. La codifica é<br />

applicata su trame di 20 ms, corripondenti a 160 campioni estratti a 8KHz. Il filtro LPC é un filtro a soli poli<br />

<strong>del</strong>l’ottavo ordine, ed é determinato in modo da minimizzare l’energia <strong>del</strong> <strong>segnale</strong> di eccitazione mediante l’algoritmo<br />

di calcolo detto di Shur. Il <strong>segnale</strong> di eccitazione é calcolato mediante filtraggio (Short Term Filtering). Il <strong>segnale</strong><br />

cos´ ottenuto presenta una ridondanza dovuta ad una pseudoperiodicitá. Tale ridondanza é rimossa suddividendo la<br />

trama di 160 campioni in quattro blocchi (ciascuno di 40 campioni). Per ogni blocco, si individua una predizione,<br />

identificata in termini di ritardo e fattore di scala, a partire dai blocchi precedenti. Il residuo di predizione é quindi<br />

filtrato passabasso e sottocampionato di un fattore 1/3. Si sceglie una <strong>del</strong>le tre sequenze sottocampionate; poiché la<br />

fase scelta puó variare da blocco a blocco, essa é trasmessa insieme al valore di picco <strong>del</strong> residuo. Infine, le ampiezze<br />

degli impulsi residui sono codificate con tecnica ADPCM. L’allocazione dei bit fra le diversi componenti codificate<br />

é sintetizzata in Tabella 2.1. É interessante osservare che i parametri aii che descrivono il filtro LPC sono trasmessi<br />

1+aii<br />

.<br />

codificando i relativi Log Area Ratio definiti come LARii def<br />

=log 10<br />

2.3.2 Adaptive Multirate Narrowband Codec<br />

1 − aii<br />

Il codec AMR é adottato nel sistema UMTS2.8 e possiede la proprietá di consentire l’adattamento <strong>del</strong> bit-rate alla<br />

disponibilitá <strong>del</strong>le risorse di rete con un intervallo temporale di 20 ms. Il bit-rate puó variare da un massimo di<br />

2.8Al codec AMR Narrowband si affianca il codec AMR wideband, adottato per servizi di streaming e di messaggistica multimediale, che<br />

estende la banda a 507000Hz, ed opera a 9 differenti bit-rate fra i 6.6 e i 23.85 kbit/s, su campioni estratti a 16 KHz in un intervallo di 20ms.


2.3. CODIFICA BASATA SU MODELLI 15<br />

Informazione<br />

Parametri LPC (8) 36<br />

Ritardo LTP 28<br />

Guadagno LTP 8<br />

Fase di sottocampionamento 8<br />

Ampiezza massima 24<br />

Ampiezze campioni (13) 156<br />

Totale 260<br />

Tabella 2.1: Bit codificati per ogni trama di 20 ms nel GSM RPE-LTP-LPC.<br />

Figura 2.7: Schema <strong>del</strong> vocoder LPC-LTP-RPE adottato nel GSM.<br />

12.2Kb/s fino ad un minimo di 4.75Kb/s. La codifica si basa su un mo<strong>del</strong>lo LPC descritto da un filtro a soli poli<br />

di ordine 10. Nella modalitá a12.2Kb/s il filtro é calcolato su un intervallo di 10 ms 2.9 . I parametri dei filtri sono<br />

codificati quantizzando e trasmettendo <strong>del</strong>le funzioni ad esse correlate, dette Linear Spectral Pairs, che presentano<br />

caratteristiche piú favorevoli rispeto alla quantizzazione. 2.10 Il <strong>segnale</strong> di eccitazione <strong>del</strong> filtro LPC è suddiviso in<br />

Esso si basa sui principi di Linear Prediction Coding, e per motivi di complessitá computazionale codifica separatamente i contenuti al di sotto e<br />

al di sopra di 6400 Hz.<br />

2.9Ogni 120 ms, sono calcolati due filtri, a partire da due stime <strong>del</strong>la funzione di autocorrelazione ottenute estraendo i campioni mediante due<br />

distinte finestre, relative principalmente al secondo e al quarto sottoblocco dei 160 campioni. I parametri dei due filtri cos´ ottenuti sono utilizzati<br />

per generare, mediante interpolazione temporale, i parametri relativi al primo e al terzo sottoblocco.<br />

2.10 Le Linear Spectral Pairs sono definite come LSPi =cosωi, dove ωi sono le radici dei polinomi P (z) =A(z)+z −(P +1) A(z −1 ),Q(z) =<br />

A(z) − z −(P +1) A(z −1 ), con A(z) =1− <br />

i=1,P −1 aiz −i .


16 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

quattro blocchi e rappresentato come la somma di due sequenze estratte rispettivamente da un codebook adattativo ed<br />

uno di innovazione. Il codebook adattativo é costituito dai precedenti campioni <strong>del</strong> <strong>segnale</strong> di ingresso stesso; nella<br />

ricerca <strong>del</strong>la parola di codice adattativo si utilizzano anche ritardi non interi, corrispondenti a sequenze interpolate, e<br />

si privilegiano le sequenze di campioni piú prossime. Il codebook fisso é costituito da sequenze di impulsi sparsi di<br />

valore ±1, diversamente allocati. I campioni relativi al sottoblocco attuale sono descritti come una somma pesata di<br />

una versione interpolata temporalmente dei campioni al sottoblocco precedente e di un <strong>segnale</strong> di eccitazione estratto<br />

dal codebook fisso. In dipendenza <strong>del</strong> rate, cambia la rappresentazione dei pesi utilizzati nella somma, che possono<br />

essere ulteriormente predetti temporalmente e compressi. In decodifica sono inoltre esplicitamente previste alcune<br />

operazioni di post-processing finalizzate a ridurre gli artefatti introdotti dalla codifica.<br />

Il codec AMR presenta ulteriori caratteristiche di flessibilitá, consentendo di codificare trame che non contengano<br />

voce ad un bit-rate inferiore rispetto alle trame che contengono <strong>segnale</strong> <strong>vocale</strong>. Questa funzionalitá é realizzata<br />

ricorrendo ad un modulo di rivelazione di attivitá <strong>vocale</strong> (Voice Activity Detector, VAD) al trasmettitore, che decide<br />

per ogni trama di 20 ms se il <strong>segnale</strong> é presente o no. Inoltre, vengono stimati, codificati e trasmessi alcuni parametri<br />

(Silence Descriptor, SID) che descrivano le caratteristiche <strong>del</strong> rumore di fondo. Al decodificatore tali parametri<br />

sono utilizzati per generare un rumore sintetico (confort noise) che dia la percezione di comunicazione attiva. La<br />

flessibilitá <strong>del</strong> codec puó essere sfruttata al livello radio per ridurre le risorse trasmissive impiegate, riducendo il<br />

consumo di potenza <strong>del</strong> terminale e di conseguenza aumentando la durata <strong>del</strong>la batteria e diminuendo il livello di<br />

interferenza sugli altri utenti.<br />

Figura 2.8: Schema <strong>del</strong> vocoder AMR adottato nell’UMTS.


2.4. TRASMISSIONE DEL SEGNALE VOCALE SU CANALI AFFETTI DA ERRORI 17<br />

2.4 Trasmissione <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> su canali affetti da errori<br />

Nelle precedenti sezioni sono state esaminati i principi di codifica <strong>del</strong> <strong>segnale</strong> <strong>vocale</strong> e i principali standard2.11 ad essi<br />

relativi. Su canali di comunicazione affetti da errori, l’informazione trasmessa deve essere opportunamente protetta.<br />

Da un punto di vista teorico, la codifica di sorgente e di canale ottima potrebbero essere derivate separatamente.<br />

Tuttavia le tecnica di codifica di sorgente e di canale in uso sono ben lungi dal massimo teorico e traggono beneficio<br />

dall’essere progettate congiuntamente.<br />

Per ció che riguarda le codifiche come la PCM e la ADPCM, che mirano a riprodurre la forma d’onda <strong>del</strong> <strong>segnale</strong><br />

nel tempo, l’informazione compressa da trasmettere non é a priori differenziabile in termini di una maggiore o minore<br />

importanza ai fini <strong>del</strong>la qualitá percettiva <strong>del</strong> <strong>segnale</strong> ricostruito. Pertanto la codifica di canale é operata in modo<br />

indifferenziato sui dati di sorgente, secondo modalitá che dipendono dal mezzo trasmissivo.<br />

Per ció che riguarda invece la codifica dei dati compressi mediante codifica basata su mo<strong>del</strong>li, i parametri codificati<br />

rivestono importanza differente ai fini <strong>del</strong>la riproduzione <strong>del</strong> <strong>segnale</strong>. I parametri piú sensibili sono quelli relativi ai<br />

coefficienti <strong>del</strong> filtro LPC, che determinano la posizione dei picchi in frequenza <strong>del</strong> <strong>segnale</strong> ricostruito.<br />

Il sistema GSM distingue, nell’ambito dei 260 bit relativi ad una trama, fra 182 bit che necessitano di protezione<br />

e 78 bit che non necessitano di protezione. Inoltre, nel sottoinsieme dei bit da proteggere sono individuati i 50<br />

bit piú importanti. Pertanto, a questi ultimi é preliminarmente applicata una codifica a blocco mediante l’aggiunta<br />

di 3 bit di paritá 2.12 . Tutti i bit <strong>del</strong>la prima classe vengono poi codificati mediante un codice convoluzionale di<br />

rapporto di codice Rc =1/2. Essi vengono poi trasmessi insieme ai bit <strong>del</strong>la seconda classe, per un totale di<br />

(50+3+132+4)× 2 + 78 = 456 bit, corrispondenti ad un bit-rate dopo codifica di canale pari a 456/20ms =<br />

22.8Kb/s. In trasmissione é effettuato un interleaving su 8 Normal Burst GSM, a loro volta inseriti in 8 trame, in<br />

un assegnato time slot; nei primi quattro Time Slot, i dati sono multiplati insieme ai dati <strong>del</strong>la trama precedente;<br />

nei rimanenti quattro Time Slot, i dati sono multiplati insieme ai dati <strong>del</strong>la trama successiva2.13 . Complessivamente,<br />

l’interleaving si estende su un intervallo temporale di 4ms × 8 = 32ms. Osserviamo l’effetto di un errore di<br />

trasmissione. Esso é con elevata probabilitá rivelato se compare fra i bit piú significativi; puó o meno essere rivelato<br />

se compare fra i bit meno significativi. In presenza di errori rivelati sui 50 bit piú importanti, la trama ricevuta<br />

é scartata, e possono essere messe in atto strategie di mascheramento basate su tecniche predittive. In ogni caso,<br />

essendo noto e prefissato il numero di bit <strong>del</strong>la trama <strong>vocale</strong>, la decodifica puó riprendere dalla trama immediatamente<br />

successiva a quella errata.<br />

Nella trasmissione sul sistema UMTS, si osserva la differenza sostanziale che lo strato di Radio Resource Management<br />

puó pienamente fruire <strong>del</strong>la flessibilitá di adattamento <strong>del</strong> bit-rate trasmissivo <strong>del</strong>la sorgente, grazie alla<br />

possibilitá di allocare codici CDMA di differente Spreading Factor. Per altro, questo consente di sfruttare tecniche<br />

di Voice Activity Detection e di codifica di parametri di Confort Noise in modo piú sistematico ed efficiente di<br />

quanto possibile nel caso GSM. Tutti i bit <strong>del</strong>la trama <strong>vocale</strong> sono trasmessi utilizzando un codice convoluzionale<br />

con rapporto di codice variabile fra 1/2 e 1/5, come rappresentato in Tab.2.2; un certo numero di bit, variabile in<br />

2.11I sistemi GSM e UMTS colloquiano fra di loro e con la rete GSTN mediante opportune operazioni di Transcoding, realizzate rispettivamente<br />

dalla TRAnscoding Unit nella GERAN e dal Media Gateway nella UMTS Core Network. La TRAU supporta la transcodifica fra il Full Rate a<br />

13 Kb/s e Half Rate a 5.6 Kb/s, basato su tecnica CELP, Enhanced Full Rate a 12.2 Kb/s, AMR NB e PCM. Il Media Gateway supporta tutte le<br />

modalitá di transcoding <strong>del</strong> TRAU piú quelle fra IP, ATM, PCM.<br />

2.12Ai rimanenti 132 bit <strong>del</strong>la prima classe sono applicati 4 tail bit al fine di chiudere il successivo codificatore convoluzionale su uno stato noto.<br />

2.13Ciascun Normal Burst convoglia 456/8=57 bit codificati relativi alla trama attuale, che occupano alternativamente i bit pari e i bit dispari dei<br />

Normal Burst appartenenti a TS successivi; i rimanenti 57 bit, costituiti rispettivamente dai bit dispari e dai bit pari, sono occupati dai bit <strong>del</strong>le<br />

trame temporalmente adiacenti.


18 CAPITOLO 2. CODIFICA DEL SEGNALE VOCALE<br />

Figura 2.9: Normal Burst <strong>del</strong> GSM.<br />

funzione <strong>del</strong> bit-rate selezionato, é codificato preliminarmente con dei bit di paritá. I parametri di Confort Noise<br />

sono trasmessi utilizzando un codice convoluzionale di Rc =1/4. Alternativamente, puó essere utilizzata la modalitá<br />

cosiddetta half rate, in cui i rapporti di codice variano fra 1/2 e 1/3.<br />

Bit Rate Code Rate<br />

12.2 1/2<br />

10.2 1/3<br />

7.95 1/3<br />

7.4 1/3<br />

6.7 1/4<br />

5.9 1/4<br />

5.15 1/5<br />

4.75 1/5<br />

Tabella 2.2: Esempi di rapporti di codice per codifica di <strong>segnale</strong> <strong>vocale</strong> nel sistema UMTS.


Bibliografia<br />

[1] M.G. Di Benedetto, P. Mandarini, “Comunicazioni Elettriche”, Edizioni Ingegneria 2000.<br />

[2] G. Scarano, “Dispense di elaborazione <strong>del</strong>le immagini”, infocom.uniroma1.it/˜gaetano.<br />

[3] 3GPP Technical Specification TS 06.10, “Full rate speech; Transcoding”, www.3gpp.org.<br />

[4] 3GPP Technical Specification TS 05.03, “Channel coding”, www.3gpp.org.<br />

[5] 3GPP Technical Specification TS 26.090, “Adaptive Multi-Rate speech codec: Transcoding functions”, www.3gpp.org.<br />

[6] 3GPP Technical Specification TS 25.212, “Multiplexing and Channel Coding (FDD)”, www.3gpp.org.<br />

[7] 3GPP Technical Specification TS 25.222, “Multiplexing and Channel Coding (TDD)”, www.3gpp.org.<br />

[8] 3GPP Technical Specification TS 25.944, “ Channel Coding and Multiplexing Examples”, www.3gpp.org.<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!