25
Appunti di Appunti di Elaborazione numerica dei segnali Elaborazione numerica dei segnali Capitolo 8 (parte II) - Capitolo 8 (parte II) - Sistemi “multirate” Suddivisione di un segnale in sottobande ......................................................... 1 Introduzione ............................................................................................... 1 Suddivisione in M sottobande..................................................................... 3 Tecnica dei filtri MIRROR per una suddivisione in 2 sottobande ............... 7 Osservazione: iterazione della struttura per M sottobande ................. 14 Osservazione ....................................................................................... 16 Osservazione: suddivisione del segnale in bande di ampiezza crescente18 Codifica a sottobande del segnale vocale............................................ 20 Blocco filtro/sottocampionatore e sua invertibilità ................................... 21 Applicazioni dell’elaborazione multirate dei segnali ...................................... 24 Progetto di traslatori temporali ................................................................. 24 Suddivisione di un segnale in sottobande Suddivisione di un segnale in sottobande I NTRODUZIONE Spesso è utile decomporre una sequenza x(n) di N campioni in un numero M (N) di sottosequenze, usando un banco di M filtri passa-banda assolutamente simile a quello visto per la stima spettrale non parametrica: x(n) y 1 (n) y 2 (n) y k (n) Le frequenze centrali dei vari filtri devono essere opportunamente sfalsate e le bande passanti (dette sottobande) non devono necessariamente essere uguali tra loro.

Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti diAppunti diElaborazione numerica dei segnaliElaborazione numerica dei segnaliCapitolo 8 (parte II) - Capitolo 8 (parte II) - Sistemi “multirate”

Suddivisione di un segnale in sottobande ......................................................... 1Introduzione ............................................................................................... 1Suddivisione in M sottobande..................................................................... 3Tecnica dei filtri MIRROR per una suddivisione in 2 sottobande ............... 7

Osservazione: iterazione della struttura per M sottobande ................. 14Osservazione....................................................................................... 16Osservazione: suddivisione del segnale in bande di ampiezza crescente18Codifica a sottobande del segnale vocale............................................ 20

Blocco filtro/sottocampionatore e sua invertibilità ................................... 21Applicazioni dell’elaborazione multirate dei segnali ...................................... 24

Progetto di traslatori temporali ................................................................. 24

Suddivisione di un segnale in sottobandeSuddivisione di un segnale in sottobande

INTRODUZIONE

Spesso è utile decomporre una sequenza x(n) di N campioni in un numero M (≤N) disottosequenze, usando un banco di M filtri passa-banda assolutamente simile a quello visto perla stima spettrale non parametrica:

x(n)

y1(n)

y2(n)

yk(n)

Le frequenze centrali dei vari filtri devono essere opportunamente sfalsate e le bande passanti(dette sottobande) non devono necessariamente essere uguali tra loro.

Page 2: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli2

Le applicazioni di questa decomposizione sono numerose. La più evidente è quella per cui èpossibile trattare in parallelo le varie sottobande, utilizzando eventualmente tecniche di filtraggioadattativo, come si vedrà in seguito.

La decomposizione in sottobande (sub-band decomposition) ha una importante caratteristica:permette di avvicinarsi alla situazione in cui lo spettro delsegnale è uniforme in ogni sottobanda. Infatti, sappiamo che all’uscita da ciascunfiltro viene fuori una sequenza yk(n) che racchiude il contenuto informativo di x(n) in una ristrettabanda Bk. Ogni sequenza corrisponde ad una diversa banda; possiamo immaginare di convertirequeste sottosequenze a frequenza zero, ottenendo così M sottosequenze passa-basso; ciascuna diqueste, avendo banda M volte più piccola di x(n), può essere massimamente decimata, ossiasottocampionata di un fattore M rispetto ad x(n); si otterranno così delle nuove sequenze (sequenzedecimate) ciascuna con spettro esteso fino alla nuova frequenza di Nyquist fC/2M, se fC/2 era lafrequenza di Nyquist di x(n); tali sequenze, avendo banda molto stretta, avranno su tale banda unospettro che tende ad essere uniforme, il che significa che le sottosequenze tendono adessere bianche, nonostante la sequenza di partenza non lo fosse.

Dire che le sottosequenze così ottenute (filtraggio, conversione a frequenza zero,sottocampionamento) tendono ad essere bianche significa dire che i loro campioni tendono ad esserescorrelati, il che è un indubbio vantaggio per l’eventuale successiva codifica, come si è visto nelcapitolo sulla predizione lineare e come si vedrà ancora meglio nel capitolo sulla codifica delsegnale telefonico.

In generale, diciamo che ci sono una serie di applicazioni che sfruttano le decomposizione insottobande:

• realizzazione di filtri passa-banda per l’estrazione di canali dallo spettro a radiofrequenza;

• realizzazione dei cosiddetti trans-multiplexer, cioè sistemi che trasformano un segnalemultiplo a diversità di frequenza in un segnale multiplo a diversità di tempo e viceversa;

• divisione in sottobande del segnale musicale, utile perché le componenti di un segnalemusicale (che ha notoriamente una banda di circa 15 kHz) che occupano frequenze superiori aquelle di una componente forte, sono percepite con minore accuratezza, per cui questo effettodi mascheramento può essere sfruttato per opportune tecniche di codifica;

• realizzazione numerica di circuiti per elaborazione di segnali audio, al fine di separare i segnalida avviare agli altoparlanti di bassa frequenza (woofer) e di alta frequenza (tweeter), ecc.

E’ evidente che un requisito fondamentale della decomposizione in sottobande è quello dellaperfetta ricomposizione: un sistema di decomposizione (o banco di analisi) messo in cascata conun sistema di ricomposizione (o banco di sintesi), deve dare il segnale di partenza esattamente,cioè senza buchi o picchi nella funzione di trasferimento e con la completa cancellazionedell’aliasing che, come si vedrà, è inevitabile dopo la scomposizione in sottobande ed il successivosottocampionamento. In effetti, si vedrà che l’uscita potrà essere tutt’al più una versione esatta maritardata dell’ingresso, ma sappiamo bene che un ritardo temporale non rappresenta un fattore didistorsione sul segnale, per cui è tollerabile.Una volta studiati i requisiti e le caratteristiche della

procedura di scomposizione in sottobande, diventa poi importantedeterminare delle strutture efficienti per questa decomposizione: aquesto requisito, come si vedrà nel capitolo successivo, rispondono i cosiddetti filtri polifase.Possiamo per esempio anticipare che uno dei metodi per rendere efficiente il calcolo computazionaleeffettuato dalle strutture filtranti consiste nel tener conto del fatto che le uscite dei filtri passa-bandavanno decimate, per cui non è necessario calcolare tutti i campioni delle uscite, ma solo quelli chepoi non vengono eliminati.

Page 3: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli3

Ancora, nel momento in cui si costruisce il segnale multiplo corrispondente alla ricombinazionedelle varie bande, bisogna evitare di fare calcoli inutili nella suddetta costruzione. Per esempio, datoche le singole sottosequenze vanno tutte interpolate su un intervallo di campionamento inferiore (inmodo da compensare il sottocampionamento iniziale), si potrà evitare di interpolare ogni sequenza epoi sommare, ma si potrà fare qualcosa di più efficiente.

SUDDIVISIONE IN M SOTTOBANDE

Consideriamo un segnale tempo-discreto x(n) frutto del campionamento di un segnale x(t) passa-basso di banda B. In particolare, supponiamo che x(t) abbia il seguente spettro:

ffC-fC B-B

Spettro di un segnale passa-basso di banda monolatera B

Scelta una frequenza di campionamento fC tale che fC>2B, lo spettro del segnale campionato x(n)è del tipo seguente:

f

X(f)

fC-fC 2fC-2fC B-B

Spettro del segnale campionato x(n). Gli impulsi posizionati sulla frequenza fC e sui suoi multiplirappresentano lo spettro del pettine di campionamento: X(f) viene collocato a cavallo di ciascun impulsodi campionamento (in frequenza). In figura sono indicate solo le repliche a cavallo della frequenza 0, di

±fC e di ±2fC,, ma sono da considerarsi anche le repliche a cavallo degli infiniti altri multipli dellafrequenza di campionamento

Il periodo non ambiguo, nello spettro X(f), è quello compreso tra -fC/2 e fC/2: in tale intervallo difrequenze, avendo rispettato il teorema del campionamento, gli spettri di x(t) ed x(n) coincidono.

Supponiamo adesso di mandare x(n) in ingresso ad un banco di filtri passa-banda tutti di bandapassante diversa:

Page 4: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli4

x(n)

y1(n)

y2(n)

yk(n)

Facciamo per il momento l’ipotesi che i filtri del banco siano tutti ideali, cioè con funzioni ditrasferimento tutte perfettamente rettangolari, e supponiamo anche che esse coprano tutto l’intervallodi frequenza di interesse (da -fC/2 a fC/2). Sotto queste ipotesi, all’uscita dei filtri otteniamo deisegnali yk(n) che servono tutti contemporaneamente a descrivere il segnale di partenza.

Adesso supponiamo che ciascuno di questi yk(n) subisca una particolare codifica, che, tanto perfissare le idee, supponiamo sia una codifica DPCM, cioè una tecnica tipica della codifica delsegnale telefonico (che più avanti sarà ripresa):

x(n)

DPCM

DPCM

DPCM

y1(n)

y2(n)

yk(n)

z1(n)

z2(n)

zk(n)

xT(n)

All’uscita dei codificatori otteniamo dei segnali zk(n) che andiamo a sommare in modo dacostruire un unico segnale xT(n) da trasmettere sul mezzo trasmissivo.

Il motivo per cui facciamo tutto questo sarà visto più avanti. L’aspetto che ci interessa adesso èinvece un altro. Supponiamo infatti che, in ricezione, il segnale xT(n) giunga così com’è (non ci sonostati cioè errori di trasmissione). Il nostro scopo, in ricezione, è ricostruire x(n), per cui dovremo fareesattamente l’operazione duale di quella fatta in trasmissione: prima dovremo separare da xT(n) i vari

Page 5: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli5

segnali zk(n) e supponiamo di poterlo fare; successivamente, dovremo fare una codifica inversa(DPCM-1) di ciascun segnale zk(n) ed infine dovremo mandare quanto ottenuto in un’altra batteria difiltri le cui uscite, sommate, forniscano x(n):

xT(n)

DPCM -1

DPCM-1

DPCM-1

z1(n)

z2(n)

zk(n)

x(n)+

Il codificatore usato in trasmissione, che necessita in ricezione del decodificatore appenadisegnato, prende il nome di sub-band-codec, ossia codificatore per suddivisione in sottobande.

Si intuisce subito che questo tipo di codifica non si può realizzare in analogico, ma solo innumerico, in quanto non potremo mai realizzare filtri analogici che forniscano le prestazionirichieste da questo sistema.

Riflettiamo su quello che avviene in trasmissione: il segnale x(n) in ingresso al trasmettitore è unsegnale tempo-discreto campionato a frequenza fC; il valore di questa frequenza è stato scelto inmodo tale che fosse rispettato il teorema del campionamento con riferimento al segnale x(t) (che puòessere ad esempio il segnale vocale), supposto di banda B: doveva risultare fC>2B. Quindi, ilcodificatore riceve in ingresso campioni alla velocità di fC al secondo, ossia uno ogni T secondi,dove ovviamente T=1/fC.

Il segnale x(n) viene poi suddiviso in tanti segnali yk(n) di banda molto più piccola: sesupponiamo per esempio che i filtri del banco siano M e che essi coprano l’intero intervallo difrequenza [-fC/2,fC/2], i segnali yk(n) avranno ciascuno una banda fC/M. Con questo stiamosupponendo ovviamente che i filtri siano tutti uguali, cosa che, come si vedrà, non è necessaria.

Nonostante questa banda ridotta di un fattore M, i segnali yk(n) hanno la stessa frequenza dicampionamento del segnale x(n) di partenza. I successivi codificatori DPCM, allora, devono lavorareancora a frequenza fC, in quanto ricevono ancora campioni alla velocità di uno ogni T secondi.D’altra parte, però, essendo i segnali yk(n) a banda più stretta rispetto ad x(n), si può pensare diricampionarli a frequenza più bassa: se la banda del generico yk(n) è M volte più piccola di quella dix(n), si può pensare di abbassare di un fattore M la frequenza di campionamento. Sarebbe infattiancora soddisfatto il teorema del campionamento:

YCC

Y B2M2

f2

M

ff ===

Come si vede, la frequenza di campionamento fY del generico yk(n) è pari al doppio della bandaBY dello stesso yk(n), per cui il teorema del campionamento è rispettato. Questa operazione di

Page 6: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli6

sottocampionamento di un fattore M prende il nome di decimazione di un fattore M ed è stataampiamente discussa (sarà peraltro ripresa anche più avanti).

Andiamo dunque a perfezionare lo schema del trasmettitore, introducendo i sottocampionatori:

x(n)

DPCM

DPCM

DPCM

y1(n)

y2(n)

yk(n)

z1(n)

z2(n)

zk(n)

xT(n)

1êM

1êM

1êM

Evidentemente, con il simbolo 1↓↓M abbiamo indicato i sottocampionatori di un fattore M.Il vantaggio di questo modo di procedere è essenzialmente nel fatto che i codificatori DPCM

possono adesso lavorare a frequenza M volte più bassa, in quanto ricevono i campioni alla velocitànon più di uno ogni T secondi, ma di uno ogni MT secondi: infatti, avendo ridotto la frequenza dicampionamento di un fattore M, abbiamo aumentato il periodo di campionamento della stessaquantità.

Ovviamente, questo modo di procedere diventa utilizzabile solo se, in ricezione, riusciamo aricostruire x(n). Nell’ipotesi che il segnale xT(n) trasmesso sul canale arrivi intatto in ricezione, èevidente che tutto funziona se mettendo semplicemente in cascata il trasmettitore ed il ricevitore,abbiamo in ingresso ed in uscita lo stesso segnale x(n), il che significa che il sistema ha una funzionedi trasferimento di modulo unitario e fase rettilinea (sistema passa-tutto).

D’altra parte, se mettiamo in cascata trasmettitore e ricevitore, la parte di trasmettitore inclusa tralinee tratteggiate nell’ultima figura e la parte di ricevitore inclusa tra linee tratteggiate nella figuraprecedente si elidono, in quanto sono perfettamente duali. La connessione tra trasmettitore ericevitore si riduce allora a quanto segue:

Page 7: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli7

x(n)

y1(n)

y2(n)

yk(n)

1êM

1êM

1êM

x(n)+

...................... ......................

TECNICA DEI FILTRI MIRROR PER UNA SUDDIVISIONE IN 2 SOTTOBANDE

Indaghiamo più a fondo sullo schema ottenuto nel paragrafo precedente, mettendoci però nel casosemplice di un banco composto da 2 soli filtri:

x(n)

y1(n)

y2(n)

1ê2

1ê2 +

y1C(n)

y2C(n)

In questo caso, quindi, i segnali y1(n) e y2(n) hanno una banda pari esattamente a metà della bandadi x(n): quest’ultimo ha banda fC/2, per cui y1(n) e y2(n) hanno ciascuno una banda fC/4. Essipossono essere allora campionati al doppio di fC/4, ossia fC/2, ossia una frequenza di campionamentometà di quella usata per ottenere x(n).

Supponiamo che lo spettro di x(n), nel periodo non ambiguo, sia il seguente:

ffC/2-fC/2 B-B

X(f)

-fC fC

Page 8: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli8

I due filtri del banco sono uno passa-basso, idealmente rettangolare tra 0 e fC/4, e l’altroidealmente rettangolare tra fC/4 e fC/2:

ffC/2-fC/2 B-B

X(f)

-fC fC

ffC/2-fC/2

H1(f)

-fC fCfC/4-fC/4

ffC/2-fC/2

G1(f)

-fC fC-fC/4 fC/4

Se il filtro passa-basso ed il filtro passa-alto sono in grado di cancellare tutti i termini al di là difC/4, con il sottocampionamento non si creano problemi di aliasing. Otteniamo infatti in uscita daifiltri due segnali il cui spettro, ripetuto periodicamente a passo fC/2, non porta ad alcunasovrapposizione tra le repliche: le repliche risultano perfettamente adiacenti ma non sovrapposte.

C’è però un evidente problema: entrambi filtri cancellano la componente delsegnale X(f) a frequenza fC/4 (in quanto le rispettive funzioni ditrasferimento hanno modulo 0 a questa frequenza), la quale quindi siperde e non potrà più essere recuperata; questo esclude sicuramente che, in sededi ricostruzione, qualsiasi operazione intermedia venga fatta, si possa riottenere x(n).

Deduciamo che l’unico modo perché il tutto funzioni, cioè per evitare la perdita di componentispettrali, è quello di fare i due filtri parzialmente sovrapposti, ossia con un debordo al di là di fC/4,come indicato nella figura seguente:

Page 9: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli9

ffC/2-fC/2

H1(f)

-fC fCfC/4-fC/4

ffC/2-fC/2

G1(f)

-fC fC-fC/4 fC/4

Naturalmente, usando filtri di questo tipo, è vero che non rischiamo di perdere componentispettrali, ma è anche vero che otteniamo in uscita due segnali y1C(n) e y2C(n) che non rispettano più ilteorema del campionamento: ciò significa che, sottocampionando y1(n) e y2(n) di un fattore 2 (cioècon frequenza fC/2), la periodicizzazione degli spettri porta inevitabilmente dell’aliasing. Questoaliasing coinvolte evidentemente le frequenze maggiori del segnale y1(n) e quelle minori di y2(n).

A questo punto, una volta accertato che non possiamo fare a meno di questo aliasing, ha sensochiederci se possiamo in qualche modo sbrogliarlo. In altre parole, mandando y1C(n) e y2C(n) iningresso ai filtri di ricostruzione, possiamo provare a scegliere le funzioni di trasferimento di talifiltri in modo da tener conto dell’aliasing inevitabile e da sbrogliarlo.

Cerchiamo allora di capire come devono essere fatti questi filtri. La prima osservazione da fare èche questi filtri ricevono in ingresso due segnali campionati a passo 2T (per cui ricevono uncampione ogni 2T secondi) e devono dare in uscita altri due segnali, campionati però a passo T.L’unico modo per ottenere questo aumento di frequenza di campionamento (interpolazione) è nelpredisporre, prima di ogni filtraggio, appunto una operazione di sovracampionamento di un fattore 2,che compensi il precedente sottocampionamento:

H1(f)

G1(f)

x(n)

y1(n)

y2(n)

1ê2

1ê2

H2(f)

G2(f) +

y1C(n)

y2C(n)

1é2

1é2

I sovracampionatori funzionano in un modo a noi ben noto: essi inseriscono, esattamente a metàtra ciascuna coppia di campioni consecutivi in ingresso, un campione nullo (metodo dello zerointerleaving). Questo provoca un allontanamento delle repliche spettrali, ossia appunto un aumentodella frequenza di campionamento. Il passo successivo consiste semplicemente in un filtraggio,rappresentato rispettivamente da H2(f) e G2(f), delle repliche spettrali a cavallo di fC/2.

A questo punto, avendo indicato con H1(f) e G1(f) i due filtri rispettivamente passa-basso e passa-banda iniziale, il procedimento da seguire è chiaro: dobbiamo calcolare le 4 funzioni di trasferimentoH1(f),G1(f), H2(f),G2(f) in modo che l’uscita di quel blocco coincida con l’ingresso. In realtà, non è

Page 10: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli10

proprio così, perché non possiamo fare a meno di considerare il ritardo di un certo numero di passi dicampionamento con cui il segnale in uscita risulta temporalmente sfasato con quello di ingresso. Ciòsignifica che i nostri calcoli vanno fatti imponendo che, se l’ingresso è x(n), in uscita sia abbia x(n-k), con k qualsiasi (da determinare).

Sostanzialmente, il calcolo che dobbiamo condurre si basa sui seguenti passi:

• per ciascun ramo, dobbiamo calcolare prima lo spettro del segnale filtrato, poi lo spettro delsegnale sottocampionato, poi lo spettro del segnale sovracampionato ed infine lo spettro delsegnale interpolato;

• successivamente, componendo le due uscite dovremo imporre che la somma dia x(n) ritardato,ossia dovremo imporre che si cancellino i termini indesiderati (dovuti essenzialmenteall’aliasing) e rimangano solo i termini utili.

Vediamo allora i dettagli analitici.Sia X(f) lo spettro di x(n). Nel ramo superiore, la prima operazione è il prodotto con la funzione

di trasferimento H1(f): otteniamo perciò lo spettro H1(f)X(f). Il segnale avente questo spettro è unasequenza di numeri, per cui è uno spettro periodico con periodicità pari alla frequenza dicampionamento, che è ancora fC. Questo segnale entra nel sottocampionatore, in uscita dal quale siotterrà ancora uno spettro di periodico, ma di periodicità fC/2. Questa periodicizzazione comportasemplicemente che l’uscita del sottocampionatore sia del tipo

−+

2

ffX

2

ffH)f(X)f(H CC

11

dove chiaramente il secondo termine di questa somma, dovuto alla periodicizzazione, è quello cheproduce l’aliasing.

Successivamente, questo segnale viene modificato dal sovracampionato tramite un inserimento dicampioni nulli, il che consente di riportare artificiosamente la periodicità in frequenza al valore fC.D’altra parte, sappiamo che lo spettro del segnale, nell’intervallo non ambiguo, resta immutatodall’ingresso all’uscita del sovracampionatore, per cui all’uscita di tale dispositivo abbiamo ancora

−+

2

ffX

2

ffH)f(X)f(H CC

11

Questo segnale va infine in ingresso al filtro interpolatore H2(f), la cui uscita sarà quindi unsegnale il cui spettro è

)f(H2

ffX

2

ffH)f(X)f(H 2

CC11

−+

Il discorso è ovviamente identico per il ramo inferiore della struttura: all’uscita di tale ramo, siottiene il segnale il cui spettro è

)f(G2

ffX

2

ffG)f(X)f(G 2

CC11

−+

Le uscite dei due rami vengono infine sommate e noi dobbiamo imporre che esse diano luogo ax(n-k): lo spettro di x(n-k) è lo spettro di x(n) moltiplicato per un termine di fase che tiene conto delritardo temporale di k passi di campionamento, per cui sarà uno spettro nella forma fk2je)f(X π− .

Page 11: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli11

Imponendo dunque la desiderata uguaglianza, otteniamo

fk2j2

CC112

CC11 e)f(X)f(G

2

ffX

2

ffG)f(X)f(G)f(H

2

ffX

2

ffH)f(X)f(H π−=

−++

−+

A questo punto, risolvere questa equazione significa, come anticipato prima, imporre che i terminiindesiderati si elidano a vicenda e quindi che i termini rimanenti diano luogo esattamente a

fk2je)f(X π− . I termini indesiderati sono ovviamente quelli legati alle repliche spettrali di X(f) centratesu fC/2, per cui dobbiamo imporre che tali termini si cancellino a vicenda: ciò significa imporre che

0)f(G2

ffX

2

ffG)f(H

2

ffX

2

ffH 2

CC12

CC1 =

−+

Imposto questo, l’altra condizione viene di conseguenza e dice semplicemente che i terminirimanenti, sommandosi, devono dare fk2je)f(X π− :

fk2j2121 e)f(X)f(G)f(X)f(G)f(H)f(X)f(H π−=+

Abbiamo dunque ottenuto il seguente sistema di 2 equazioni in 4 incognite:

=

−+

=+ π−

0)f(G2

ffX

2

ffG)f(H

2

ffX

2

ffH

e)f(X)f(G)f(X)f(G)f(H)f(X)f(H

2CC

12CC

1

fk2j2121

Nella seconda relazione, compare un termine X(f-fC/2) che si può eliminare così come nella primaequazione compare un termine X(f) che si può eliminare1, per cui concludiamo che

=

−+

=+ π−

0)f(G2

ffG)f(H

2

ffH

e)f(G)f(G)f(H)f(H

2C

12C

1

fk2j2121

Questo sistema, quindi, ci garantisce che il nostro dispositivo a 2 rami, ricevendo in ingresso x(n),dia in uscita esattamente x(n) al più ritardato di k passi di campionamento.

Il sistema ci offre evidentemente 2 gradi di libertà, che dobbiamo cercare di spendere nel modopiù opportuno. Una delle tecniche possibili prevede che un grado di libertà venga speso imponendoche i due filtri H1(f) e G1(f) siano perfettamente speculari rispetto alla frequenza fC/4:

1 E’ ovvio che i termini in X(f) debbano scomparire, per il semplice fatto che lo schema adottato deve necessariamente prescindere

dal tipo di segnale che poniamo in ingresso e che vogliamo ottenere in uscita

Page 12: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli12

ffC/4

H1(f)

fC/2

G1(f)

Analiticamente, questa condizione si può esprimere facilmente se si considerano i vari spettri non

più in funzione della frequenza f, ma in funzione della pulsazione normalizzata Cf

f2fT2

π=π=Ω :

rispetto ad Ω, il sistema delle due equazioni assume evidentemente l’espressione

( ) ( )

=Ωπ+Ω+Ωπ+Ω=ΩΩ+ΩΩ Ω−

0)(GG)(HH

e)(G)(G)(H)(H

2121

jk2121

e la condizione di specularità tra H1(Ω) e G1(Ω) si può semplicemente esprimere con la relazione)(H)(G 11 π+Ω=Ω .

Inserendo dunque questa equazione nel sistema, otteniamo

( ) ( )

π+Ω=Ω=Ωπ+Ω+Ωπ+Ω

=ΩΩ+ΩΩ Ω−

)(H)(G

0)(GG)(HH

e)(G)(G)(H)(H

11

2121

jk2121

Ci resta adesso un ultimo grado di libertà. Possiamo allora osservare che, così come H1(Ω) eG1(Ω) sono filtri, rispettivamente, passa-basso e passa-banda, anche H2(Ω) e G2(Ω) sono,rispettivamente, passa-basso e passa-banda: infatti, H2(Ω) lascia passare i termini intorno ad fC ecancella le repliche intorno a fC/2, mentre invece G2(Ω) lascia passare i termini centrati a fC/2 mentrecancella tutti quelli centrati a fC e multipli. Allora, possiamo pensare di rendere, ad esempio, H1(Ω) eH2(Ω) identici:

( ) ( )

Ω=Ωπ+Ω=Ω

=Ωπ+Ω+Ωπ+Ω=ΩΩ+ΩΩ Ω−

)(H)(H

)(H)(G

0)(GG)(HH

e)(G)(G)(H)(H

21

11

2121

jk2121

A questo punto, siamo in grado di risolvere il sistema. Per esempio, se usiamo le ultime duerelazioni per esprimere G1 ed H2 in funzione di H1 e poi sostituiamo nelle prime due equazioni,otteniamo

( ) ( )

=Ωπ−Ω+Ωπ+Ω=Ωπ+Ω+Ω Ω−

0)(GH)(HH

e)(G)(H)(H

2111

jk21

21

Page 13: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli13

Dalla seconda potremmo adesso tirar fuori G2(Ω) e sostituire nella prima, in modo che resti comeunica incognita H1(Ω). In realtà, invece, il progetto vero e proprio dei filtri viene generalmentebasato sulla prima delle due equazioni rimaste, ossia

Ω−=Ωπ+Ω+Ω jk21

21 e)(G)(H)(H

Si può verificare che questa equazione, in base alle posizioni fatte, equivale anche a

Ω−=π+Ω−Ω jk21

21 e)(G)(H

Possiamo fare un semplice esempio per chiarirci le idee. Consideriamo, come filtri H1 e G1,rispettivamente il filtro passa-basso di complessità minima ed il filtro passa-alto con complessitàminima.

Il filtro passa-basso di complessità minima è quello che fa la media aritmetica di due campioniadiacenti2: questo filtro, come è noto, ha una funzione di trasferimento del tipo

( )2/cose)(H j1 Ω=Ω Ω−

dove ricordiamo sempre che Ω=2πfT. La funzione di risposta all’impulso di questo filtro è compostaevidentemente da due campioni, entrambi di ampiezza 0.5:

0.5

Come filtro passa-alto, in base alla condizione )(H)(G 11 π+Ω=Ω , dovremo considerare un filtro

identico specularmente rispetto a fC/4, ossia il cosiddetto filtro MIRROR di H1(Ω). La funzione ditrasferimento di questo filtro sarà allora

( ) ( )2/sine2

cose)(G jj1 Ω=

π+Ω

=Ω Ω−π+Ω−

La corrispondente funzione di risposta all’impulso è la seguente:

0.5

-0.5

2 Si ricordi infatti che un filtro passa-basso effettua, nel tempo, una media.

Page 14: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli14

Questa coppia di filtri soddisfa le equazioni di progetto prendendo k=1, ossia ottenendo in uscitail segnale di ingresso ritardato di un solo passo di campionamento.

Quella appena descritta prende il nome, per motivi evidenti, di tecnica dei filtri MIRROR inquadratura.

Osservazione: iterazione della struttura per M sottobande

Nei paragrafi precedenti abbiamo esaminato la tecnica di sub-band-coding, nella quale si scinde ilsegnale, tramite un opportuno banco di filtri, come somma di tanti segnali passa-banda; da talisegnali, rispettando opportune regole, è possibile, riallocando ogni contributo nella banda dicompetenza, la ricostruzione il segnale di partenza.

Questo discorso assume particolare importanza nel caso in cui si possono sfruttare particolaricaratteristiche dell’utenza cui il segnale è destinato. Un esempio molto semplice si ha nel caso in cuiil segnale in questione è quello vocale o quello musicale, per cui l’utente è l’uomo. In questo caso,ha senso considerare che l’orecchio umano ha una curva di sensibilità notoriamente non uniforme,che presenta il suo massimo intorno ai 1000 Hz (frequenza centrale del campo udibile) per poidecadere sia a destra sia a sinistra. Questo implica che un rumore presente a frequenze cui l’orecchioè meno sensibile darà meno fastidio del rumore presente alle frequenze cui l’orecchio è più sensibile.Sulla base di ciò, ha senso, una volta decomposto il segnale in tantefettine spettrali, usare algoritmi di codifica differenziati per lediverse componenti spettrali identificate. In tal modo, ci ricolleghiamo alloschema di principio considerato in precedenza:

x(n)

DPCM

DPCM

DPCM

y1(n)

y2(n)

yk(n)

z1(n)

z2(n)

zk(n)

xT(n)

1êM

1êM

1êM

Ciascuna fettina spettrale di x(n), dopo il sottocampionamento, può essere codificata in mododiverso a seconda che contenga frequenze cui l’orecchio è più sensibile o frequenze cui invecel’orecchio è meno sensibile. In generale, cioè, si può mettere in piedi un sistema di codifica che sia ilpiù possibile mirato all’applicazione che si considera.

Naturalmente, questo discorso lascia intendere che non sia possibile individuare il codificareideale, che cioè sia ottimale per tutte le situazioni, proprio perché in ciascun contesto lacaratteristiche dell’utenza saranno diverse. Si deve perciò valutare di volta in volta la suddivisione ela successiva codifica che siano ottimali.

Nel caso particolare di scomposizione del segnale in due sole sottobande, abbiamo visto che unastruttura di composizione spettrale può essere la seguente:

Page 15: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli15

H2(f)

G2(f) +

1é2

1é2

H1(f)

G1(f)

x(n)

y1(n)

y2(n)

1ê2

1ê2

banco dianalisi

banco disintesi

In questo tipo di struttura, i filtri H1(f) e G1(f) del banco di analisi sono rispettivamente un passa-basso ed un passa-alto (centrati rispettivamente a frequenza 0 ed a frequenza fC/2), parzialmentesovrapposti per evitare perdita di componenti spettrali:

ffC/4

H1(f)

fC/2

G1(f)

I segnali in uscita da tali filtri sono di banda due volte più piccola rispetto al segnale di partenza,per cui possono essere sottocampionati a frequenza metà rispetto al segnale di partenza.

Nel banco di sintesi si esegue l’operazione duale, cioè un sovracampionamento seguito da unainterpolazione con filtri opportuni, in modo da ricostruire nuovamente x(n), tutt’al più ritardato di unnumero k di passi di campionamento dipendente dai filtri utilizzati. Se non fosse possibile ricostruirex(n), la scomposizione effettuata dal banco di analisi non servirebbe ovviamente a niente.

Questo è dunque un riepilogo di quanto visto nei precedenti paragrafi. E’ ovvio che ildiscorso sia generalizzabile ad una scomposizione in più bande difrequenza. Infatti, per scomporre x(n) in più fettine spettrali, possiamo pensare di usaredirettamente un banco di M filtri, dove M sono le fettine spettrali che vogliamo ottenere, mapossiamo anche pensare di iterare la struttura a 2 soli filtri, mediante uno schema del tipo seguente:

x(n)

1ê2

1ê2

1ê2

1ê2

1ê2

1ê2

Page 16: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli16

Con questo schema otteniamo chiaramente una suddivisione in 4 sottobande: all’uscita dei 4 rami,otteniamo 4 segnali, ciascuno corrispondente ad una fettina spettrale di banda approssimativamente1/4 di quella di x(n) e sottocampionati ad una frequenza esattamente pari ad 1/4 della frequenza dicampionamento iniziale.

Osservazione

Consideriamo per un attimo la scomposizione del segnale x(n) di partenza in 2 sole sottobande,secondo lo schema seguente:

H2(f)

G2(f) +

1é2

1é2

H1(f)

G1(f)

x(n)

y1(n)

y2(n)

1ê2

1ê2

banco dianalisi

banco disintesi

Nell’adottare questo schema (e quindi anche tutti gli altri che da esso derivano) è importante porreun minimo di attenzione nell’operazione di sottocampionamento del termine passa-alto y2(n) inuscita dal filtro passa-alto G1(f).

Per comprendere bene a cosa ci riferiamo, facciamo un analisi di quello che accade nei vari puntidella catena, con riferimento al dominio della frequenza.

Nella figura seguente sono indicati lo spettro del segnale analogico x(t) di partenza e lo spettro delcorrispondente segnale tempo-discreto x(n) ottenuto dal campionamento a frequenza fC:

f-2fC -fC fC/2 fC-fC/2 2fC

spettro di x(t)

f-2fC -fC fC/2 fC

X(f)

-fC/2 2fC

Siamo nei limiti del teorema del campionamento per cui non abbiamo problemi.

Page 17: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli17

Questo segnale, in base allo schema visto prima, va in ingresso al filtro passa-alto G1(f), il qualeisola solo i termini spettrali in alta frequenza (da poco prima di fC/4 fino a fC/2), come indicato nellafigura seguente:

f-2fC -fC fC/2 fC-fC/2 2fC

G1(f)

f-2fC -fC fC/2 fC-fC/2 2fC

Y2(f)

+- +-+- +- +-

La figura superiore indica la posizione relativa del segnale e del filtro, con riferimento al solo periodofondamentale, dato che la situazione si ripete identicamente in ogni periodo. La figura inferiore indica

invece l’esito del filtraggio (questa volta su tutto lo spettro), che lascia passare solo le componentispettrali che vanno da poco prima di fC/4 ad fC/2 (e analogamente per la parte negativa dello spettro). Isegni + e - indicati, rispettivamente, nella banda positiva ed in quella negativa serviranno nei discorsi

successivi per indicare il posizionamento delle bande dopo il sottocampionamento

Il segnale y2(n) viene quindi campionato a frequenza fC/2, il che significa che il suo spettro vieneperiodicizzato a passo fC/2:

f-2fC -fC fC/2 fC-fC/2 2fC

Y2C(f)

+- +-+- +- +-+ - + - + - + - + -

A parte l’aliasing, che abbiamo visto essere inevitabile se non vogliamo perdere componentispettrali, è evidente una cosa: nel periodo non ambiguo, che adesso è [ ]4/f,4/f CC− , abbiamo un

segnale passa-basso contenente effettivamente le due sottobande di nostro interesse, ma talisottobande sono state invertite, nel senso che i termini a frequenza positiva sono passi a frequenzanegativa e viceversa.

Questo fatto ha importanza quando si effettua una ulteriore suddivisione del segnale in duesottobande, secondo uno schema in cascata del tipo proposto nel precedente paragrafo:

Page 18: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli18

H1(f)

G1(f)

x(n)

1ê2

1ê2

H11(f)

G11(f)

1ê2

1ê2

H12(f)

G12(f)

1ê2

1ê2y2(n) y2C(n)

Il filtro passa-basso H12(f) isola i termini in bassa frequenza di y2C(n), che però si trovano con lebande scambiate. E’ dunque necessario porre attenzione a questo aspetto.

Osservazione: suddivisione del segnale in bande di ampiezza crescente

E’ evidente che, con lo schema riproposto nell’ultima figura, otteniamo un suddivisione delsegnale x(n) di partenza in 4 sottobande, tutte di uguale ampiezza fC/8. Ci sono però delleapplicazioni in cui questa suddivisione non è opportuna. Per esempio, per ricondurci a quanto dettoin precedenza, l’orecchio dell’uomo effettua una scomposizione in bandediverse, che in particolare hanno ampiezza crescente in modoesponenziale al crescere della frequenza.

Richiami di AcusticaIn acustica, l’intero spettro di frequenze udibili viene diviso in intervalli di frequenza (bande

di frequenza), continui e abbastanza piccoli per non perdere di dettaglio, ciascunocaratterizzato da una propria frequenza centrale. In corrispondenza di ciascuna frequenzacentrale di effettua la misura di una qualche caratteristica del suono, come ad esempio il livellodi potenza:

20

30

40

50

60

70

80

90

100

110

31,5 63 125 250 500 1k 2k 4k 8k 16k

Frequenza (Hz)

Liv

ell

o d

i pote

nza (

dB

)

Page 19: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli19

Per evidenziare l’andamento dello spettro di potenza, i punti così ottenuti vengono uniti traloro anche se i valori letti sui segmenti che uniscono i punti non forniscono alcuna informazione.

La scelta dell’ampiezza delle bande di frequenza viene solitamente fatta imponendo unaampiezza proporzionale alla frequenza inferiore della banda. In tal modo, si ottiene che leampiezze di banda e le frequenze inferiori e superiori della bandesono in progressione geometrica.

In particolare, la cosiddetta frequenza centrale (o anche frequenza di centro banda)

della generica banda [ ]f f1 2, è legata alle due frequenze estreme della banda stessa attraverso la

media geometrica: si ha cioè che f f fC = 1 2 .

In acustica, le bande di frequenza hanno sempre la ragione della progressione geometrica pariad una potenza di 2: ciò significa che la frequenza finale f2 e quella iniziale f1 della banda sonolegate da una relazione del tipo

f fn2 12=

A seconda del valore di n, si hanno bande più o meno larghe:

• quando n = 1 , si ottengono le cosiddette bande di ottava, per le quali risulta quanto segue:

f f2 12= ffC

12

= f fC2 2=

• l’altra possibilità è n = 1 3/ , nel qual caso si ottengono le cosiddette bande in terzi diottava, ovviamente più strette delle precedenti:

f f23

12= ffC

1 6 2= f fC2

6 2=

Il campo udibile può essere suddiviso indifferentemente in basedi ottava o di terzi di ottava contigue ed esistono delle preciseconvenzioni internazionali in proposito.

Per ottenere allora una scomposizione del segnale in bande di ampiezza diversa, si può ancorausare lo schema di prima, con opportuni accorgimenti. Ad esempio, si può mettere in piedi unastruttura gerarchica di analisi spettrale, che utilizzi intervalli di frequenza che crescono in ampiezzacome una potenza di due, nel modo seguente:

x(n)

1ê2

1ê2

1ê2

1ê2

1ê2

1ê2

Page 20: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli20

I blocchi posti prima dei sottocampionatori sono dei filtri passa-basso per i canali superiori e deifiltri passa-alto per i canali inferiori.Considerando le uscite dall’alto verso il basso, l’ampiezza di

banda aumenta come una potenza di 2.Ovviamente, ogni singolo stadio deve essere progettato in maniera che, pensato direttamente in

cascata con lo stadio duale, consenta di ricostruire esattamente il segnale di partenza.

Codifica a sottobande del segnale vocale

Sono state sviluppate diverse tecniche per rappresentare efficientemente i segnali vocali indigitale, al fine sia di memorizzarli sia di trasmetterli nel mondo migliore possibile. Dato che granparte dell’energia del segnale vocale è contenuta alle basse frequenze (non oltre i 3400 Hz), èopportuno codificare la banda di bassa frequenza con più bit rispetto a quelli usati per la banda dialta frequenza. La codifica a sottobande è un metodo in base al quale il segnale vocale è suddiviso invari intervalli di frequenza, di ampiezza opportuna, e ciascun intervallo viene codificatonumericamente in modo distinto da tutti gli altri.

Un esempio di suddivisione in sottobande è quello proposto nel paragrafo precedente e qui diseguito riproposto:

Filtropassa-basso

Filtropassa-alto

x(n)

1ê2

1ê2

Filtropassa-basso

Filtropassa-alto

1ê2

1ê2

Filtropassa-basso

Filtropassa-alto

1ê2

1ê2

Encoder

Encoder

Encoder

Encoder

Supponiamo che il segnale vocale sia stato campionato a frequenza fC=1/T (un campione ogni Tsecondi), per cui la sequenza x(n) ha uno spettro X(f) alla ripetizione periodica del segnale x(t) dipartenza a passo fC. La prima suddivisione separa X(f) in due bande di uguale ampiezza: un segnalepassa-basso (0≤f≤ fC/4) ed un segnale passa-alto (fC/4≤f≤fC/2). Il segnale passa-alto viene inviato cosìcom’è al codificatore, che provvederà a quantizzarlo in modo opportuno. Il segnale passa-basso,invece, viene ulteriormente scomposto in due parti, che sono ancora un segnale passa-basso(0<f≤fC/8) ed un segnale passa-alto (fC/8≤f≤fC/4). Anche qui, il segnale passa-alto viene inviato alcodificatore, mentre quello passa-basso subisce una ulteriore (e conclusiva) suddivisione, dando unsegnale passa-basso (0<f≤fC/16) ed un segnale passa-alto (fC/16≤f≤fC/8). Questi due segnali vengonoa loro volta inviati ai rispettivi codificatori.

In conclusione, le 4 uscite del blocco di suddivisione comprendono due segnali (i primi due canalisuperiori) di banda fC/16, un segnale (penultimo canale) di banda fC/8 ed un segnale (ultimo canale)di banda fC/4. La banda, dunque, in uscita cresce come una potenza di 2 (fC/24, fC/24, fC/23 e fC/22),come illustrato nella figura seguente:

Page 21: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli21

1 2 3 4

fC/2fC/4fC/8fC/16

I componenti usati nel blocco di analisi (cioè appunto quello che effettua la suddivisione) sono,oltre ai codificatori, 3 filtri passa-basso, 3 filtri passa-alto e 6 decimatori di un fattore due. Questiultimi lavorano dopo che è stata effettuata la suddivisione in frequenza, per cui lavorano alla minimafrequenza possibile su ciascun ramo.

Assegnando un differente numero di bit per campione a ciascun segnale nei 4 canali, possiamoottenere una riduzione del bit rate per il segnale vocale digitalizzato. Ovviamente, dobbiamo fare inmodo da conservare tutte le componenti spettrali desiderate o, comunque, dobbiamo progettare ilblocco di analisi in modo che, in fase di sintesi, si riesca a ricostruire perfettamente (a meno dieventuali errori di trasmissione) il segnale x(n) di partenza, a meno eventualmente di un ritardotemporale di propagazione. Si tratta perciò sostanzialmente di riapplicare gli stessi discorsi visti aproposito dei filtri mirror: infatti, se vogliamo conservare tutte le componenti spettrali del segnale,siamo obbligati ad operare un filtraggio dei vari segnali tale da provocare aliasing dopo ladecimazione; l’effetto di questo aliasing deve essere poi sbrogliato successivamente, tramite il bancodi sintesi, per cui il progetto deve essere fatto connettendo direttamente i banchi di analisi e sintesi escegliendo le funzioni di trasferimento dei filtri in modo che l’uscita sia semplicemente una versioneritardata (eventualmente anche scalata) dell’ingresso. Una possibile soluzione a questo problema èquella data appunto dai filtri mirror.

Per quanto riguarda il banco di sintesi, dobbiamo sostanzialmente operare un processo inverso aquello di analisi: i segnali in bande adiacenti vanno infatti interpolati (per ripristinare l’originalefrequenza di campionamento), filtrati (per eliminare le repliche dovute all’interpolazione) ed infinecombinati insieme.

BLOCCO FILTRO/SOTTOCAMPIONATORE E SUA INVERTIBILITÀ

Continuiamo a considerare il banco di analisi necessario a suddividere il segnale x(n) di partenzain due sottobande:

H1(f)

G1(f)

x(n)

y1(n)

y2(n)

1ê2

1ê2

In questa struttura, come già osservato, i due filtri lavorano ancora a frequenza fC (= frequenza dicampionamento di x(n)), in quanto devono generare campioni in uscita alla stessa frequenza con cuiricevono i campioni in ingresso, ma anche i successivi sottocampionatori lavorano alla stessa

Page 22: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli22

frequenza: infatti, è vero che essi forniscono in uscita campioni a velocità dimezzata, ma è anchevero che ricevono tali campioni sempre a frequenza fC.

L’intera struttura, quindi, funziona con un clock a frequenza fC. Dato, però, che le usciteforniscono campioni a frequenza fC/2, si potrebbe pensare di calcolare l’uscita non ad ogni colpo diclock, ma un colpo di clock sì ed uno no. Questo non cambierebbe tuttavia la velocità deicomponenti: infatti, per poter calcolare l’uscita in un istante, è necessario conoscere i campioni delsegnale in tutti gli istanti precedenti, il che significa che il tempo a disposizione per calcolare l’uscitaè sempre 1/fC.

D’altra parte, proprio perché ci serve ottenere, sia per il ramo superiore sia per il ramo inferiore,un campione ogni due tra quelli in ingresso ai sottocampionatori, possiamo pensare di fare laseguente operazione: quando arrivano i campioni del segnale, si possono mettere alternativamente indue diverse catene di registri di memoria, che sono clockate a frequenza metà; in questo modo, unacatena conserva i campioni in posizione pari, mentre l’altra conserva i campioni in posizione dispari:

x(n)

1° catenadi memoria

2° catenadi memoria

Così facendo, in ciascuna catena il tempo tra un campione ed il successivo è 2/fC secondi e nonpiù 1/fC secondi. I due filtri possono così andare a velocità dimezzata rispetto a prima.

Chiaramente, se si effettua una suddivisione in più di 2 sottobande, i cammini multipli da crearein ingresso al banco di filtri saranno di più. In ogni caso, in ogni cammino ci sono campioni chedistano una distanza temporale maggiore rispetto a quelli del segnale originario (distanza doppia nelcaso di due cammini) e quindi è possibile usare hardware più lento(velocità metà nel caso dei duecammini).

C’è però un problema da considerare: per fare una operazione di questo tipo, dobbiamo usare unastruttura in cui le posizioni di filtro e sottocampionatore sono scambiate:

x(n)1êM Filtro

In effetti, questa struttura in cui il sottocampionatore viene prima del filtro, non è concettualmentediversa da quella descritta: basta infatti fare alcuni semplici passaggi analitici (li vedremo più avanti)per determinare la funzione di trasferimento HEQ(f) del filtro che consente di ottenere in uscita lostesso segnale ottenuto con la struttura considerata nei discorsi precedenti, vale a dire con il filtroprima del campionatore.

Al contrario, non è necessariamente vero il viceversa, nel senso che non sempre è possibile partiredalla struttura con il campionatore dopo il filtro e ricondurla ad una struttura con ilsottocampionatore a valle del filtro.

Page 23: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli23

E’ abbastanza immediato capire il motivo di quest’ultima affermazione. Consideriamo lo schemacon il filtro prima del campionatore:

H(f)x(n)

1êMy(n)

Lasciamo del tutto generico il filtraggio effettuato dal filtro H(f). In generale, l’uscita del filtro algenerico istante n è una media pesata degli ultimi N campioni di ingresso, dove N è la lunghezzadella risposta all’impulso del filtro stesso:

∑−

=

−=1N

0k

)kn(x)k(h)n(y

Il sottocampionatore prende y(n) e ne fornisce in uscita un campione ogni M, ad esempio uncampione ogni 2 se M=2. Tale uscita, però, per come funziona il filtro, è sempre una media pesatadegli ultimi N campioni x(n):

∑−

=

−==1N

0k

)knM(x)k(h)nM(y)n(u

Se invece invertiamo la posizione di filtro e sottocampionatore, le cose cambiano profondamente,in quanto i campioni che entrano nel filtro sono solo alcuni dei campioni del segnale x(n) e non tutti,come nel caso precedente. Ad esempio, nel caso M=2, il sottocampionatore fornisce solo uncampione ogni 2 dell’ingresso, per cui il successivo filtro effettua la propria media pesata sucampioni diversi rispetto a quando si trovava prima del campionatore.

Quindi, riepilogando, una struttura in cui il filtro precede il sottocampionatore non si prestasempre ad essere descritta da una struttura in cui il filtro segue il sottocampionatore. Abbiamo inveceanticipato prima che il contrario vale sempre, ossia è sempre possibile partire dalla struttura in cui ilfiltro segue il sottocampionatore e giungere alla struttura equivalente in cui invece il filtro precede ilsottocampionatore:

x(n)1êM H(f) HEQ(f)x(n) 1êM u(n)

Dobbiamo semplicemente capire come deve essere fatta HEQ(f).Per fare questo, anziché considerare la funzione di trasferimento del filtro, consideriamo la

funzione di sistema, ossia la trasformata zeta della risposta all’impulso del filtro stesso:

....zazaa)z(H.....aaa)n(h 22

110

Zdominio210 +++= →= −−

Consideriamo il caso semplice di M=2. I termini z-1 rappresentano ritardi unitari secondo lafrequenza di funzionamento del filtro. Se il filtro viene dopo il sottocampionatore, questa frequenzaè fC/2 e quindi un ritardo unitario corrisponde ad un ritardo di 2/fC per il segnale. Se invecespostiamo il filtro a monte del campionatore e vogliamo che le cose funzionino allo stesso modo,non possiamo evidentemente conservare la stessa funzione di trasferimento: infatti, mentre ilcoefficiente a0 va sempre applicato al primo campione, a1 non può essere applicato al campioneimmediatamente precedente, perché nell’altra configurazione (sottocampionatore a monte del filtro),

Page 24: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Appunti di “Elaborazione numerica dei segnali” - Capitolo 8

Autore: Sandro Petrizzelli24

tale campione non era disponibile al filtro, dato che era stato eliminato dal sottocampionatore.Deduciamo che il funzionamento della struttura non cambia (cioè, a parità di ingresso, si ottiene lastessa uscita), se la funzione di sistema della nuova configurazione (filtro→sottocampionatore) èH(z2), dove H(z) è la funzione di sistema della prima configurazione (sottocampionatore→filtro):

....zazaa)z(H)z(H 42

210

2EQ +++== −−

Calcolando HEQ(z) sul cerchio di raggio unitario, otteniamo evidentemente la funzione ditrasferimento del filtro per la configurazione filtro→sottocampionatore.

Concludendo l’argomento, risulta evidente che, a patto di porre ulteriori vincoli di progetto suifiltri da utilizzare sui vari cammini, è possibile implementare una struttura del tutto equivalente allaprima.

Applicazioni dell’elaborazione multirate deiApplicazioni dell’elaborazione multirate deisegnalisegnali

PROGETTO DI TRASLATORI TEMPORALI

Vogliamo progettare un sistema che, ricevendo in ingresso un dato segnale x(n), fornisca in uscitauna versione ritardata dello stesso segnale, con un ritardo pari ad una frazione di passo dicampionamento. Ad esempio, se T è il passo di campionamento di x(n), possiamo supporre che ilritardo temporale richiesto sia d=(k/I)T, dove k ed I sono numeri primi:

−→

I

knx)n(x DSP

Sappiamo che un ritardo temporale equivale, in frequenza, ad una rotazione lineare di fase: infatti,

se X(f) è lo spettro di x(n), lo spettro del segnale ritardato è T

I

kf2j

e)f(Xπ−

. La funzione ditrasferimento del filtro (lineare tempo-invariante) da usare è dunque tale da presentare modulo

unitario e fase T

I

kf2j

eπ−

. E’ ovvio che ci interessa che il filtro presenti queste particolari caratteristichenon su tutto lo spettro di frequenze, ma solo nella banda di interesse. Laddove questa banda non siaperò nota a priori, allora il filtro dovrà comportarsi nel modo richiesto su una banda più ampiapossibile.

Il fatto è che un filtro siffatto (è un passa-tutto a fase lineare) è molto difficile da progettare e poiimplementare. Possiamo allora verificare che è possibile usare i metodi di conversione dellafrequenza di campionamento per ottenere la traslazione temporale del segnale.

Il sistema che implementa tale traslazione è riportato nella figura seguente:

Page 25: Elaborazione numerica dei segnali - Libero.itusers.libero.it/sandry/download/DSPdownload/DSP_08b.pdf · Sistemi multirate (parte II) Autore: Sandro Petrizzelli 5 segnali zk(n) e supponiamo

Sistemi multirate (parte II)

Autore: Sandro Petrizzelli25

x(n)1éI H(f)

(passa-basso)

fX IfX IfX

Ritardo dik campioni 1êI

IfX fX

y(n)

Il segnale di partenza x(n) viene per prima cosa sovracampionato di un fattore I: come bensappiamo, l’operazione di sovracampionamento viene realizzata prima inserendo I-1 zeri tra ciascunacoppia di campioni consecutivi di x(n) e poi effettuando un filtraggio digitale teso ad eliminare lerepliche spettrali indesiderate. A questo punto, abbiamo a disposizione un segnale v(n) a frequenzadi campionamento IfX. Questo segnale viene banalmente ritardato di k campioni (la quale operazionenon ci dà problemi proprio perché consideriamo un numero intero di passi di campionamento), percui disponiamo adesso del segnale v(n-k), ancora a frequenza di campionamento IfX. Questo segnaleviene infine decimato di un fattore I (vengono cioè estratti 1 campione ogni I), in modo daripristinare la frequenza di campionamento iniziale (non c’è bisogno del filtraggio passa-bassopreliminare, in quanto il segnale di partenza aveva già di per se banda inferiore a fX/2).

Il segnale ricavato in uscita è proprio

I

knx .

Una considerazione importante, a questo punto, riguarda la struttura concreta con cuiimplementare il sistema appena descritto. Il modo più efficiente è quello di usare un banco diparticolari filtri, detti filtri polifase, di cui ci occuperemo nel prossimo capitolo.

Autore: SANDRO PETRIZZELLIe-mail: [email protected]

sito personale: http://users.iol.it/sandrysuccursale: http://digilander.iol.it/sandry1