ANALISI IN FREQUENZA
Lo scopo dellanalisi in frequenza è quello di definire il contenuto di un suono complesso, che contiene quindi componenti a diverse frequenze, anche variabili istante per istante.
Ricordando che il campo sonoro udibile umano va da 20 Hz a 20 kHz (circa) ma che lorecchio non percepisce tutte le frequenze allo stesso modo, si capisce come mai in molte applicazioni tecniche che vanno dalla registrazione e riproduzione della musica, allanalisi del rumore prodotto da macchinari, allo studio della risposta sonora di ambienti, ecc. si è interessati a valutare non tanto il livello sonoro complessivo, cioè lenergia totale del suono, bensì la sua distribuzione alle varie frequenze.
Per effettuare lanalisi in frequenza si tratta quindi di partire da una rappresentazione del suono nel dominio del tempo, la forma donda, ed arrivare a definire lo spettro, cioè un diagramma cartesiano che riporta sullasse delle ascisse le frequenze in Hz e su quello delle ordinate i corrispondenti livelli in db (fig. 1). La forma donda è in sostanza un grafico che visualizza landamento di un segnale elettrico generato da un microfono, il quale si basa di solito sulla variazione della pressione nel mezzo in cui è "immerso".
Figura 1
Uno stesso segnale si può comunque rappresentare con spettri di diverso tipo.
Bisogna precisare che le conversioni dal dominio del tempo nello spettro sono sempre imprecise: non esiste, a tuttoggi, unapparecchiatura in grado di riprodurre fedelmente i fenomeni di analisi in frequenza che avvengono nel nostro orecchio, che rimane quindi un apparato migliore di qualunque macchinario realizzato finora. Lanalisi in frequenza dà perciò spazio ad applicazioni di elaborazione di segnali uditivi ancora da scoprire.
Se il segnale è stazionario (costante nel tempo) lanalisi in frequenza è facile da realizzare: si può analizzare una frequenza alla volta e non si presentano problemi. Lo studio verrà allora diviso in due parti: una dedicata allanalisi dei segnali stazionari e una a quella dei transienti. E in questultimo caso che la "macchina" non riesce ad eguagliare lorecchio umano: ciò spiega come mai i programmi di riconoscimento vocale siano poco efficienti (la voce umana è ovviamente transiente).
Segnali stazionari
Filtri dottava
Un primo metodo usato per lanalisi in frequenza dei segnali stazionari si serve di un "banco" di filtri passa banda (come i filtri dottava), cioè di una serie di dispositivi ciascuno dei quali lascia passare solo un determinato campo di frequenze, reiettando le componenti del suono a frequenze maggiori e minori. Collegando uno strumento di misura alluscita di ogni filtro è possibile misurare il livello di segnale che compete al particolare intervallo di frequenze (fig. 2).
Figura 2
In un grafico in funzione della frequenza un filtro passa - banda si può rappresentare con una zona in cui il guadagno è pressoché costante e pari a 0 db (banda efficace, D f) e con due zone, ai lati della prima, in cui il guadagno decresce fino a valori trascurabili (fig. 3). La banda efficace è compresa tra f1 e f2, che sono le frequenze di taglio, poste a metà energia rispetto alla banda passante; per definizione G(f1) = G(f2) = -3 db. fc è la frequenza di centro banda, tale che G(fc) = 0 db.
Figura 3
Bisogna notare che un filtro ideale dovrebbe avere la curva del guadagno fatta come un impulso rettangolare (in frequenza), ma finché il dispositivo è realizzato con componenti passivi i fronti di salita e di discesa non potranno mai essere verticali.
Ad es., se un filtro ha f1 = 707 Hz e f2 = 1414 Hz qualsiasi suono al di fuori di questo intervallo di frequenze non dovrebbe passare, ma in realtà queste componenti, anche se attenuate, si ritrovano ugualmente in uscita. La pendenza dei fronti di salita e discesa della caratteristica deve comunque essere contenuta allinterno di una tolleranza definita dallIEC, unorganizzazione che si occupa della definizione degli standard per le misure acustiche.
Gli strumenti utilizzati per la lettura dei livelli sono in genere fonometri palmari con frequenze selezionabili successivamente: ad ogni scelta della frequenza si legge il valore indicato dallo strumento e lo si memorizza; al termine del procedimento si è in grado di definire lo spettro del segnale. Il suono deve ovviamente essere stazionario, altrimenti i livelli varierebbero nel tempo e la misura fatta in questo modo non avrebbe senso.
Per rendere il rilevamento sempre istantaneo è necessario un banco di voltmetri, che indica in tempo reale il segnale di uscita in forma analogica. Un dispositivo del genere è detto R.T.A. (Real Time Analyzer, analizzatore in tempo reale).
Un'ottava è definita come un intervallo di frequenze in cui il limite inferiore (f1) e quello superiore (f2) verificano le relazioni:
(0)
Per coprire lintero campo delle frequenze udibili ci vogliono 10 filtri dottava, ciascuno dei quali ha una frequenza di centro banda doppia di quella del filtro precedente (il tutto è disciplinato da norme I.S.O.):
fc1 |
fc2 |
fc3 |
fc4 |
fc5 |
fc6 |
fc7 |
fc8 |
fc9 |
fc10 |
31,5 Hz |
63 Hz |
125 Hz |
250 Hz |
500 Hz |
1 kHz |
2 kHz |
4 kHz |
8 kHz |
16 kHz |
Tabella 1
In molte applicazioni la suddivisione dellasse delle frequenze in bande dottava risulta piuttosto grossolana, e vi è la necessità di usare filtri a banda più stretta (a frazione dottava), che mantengono però sempre la proporzione tra la larghezza di banda e la frequenza di centro banda:
(1)
Per i filtri d'ottava la costante è pari a
(2)
In questo modo f2 di un filtro è sempre uguale a f1 del successivo. Questi tipi di filtri sono detti ad apertura percentuale costante. Uno dei motivi che sta alla base delladozione di questo metodo è che il sistema uditivo umano risponde agli stimoli più secondo lo schema dellapertura percentuale costante che secondo quello dellapertura costante.
Ad es., per verificare la (1) deve essere:
Esistono quindi diversi tipi di filtri, a seconda del numero di parti in cui viene divisa ogni banda:
La scala dei terzi dottava è la più usata. E formata da 30 bande da 1/3 dottava ciascuna.
Esempio
Consideriamo il caso di un filtro in terzi dottava, e vediamo come risulta la suddivisione della banda dottava che ha fc=1000 Hz. Devo in pratica trovare fc1, fc2, fc3, f1, f2, f3 e f4, cioè le tre frequenze di centro banda e gli estremi di ogni banda (fig. 4).
Troviamo intanto la frequenza di taglio inferiore della banda dottava:
(3)
Si ha anche che
(4)
Le condizioni da verificare sono:
(5)
Ora definisco il rapporto tra due frequenze di centro banda consecutive:
, con i=1,2,3. (6)
Elevando K al cubo (perché voglio bande da 1/3 dottava) ottengo tutta lottava, quindi un raddoppio della frequenza:
(7)
Ricavo K:
(8)
Considerando che la (6) vale anche per le freq. di taglio posso allora trovare:
(9)
e anche:
(10)
Figura 4
Dal grafico si vede che se la frequenza di un suono puro cade nella zona in cui due bande da 1/3 dottava si sovrappongono allora lo spettro ha energia in due diversi intervalli di frequenze. Questo fenomeno non è raro, perché la sovrapposizione è circa del 30%.
Osservazione
E importante osservare che uno spettro, a seconda della tecnica utilizzata per ricavarlo e del tipo di visualizzazione impiegato, può cambiare anche notevolmente daspetto. Se prendiamo ad esempio uno spettro in bande di 1/3 dottava con asse delle frequenze in scala lineare (fig. 5) e lo confrontiamo con uno in scala logaritmica (fig. 6), vediamo che il primo comprime in un breve intervallo di frequenze una notevole quantità di informazioni.
Figura 5
Figura 6
Le prossime due figure, che si riferiscono allo stesso suono dei due grafici precedenti, oltre a fornire unulteriore prova di quanto detto sopra, evidenziano anche un altro fenomeno. In fig. 7 è riportato lo spettro in banda stretta in scala logaritmica, in fig. 8 in scala lineare (sempre dellasse delle ascisse).
Notando che la posizione del cursore è sempre la stessa (1902,15 Hz circa), leggendo il valore corrispondente (~66,9 db) e confrontandolo con quello in fig. 5 e fig. 6 (~87,3 db) ci si rende conto che il livello negli spettri in bande di 1/3 dottava è molto superiore a quello negli spettri in banda stretta.
Figura 7
Figura 8
Questo comportamento si può spiegare col fatto che le bande da 1/3 dottava sono molto più larghe, ovviamente, di quelle "strette", e quindi possono catturare al loro interno delle zone di frequenze con energia mediamente elevata anche se il picco massimo non è compreso.
Nonostante la precisione degli ultimi due spettri, in ogni caso, il nostro udito rimane meglio rappresentato dal grafico di fig. 6.
Analisi in banda stretta
Un altro metodo per definire lo spettro di un segnale è lanalisi in banda stretta (o di Fourier). Matematicamente è richiesto lutilizzo della D.F.T. (Discrete Fourier Transformat), che si calcola ormai unicamente per via digitale con lausilio del computer.
In questo caso sono però necessarie due ipotesi, non una sola:
Da ciò segue che non è possibile usare lanalisi di Fourier per la voce umana; si può invece per le macchine rotanti, ad es., perché il suono che emettono, anche se complesso, è periodico.
La base matematica che giustifica lanalisi di Fourier è il
Teorema di Fourier
Il teorema di Fourier stabilisce che qualunque suono periodico (anche complesso) è sempre rappresentabile mediante un opportuno numero donde (sinusoidi) di determinate ampiezze, frequenze e fasi:
(11)
Nella pratica però non è possibile usare infinite sinusoidi, anzi, le frequenze che compaiono allinterno della (11) in
(12)
devono seguire una legge matematica ben precisa; in genere sono equispaziate (fig. 9).
Figura 9
Questa non è più unanalisi di Fourier fatta secondo il teorema, ma è unanalisi discreta in relazione ad una legge matematica inderogabile.
Campionamento
Si definisce campionamento di un segnale continuo il considerare, dello stesso segnale, soltanto determinati valori, presi nel tempo con una frequenza di campionamento fc. In questo modo invece di avere unonda continua ho N campioni equispaziati di 1/fc.
Ad es., se un segnale con periodo T = 1 s è campionato a fc = 44100 Hz (uno dei valori più comuni), sullo spettro ci saranno 22051 righe: la prima, a 0 Hz, rappresenta la componente continua, lultima sarà alla freq. massima di 22050 Hz. Questo valore è detto frequenza di Nyquist ed è definito come la metà della frequenza di campionamento:
(13)
Ho in pratica una risoluzione di 1Hz. La risoluzione D f è definita come il rapporto tra la frequenza di campionamento e il n° dei campioni
(14)
ed è uguale alla spaziatura tra le righe dello spettro (fig. 10).
Figura 10
Lanalisi di Fourier fornisce, oltre allinformazione dampiezza, anche quella di fase, che è necessaria per ricostruire il segnale originario: se non la considerassi avrei una distorsione di fase, e il segnale risulterebbe incomprensibile.
Sistemi a segnale campionato
I sistemi a segnale campionato (computer, DSP, ...) si utilizzano per fare lanalisi in bande di 1/3 dottava. Si possono applicare anche a segnali non periodici, e sono anche più simili, come modo di operare, al sistema uditivo umano.
Si parte da un segnale campionato, che conosco quindi ad intervalli di tempo D t .
Bisogna innanzi tutto introdurre una regola fondamentale riguardo al campionamento, il
Teorema di Shannon
Il teorema di Shannon afferma che la frequenza di campionamento di un segnale deve essere
(15)
dove fMAX è la frequenza massima contenuta nel segnale.
Se la relazione (15) non è rispettata, le componenti del suono a frequenza maggiore vengono sottocampionate e quindi appaiono come elementi a frequenze basse. Campionando una sinusoide che aumenta di frequenza, ad es., superata la frequenza di Nyquist il tono che si sente non sale più di frequenza, al contrario si abbassa. Questo fenomeno è detto aliasing (vedi fig. 11).
Figura 11
E ovvio che campionando un segnale a 44100 Hz ciò non si nota più, perché la frequenza di Nyquist è 22050 Hz che è fuori del campo uditivo. Siccome i microfoni da misura e la strumentazione acustica vengono in genere costruiti con una banda passante fino a 20-22 kHz, la frequenza di campionamento deve essere maggiore o uguale a 44 kHz. Comunque, tanto maggiore è, meglio è, perché avrò più informazioni e commetterò meno errori.
Negli ultimi anni, infatti, si è avuto un continuo aumento delle frequenze di campionamento:
Per applicazioni musicali non è così importante avere una frequenza di campionamento molto elevata; sono fattori critici invece la stabilità e il rapporto segnale rumore, che dipende dal numero di bit utilizzati per la memorizzazione dei dati. Tradizionalmente i sistemi più "antichi" sono a 16 bit (ad es. i CD o le schede audio di computer più vecchi), si è passati poi a sistemi di fascia media (come i DAT e i DVD) che usano 20 ~ 24 bit di risoluzione. Lo stato dellarte è attualmente costituito da sistemi a 192 kHz e 24 bit. Andare oltre con la risoluzione non ha molto senso in quanto già con 24 bit si ha un rapporto segnale rumore molto elevato, di quasi 196 db.
Uno schema desempio di sistemi di elaborazione digitale dei segnali è in fig. 12, dove con A/D si è indicato il convertitore analogico digitale e con D/A il blocco che effettua loperazione contraria.
Figura 12
Un es. di applicazione in cui la frequenza di campionamento elevata è indispensabile è la teoria dei modelli: in un modello in scala 1:10 le frequenze sono dieci volte quelle nel mondo reale.
Ora la domanda è: come si può emulare la risposta di un filtro passa banda tramite un apparato digitale?
Serve un filtro numerico, cioè un sistema che opera sui campioni del segnale tramite una formula matematica (fig. 13).
Figura 13
Bisogna in pratica vedere come si ottiene y(i) partendo da x(i). La forma generale del filtraggio digitale dice:
(16)
La (16) è la struttura di un filtro FIR (Fined Impulse Response, a risposta impulsiva finita); la risposta allimpulso è la successione dei coefficienti A0, A1,... , AN. Questi rappresentano anche la funzione di trasferimento del filtro, anchessa campionata alla frequenza fc. La risposta allimpulso è definita come la risposta del sistema quando lingresso è costituito dalla particolare stringa di numeri detta sequenza di Dirac, o delta di Dirac, che consiste nel valore "1" seguito da tanti "0", e risulta essere la sequenza dei coefficienti A0, A1,... , AN.
Il filtro ha una risposta allimpulso finita (nel tempo) perché se eccitato con una delta di Dirac luscita fornisce N campioni non nulli e poi degli zeri.
Questo filtro non è molto potente ma è sicuramente stabile, cioè non oscilla, ed è in grado di applicare qualsiasi filtraggio al segnale. Utilizzando una struttura di tipo FIR è quindi possibile calcolare i coefficienti del filtro in modo che lo stesso emuli la risposta in frequenza di un filtro dottava o di 1/3 dottava allinterno delle tolleranze prescritte dalle norme IEC.
Un altro metodo operativo si serve del cosiddetto filtro ricorsivo, una struttura più complessa in cui la risposta in un certo istante dipende non solo dallingresso in quello stesso istante ma anche dai valori duscita precedenti.
Formalmente:
(17)
In genere M < N. Il filtro è detto "ricorsivo" perché i dati prodotti in uscita sono usati anche come parte dellingresso.
In questo caso si ha una risposta allimpulso infinita in quanto, una volta eccitato, elaborando la stessa uscita che fornisce continua ad emettere dei dati; per questo è detto filtro IIR (Infinite Impulse Response, a risposta impulsiva infinita).
Lampiezza delluscita comunque, anche se è sempre ¹ 0, tenderà asintoticamente a tale valore, e quindi ai fini pratici si può comportare come un filtro FIR, purché non sia instabile (ciò può accadere se i coefficienti B sono troppo grandi).
E un filtro più efficiente di quello FIR, perché con un numero ridotto di campioni (e quindi di calcoli) fornisce unuscita migliore. Gli analizzatori di spettro digitali infatti utilizzano filtri IIR che con i coefficienti opportunamente calcolati forniscono uscite stabili e risposte in frequenza allinterno delle tolleranze dettate dalle norme in vigore.
Segnali non stazionari
Lanalisi di segnali non stazionari non è in realtà un problema per i sistemi basati su filtri analogici in tempo reale: lunico accorgimento è quello di "catturare" e memorizzare i dati al volo, e se ciò viene effettuato in maniera sufficientemente rapida si ottiene quello che si chiama un multispettro, cioè una serie di spettri nel tempo. Si ottiene campionando i valori istantanei dello spettro ogni un certo numero di ms.
Esempi di multispettri sono rappresentati nelle fig. 14 e 15, che rappresentano entrambe il sorvolo di un aereo. Si vede che sono possibili diversi tipi di visualizzazione; in ciascuna delle due figure il grafico in 2 dimensioni è detto sonogramma, e riporta il livello in db variando il grado di "nero", mentre il grafico sottostante è una raffigurazione del tipo waterfall (cascata).
Figura 14
Figura 15
Usando unanalisi in bande percentuali costanti non ci sono quindi grosse difficoltà.
E se si volesse usare unanalisi di Fourier? In teoria non si può fare, ma in pratica questo succede, spesso perché non si ha a disposizione niente di meglio. Ci sono però dei problemi, in quanto il suono non è periodico: al termine della finestra del segnale campionato questo non assume lo stesso valore che aveva allinizio della finestra, e quindi non è continuo con la finestra successiva. Nel caso di un segnale periodico potrebbe inoltre capitare che la finestra di campionamento non coincida con il periodo del segnale stesso a causa del numero di punti di campionamento, che deve essere una potenza di 2 affinché il calcolo della trasformata discreta di Fourier sia veloce.
Posso allora pensare di creare una "giunzione" matematica tra i due diversi valori ed effettuare poi lanalisi di Fourier, ma così facendo lo spettro che calcolo è diverso da quello vero che mi potrei aspettare o che voglio. Per una sinusoide, ad es., accade come in figura 16, dove lo spettro, invece di avere energia solo alla frequenza dellonda stessa, si abbassa e si allarga e presenta energia lungo gran parte dellasse delle frequenze; questo perché ho in sostanza introdotto un gradino nel giuntare due finestre di campionamento successive. Questo fenomeno è detto lickage.
Figura 16
In genere per ovviare a questo problema si forza il segnale ad andare a zero agli estremi della finestra, applicando una sorta di filtro di copertura; in pratica si moltiplicano tutti i punti campionati per una window che annulla il segnale agli estremi. Queste finestre vengono moltiplicate per il segnale in intervalli che si sovrappongono, cioè ad ogni passo si sposta ("shifta") la finestra verso il basso non di N campioni, ma di N/2, in modo che nessuna parte dellonda venga completamente annullata e per questo tralasciata dallanalisi (fig. 17).
Esistono varie di queste funzioni che servono per modificare il segnale prima di effettuare lanalisi di Fourier. In fig. 18 ne sono riportate alcune nel dominio della frequenza.
Figura 17
Figura 18