DFT con bidoni spaziati geometricamente?


16

La tradizionale trasformata discreta di Fourier (DFT) e suo cugino, la FFT, producono contenitori distanziati equamente. In altre parole, ottieni qualcosa come i primi 10 hertz nel primo cestino, da 10,1 a 20 nel secondo, ecc. Tuttavia, ho bisogno di qualcosa di leggermente diverso. Voglio che l'intervallo di frequenza coperto da ciascun bin aumenti geometricamente. Supponiamo di selezionare un moltiplicatore di 1,5. Quindi abbiamo da 0 a 10 nel primo bin, voglio da 11 a 25 nel secondo bin, da 26 a 48 nel terzo, ecc. È possibile modificare l'algoritmo DFT per comportarsi in questo modo?


Puoi sempre calcolare DFT nei punti di interesse. Inoltre, mi vengono in mente banche discrete di trasformazione e filtro wavelet . Vale la pena guardarli.

2
Stai cercando Constant Q Transform (CQT) .
Paul R

2
Formulato male. Quello che vuoi non è né nuovo, né un miglioramento in molti casi.
hotpaw2,


2
DFT e FFT non sono cugini. Danno risultati identici.
Phonon,

Risposte:


17

Per citare la mia tesi di laurea:

A una raccolta di trasformazioni viene assegnato il nome costante Q e sono simili alla trasformata di Fourier.

Il calcolo della trasformata di Fourier discreta può essere molto efficiente quando si utilizza l'uso della trasformata di Fourier veloce. Tuttavia notiamo che l'energia di un segnale è divisa in segmenti di frequenza di dimensioni uniformi attraverso lo spettro. Sebbene in molti casi ciò sia utile, notiamo situazioni in cui questa distribuzione uniforme non è ottimale. Un esempio importante di un caso del genere si osserva con l'analisi delle frequenze musicali. Nella musica occidentale, le frequenze che compongono le scale musicali sono spaziate geometricamente. Vediamo quindi che la mappa tra i bin di frequenza della trasformata discreta di Fourier e le frequenze delle scale musicali è insufficiente, nel senso che i bin non corrispondono. La costante trasformazione Q risolve questo problema.

Lo scopo della costante Q è quello di produrre un insieme di bin di frequenza spaziati logaritmicamente in cui la larghezza del bin di frequenza è un prodotto del precedente. Di conseguenza possiamo produrre un numero identico di bin per nota musicale attraverso lo spettro udibile, mantenendo così un livello costante di accuratezza per ogni nota musicale. I bin di frequenza si allargano verso le frequenze più alte e si restringono verso le frequenze più basse. Questa diffusione nell'accuratezza del rilevamento della frequenza imita da vicino il modo in cui il sistema uditivo-umano risponde alle frequenze.

Inoltre, lo stretto abbinamento delle note nelle scale occidentali rende la costante Q particolarmente utile nel rilevamento delle note; identificare un valore di nota musicale anziché un valore di frequenza esplicito. Inoltre la costante Q semplifica il processo di analisi del timbro. Le frequenze di una nota musicale suonata da uno strumento sono spesso costituite da parziali armonicamente correlate. Il timbro dello strumento può essere caratterizzato dai rapporti delle armoniche. Con la costante trasformata Q, le armoniche sono equamente distanziate tra i bin indipendentemente dalla frequenza fondamentale. Ciò semplifica notevolmente il processo di identificazione di uno strumento che suona una nota in qualsiasi punto della scala semplicemente spostando la caratterizzazione attraverso i contenitori.

Un algoritmo efficiente per trasformare una trasformata discreta di Fourier (che può essere calcolata con la FFT) in una trasformata Constant Q è dettagliato in Brown e Puckette (1992).


1

Ci sono ipotesi matematiche significative nel DFT (FFT). Il più significativo in questo caso è che stai eseguendo una trasformazione troncata della sinusoide a tempo infinito. Il secondo è che si presume che il tempo troncato e i segnali frequncy troncati siano avvolti da un modulo (circolare). I contenitori distanziati in una normale FFT formano un insieme ortonormale solo a causa di questi presupposti (e anche la spaziatura del senso aritmetico). le coppie di frequenza <-> sono quindi perfettamente reversibili.

La trasformazione Q costante non si tronca così bene, quindi qualsiasi implementazione pratica non produce un accoppiamento orto-normale perfetto. Il kernel è una sinusoide a decadimento esponenziale infinitamente lungo e quindi non può avere il vantaggio circolare sopra indicato. Se non tronchi, formano un insieme ortonormale.

Le trasformazioni wavelet sono tipicamente spaziate di potenza di 2, il che non è molto utile per la stima della frequenza a grana fine.

Il suggerimento di spaziare in modo non uniforme un DFT sinusoidale standard mancherà di informazione nella regione ampiamente spaziata mentre duplicherà le informazioni nella regione densamente spaziata. A meno che, per ogni frequenza, venga utilizzata una diversa funzione di apodizzazione ... molto costosa.

Una soluzione pratica è quella di eseguire una procedura ripetuta a mezzo spettro> decimale per 2 per ottenere sottosezioni basate sull'ottava per soddisfare alcuni errori di stima minimax per ottava. Lo spettro di porzioni> decimali per rapporto può essere impostato su qualsiasi rapporto per ottenere qualsiasi esigenza di granularità. Tuttavia, è ancora piuttosto intenso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.