Sei sulla pagina 1di 3

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE

A.A. 2011/12

ESERCITAZIONE N.5 DEL 05.12.2011

Banco di filtri PQMF


(SCADENZA 19 DICEMBRE 2011)
Premessa: banchi di filtri per codifica audio a sotto-bande Un codificatore audio a sotto-bande scompone il segnale in M differenti bande di frequenza (chiamate sottobande) tramite un banco di filtri detto di analisi. Le sottobande xi(n) sono sottocampionate di un fattore M in yi(m)=xi(Mm) e quantizzate. Il decodificatore provvede dapprima a sovracampionare, dello stesso fattore M, le sottobande quantizzate yi(m) per costruire i segnali xi(n) (con xi(mM)=yi(m) e xi(mM+l)=0 per l=0,,M-1) e poi provvede a filtrare gli xi(n) tramite il banco di filtri detto di sintesi. Quindi combina i segnali quantizzati di ciascuna sottobanda xi(m) nel segnale di output x(n).

La ragione per cui il segnale audio viene scomposto e processato per sottobande risiede nel fatto che, quando il segnale di una sottobanda viene quantizzato uniformemente, il rumore di quantizzazione che ne risulta, uniformemente distribuito in tale sottobanda. E quindi possibile adattare il rumore di quantizzazione per ciascuna sottobanda secondo dei modelli psicoacustici. Di fondamentale importanza per questo tipo di sistemi la scelta dei filtri di analisi e sintesi che deve garantire la perfetta ricostruzione (PR) (nella pratica invero quasi perfetta ricostruzione) del segnale in ingresso qualora non venga effettuata alcuna operazione di quantizzazione. Tre sono i tipi di distorsione da cancellare (o, nella pratica, minimizzare): fase, ampiezza e aliasing. Per quanto riguarda il vincolo sullaliasing, la garanzia di PR non impone che le singole sottobande siano esenti da aliasing, ma soltanto che tale aliasing sia cancellato quando viene ricomposto il segnale in uscita x(n). Per tale motivo i filtri di analisi e di sintesi devono essere correttamente accoppiati. Purtroppo i vincoli di PR non permettono n di realizzare filtri fortemente selettivi in frequenza (la non selettivit in frequenza controproducente nel caso di codifica dellaudio perch non si ha pi la garanzia di contenere il rumore di quantizzazione in una precisa sottobanda) n di realizzare banchi di filtri con pi sottobande a basso ritardo. Un compromesso rappresentato dai filtri di tipo Pseudo Quadrature Mirror Filter (PQMF) dove i filtri di analisi Hi(z) sono costruiti a partire dalla risposta allimpulso h(n) di un filtro passa basso, che funge
PAG. 1/3

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE


A.A. 2011/12

da prototipo, modulata tramite M frequenze portanti fi distribuite uniformemente nellintervallo [0,1/2]*Fs.

Qui la cancellazione degli effetti dellaliasing dovuta allopportuna scelta dei valori delle fasi che implicitamente fanno s che i filtri di analisi e di sintesi siano uno limmagine specchiata dellaltro: hi(n) = gi(N-1-n), che impone quindi una fase lineare per Hi(z)Gi(z) in ogni sottobanda. 1. Realizzazione di un banco di filtri PQMF a 32 sottobande In questo esercizio si chiede di realizzare in MATLAB un banco di filtri a 32 sottobande tramite filtri di tipo PQMF, cos come implementato nello standard MPEG audio (MPEG-1 Layer 1). Sia data dal file pqmf32.mat la risposta allimpulso del filtro passa basso di base h(n). Si costruiscano i filtri di analisi hi(n) modulando tale filtro base tramite la funzione coseno utilizzando le frequenze portanti e fasi indicate in figura rispettivamente come fi e i. Chiaramente i filtri PQMF non sono filtri passa banda ideali, ma ciascuno si sovrappone parzialmente ai filtri adiacenti, individuare la loro larghezza di banda supponendo di avere una frequenza di campionamento di 44.1 kHz. Per fare ci si rappresenti il modulo della risposta in frequenza dei filtri di 3 sottobande adiacenti (es. 2a, 3a, 4a) con la corretta indicazione dellasse delle frequenze (pqmf_freqz.png). La risposta allimpulso dei filtri di sintesi sar poi limmagine specchiata di quelli di analisi e si pu ottenere come gi(n) = hi(N-1-n). Esperimento 1 Per verificare la precisione nella ricostruzione del segnale in uscita dal banco di filtri di sintesi si implementi lintera catena del codificatore a sottobande (senza quantizzazione). Detto pqmf_output il segnale in uscita lo si salvi in un file pqmf_output_music.wav e lo si ascolti. Confrontandolo con il segnale originale detto pqmf_input si calcoli lSNR risultante. Domanda (importante): A causa del ritardo introdotto dal banco di filtri il segnale pqmf_input e pqmf_output risulteranno disallineati di un certo numero di campioni. Prima di effettuare il calcolo dellSNR individuare di quanti campioni questo disallineamento. Quale tecnica, gi vista e implementata in altre esercitazioni (seppure in un contesto diverso) pu essere utilizzata per individuare e calcolare il disallineamento delle due forme donda?

PAG. 2/3

CORSO DI ELABORAZIONE DELL'AUDIO DIGITALE


A.A. 2011/12

Esperimento 2 Utilizzando il file audio fornito con lesercitazione si sperimenti leffetto di aliasing ottenuto del segnale in uscita da uno qualsiasi (e uno soltanto!) dei filtri del banco di analisi (pqmf_subband_music.wav). Si ascolti laudio cos prodotto e se ne rappresenti lo spettrogramma per individuare la porzione di frequenze contenute nel segnale (pqmf_subband_music.png). Assolutamente facoltativo (cio per pura curiosit individuale) 1) Confrontare loutput, con aliasing, del segnale di una singola sottobanda con quello che si sarebbe ottenuto da un filtro passabanda con le stesse frequenze di taglio (alta e bassa). 2) Rappresentare lo spettro di potenza del segnale audio fornito con lesercitazione e confrontarlo con lo spettro di potenza del segnale dato dallerrore introdotto dal banco di filtri.

PAG. 3/3