Notes
Outline
Hands-on SHARC 2116x    1-day course

Filtraggio FIR
dalla teoria alla pratica
Angelo Farina
Università di Parma
farina@unipr.it
HTTP://pcfarina.eng.unipr.it
Programma
Campionamento
Campionare un segnale elettrico significa determinare il suo valore ad intervalli prefissati di tempo.
La frequenza di campionamento (fc) è il numero di campioni ottenuti in 1 secondo
Inoltre il valore ottenuto è noto solo con precisione finita, causa il “numero di bit” del convertitore, che è limitato (tipicamente compreso fra 16 e 24)
Discretizzazione in ampiezza e nel tempo
Puo’ il segnale campionato rappresentare “fedelmente” quello originale?
ESEMPI
CD audio – fc = 44.1 kHz – risoluzione 16 bit
La frequenza di Nyquist è dunque pari a 22.05 kHz, ed il filtro anti-aliasing comincia a tagliare attorno ai 20 kHz, affinchè a 22.05 kHz il segnale sia attenuato di un’ottantina di dB.
Un semplice sistema lineare
Rappresentazione con segnali campionati
Sistema “lineare”, distorsione
Un sistema lineare con filtro di correzione
Effetto combinato filtro+sistema
Possibili strategie di progettazione
di un filtro equalizzatore
Mourjopoulos – ricerca con il metodo dei minimi quadrati di una risposta all’impulso che, convoluta con quella del segnale di partenza, renda il risultato massimamente simile ad una Delta di Dirac (metodo molto lento ed ormai obsoleto)
Neely & Allen – si passa nel dominio della frequenza, e si crea un filtro tale che il modulo della sua risposta in frequenza compensi perfettamente la risposta in frequenza del sistema. Tale filtro viene generato con uno spettro fatto di soli valori reali (si dice che è “a fase minima”), cosa che dà luogo, tornando nel dominio del tempo, ad una risposta all’impulso simmetrica.
Nelson & Kirkeby – si opera ancora nel dominio della frequenza, ma a ciascuna frequenza si prende il reciproco del valore complesso della funzione di trasferimento del sistema, aggiungendo a denominatore una piccola quantità positiva (parametro di regolarizzazione) onde limitare eventuali picchi troppo alti.
Teoria del filtraggio inverso di Kirkeby
Step 1 – si trasforma la risposta all’impulso del sistema tramite una operazione di FFT:
Parametro di regolarizzazione e(w)
variabile con la frequenza
Che differenza c’è fra un segnale,
un sistema ed un filtro?
Nel dominio dei segnali campionati,
NON C’E’ NESSUNA DIFFERENZA!
Infatti si tratta sempre di “files WAV”, che possiamo ascoltare allo stesso modo.
Esempio di sistema con filtro equalizzatore
Risposta all’impulso del sistema
Esempio di sistema con filtro equalizzatore
Convoluzione del filtro inverso con la risposta del sistema
Misura della risposta all’impulso di un sistema
L’ipotesi di base è quella di conoscere sia il segnale in ingresso x(t), sia il segnale di uscita y(t)
La tecnica MLS (1)
Il segnale MLS (Maximum Lenght Sequence) è un segnale binario (l’ampiezza assume solo due valori discreti), generato con uno “shift register”
La tecnica MLS (2)
La principale caratteristica del segnale MLS è che la sua funzione di autocorrelazione è una Delta di Dirac perfetta.
Se pertanto si alimenta un sistema con il segnale MLS, crosscorrelando il segnale di eccitazione con la risposta del sistema si trova la risposta all’impulso dello stesso.
La tecnica dello “sweep” (1)
Si parte da un segnale di eccitazione sinusoidale, la cui frequenza viene fatta variare nel tempo, con legge lineare (“sweep lineare” o TDS) oppure esponenziale “sweep logaritmico”): nel primo caso lo spettro del segnale di eccitazione è bianco, nel secondo è rosa.
La tecnica dello “sweep” (2)
Si alimenta il sistema con il segnale sweep. Si campiona la risposta dello stesso. Infine si ottiene la risposta all’impulso convolvendo tale risposta del sistema, con un opportuno filtro inverso, che è derivato dal segnale di eccitazione stesso, invertito nel tempo ed eventualmente equalizzato (se era uno sweep logaritmico, occorre una rampa a crescere di 6dB/ottava)
CoolEdit e Aurora
CoolEdit è un programma di registrazione e riproduzione dei suoni, dotato di numerosissime funzioni di filtraggio ed editing dei segnali campionati
A CoolEdit possono essere facilmenti aggiunte nuove funzioni, tramite lo sviluppo di moduli addizionali , detti in gergo “plugins” (tecnicamente sono delle DLL) che implementano funzioni specifiche di generazione dei segnali o di elaborazione numerica degli stessi.
Onde facilitare la misurazione delle risposte all’impulso e la realizzazione di sistemi di filtraggio digitale, è stata sviluppata una libreria di moduli addizionali denominata AURORA.
Sia CoolEdit che Aurora sono shareware, e sono scaricabili da Internet agli indirizzi:
www.syntrillium.com
www.ramsete.com/aurora
Principali moduli di Aurora
La presentazione prosegue ora utilizzando “dal vivo” i programmi CoolEdit & Aurora, al fine di misurare la risposta di un altoparlante e di precalcolare i coefficienti del filtro inverso, che andranno poi caricati sulla scheda DSP
Connessioni scheda EZ-Kit 21161N
Sistema hardware completo utilizzato