DFT con contenedores geométricamente espaciados?

16

La tradicional Transformada discreta de Fourier (DFT) y su primo, el FFT, producen contenedores que están espaciados por igual. En otras palabras, obtienes algo como los primeros 10 hertzios en el primer contenedor, 10.1 a 20 en el segundo, etc. Sin embargo, necesito algo un poco diferente. Quiero que el rango de frecuencia cubierto por cada bin aumente geométricamente. Supongamos que selecciono un multiplicador de 1.5. Luego tenemos 0 a 10 en el primer bin, quiero 11 a 25 en el segundo bin, 26 a 48 en el tercero, etc. ¿Es posible modificar el algoritmo DFT para comportarse de esta manera?

Brannon
fuente
Siempre puede calcular DFT en los puntos de interés. Además, me vienen a la mente los bancos de filtros y transformaciones wavelet discretas . Puede valer la pena mirarlos.
2
Está buscando la transformación Q constante (CQT) .
Paul R
2
Mal redactado. Lo que quieres no es nuevo ni una mejora en muchos casos.
hotpaw2
2
DFT y FFT no son primos. Dan resultados idénticos.
Phonon

Respuestas:

17

Para citar mi disertación:

Una colección de transformaciones reciben el nombre constante Q y son similares a la transformada de Fourier.

El cálculo de la transformada discreta de Fourier puede ser muy eficiente cuando se emplea el uso de la transformada rápida de Fourier. Sin embargo, notamos que la energía de una señal se divide en segmentos de frecuencia de tamaño uniforme en todo el espectro. Si bien en muchos casos esto es útil, notamos situaciones en las que esta distribución uniforme es subóptima. Un ejemplo importante de tal caso se observa con el análisis de frecuencias musicales. En la música occidental, las frecuencias que componen las escalas musicales están geométricamente espaciadas. Por lo tanto, vemos que el mapa entre los bins de frecuencia de la transformada discreta de Fourier y las frecuencias de las escalas musicales es insuficiente en el sentido de que los bins coinciden mal. La transformación Q constante soluciona este problema.

El objetivo de la constante Q es producir un conjunto de intervalos de frecuencia logarítmicamente espaciados en los que el ancho del intervalo de frecuencia es un producto del anterior. Como resultado, podemos producir un número idéntico de bins por nota musical en todo el espectro audible, manteniendo así un nivel constante de precisión para cada nota musical. Los intervalos de frecuencia se hacen más anchos hacia las frecuencias más altas y más estrechos hacia las frecuencias más bajas. Esta propagación en la precisión de la detección de frecuencia imita de cerca la manera en que el sistema auditivo humano responde a las frecuencias.

Además, la estrecha coincidencia de notas en escalas occidentales hace que la constante Q sea particularmente útil en la detección de notas; identificando un valor de nota musical en lugar de un valor de frecuencia explícito. Además, la constante Q simplifica el proceso de análisis de timbre. Las frecuencias de una nota musical tocada por un instrumento a menudo se componen de parciales relacionados armónicamente. El timbre del instrumento puede caracterizarse por las proporciones de los armónicos. Con la transformación Q constante, los armónicos están igualmente espaciados en los contenedores, independientemente de la frecuencia fundamental. Esto simplifica enormemente el proceso de identificar un instrumento que toca una nota en cualquier lugar de la escala simplemente cambiando la caracterización a través de los contenedores.

Brown y Puckette (1992) detallan un algoritmo eficiente para transformar una transformada discreta de Fourier (que puede calcularse con la FFT) en una transformada Constant Q.

Matt Esch
fuente
1

Hay suposiciones matemáticas significativas en el DFT (FFT). Lo más significativo en este caso es que está realizando una transformación sinusoide truncada de tiempo infinito. El segundo es que se supone que el tiempo truncado y las señales de frecuencia truncadas están envueltas en módulo (circular). Los contenedores separados en un FFT normal forman un conjunto ortonormal solo debido a estos supuestos (e incluso el espaciado de sentido aritmético). Por lo tanto, el par de frecuencia <-> tiempo es perfectamente reversible.

La transformación Q constante no se trunca tan bien, por lo tanto, cualquier implementación práctica no produce un emparejamiento orto-normal perfecto. El núcleo es una sinusoide exponencialmente decadente infinitamente larga y, por lo tanto, no puede tener la ventaja circular indicada anteriormente. Si no trunca, forman un conjunto ortonormal.

Las transformaciones wavelet suelen estar separadas por una potencia de 2, lo que no es muy útil para la estimación de frecuencia de grano fino.

La sugerencia de espaciar de manera desigual un DFT sinusoide estándar perderá información en la región ampliamente espaciada, mientras que duplicará la información en la región densamente espaciada. A menos que se utilice una función de apodización diferente para cada frecuencia ... muy costosa.

Una solución práctica es hacer un procedimiento repetido de medio espectro-> diezmar por 2 para obtener subsecciones basadas en octavas para satisfacer algunos errores de estimación mínima por octava. El espectro de porciones-> diezmar por relación se puede establecer en cualquier relación para lograr cualquier necesidad de granularidad. Sin embargo, todavía es bastante computacional.

catraeus
fuente