DFT com caixas espaçadas geometricamente?

16

A tradicional transformada discreta de Fourier (DFT) e seu primo, a FFT, produzem caixas com espaçamento igual. Em outras palavras, você obtém algo como os primeiros 10 hertz na primeira lixeira, 10,1 a 20 na segunda, etc. No entanto, preciso de algo um pouco diferente. Quero que a faixa de frequência coberta por cada compartimento aumente geometricamente. Suponha que eu selecione um multiplicador de 1,5. Então temos 0 a 10 no primeiro compartimento, quero 11 a 25 no segundo compartimento, 26 a 48 no terceiro etc. É possível modificar o algoritmo DFT para se comportar dessa maneira?

Brannon
fonte
Você sempre pode calcular a DFT nos pontos de interesse. Além disso, os bancos de transformação e filtro de wavelet discretos vêm à minha mente. Pode valer a pena olhar para eles.
2
Você está procurando o Constant Q Transform (CQT) .
Paul R
2
Mal escrito. O que você deseja não é novo nem melhora em muitos casos.
hotpaw2
2
DFT e FFT não são primos. Eles dão resultados idênticos.
31412 Phonon

Respostas:

17

Para citar minha dissertação:

Uma coleção de transformações recebe o nome de constante Q e é semelhante à transformação de Fourier.

O cálculo da transformada discreta de Fourier pode ser muito eficiente ao empregar o uso da transformada rápida de Fourier. No entanto, notamos que a energia de um sinal é dividida em intervalos de frequência de tamanho uniforme em todo o espectro. Embora em muitos casos isso seja útil, notamos situações em que essa distribuição uniforme é subótima. Um exemplo importante de tal caso é observado com a análise de frequências musicais. Na música ocidental, as frequências que compõem as escalas musicais são geometricamente espaçadas. Vemos, portanto, que o mapa entre os compartimentos de frequência da transformada discreta de Fourier e as frequências das escalas musicais é insuficiente no sentido de que os compartimentos não correspondem muito bem. A transformação Q constante soluciona esse problema.

O objetivo da constante Q é produzir um conjunto de compartimentos de frequência espaçados logaritmicamente, nos quais a largura do compartimento de frequência é um produto do anterior. Como resultado, podemos produzir um número idêntico de caixas por nota musical em todo o espectro audível, mantendo assim um nível constante de precisão para cada nota musical. Os compartimentos de frequência se tornam mais amplos em relação às frequências mais altas e mais estreitos em relação às frequências mais baixas. Essa dispersão na precisão da detecção de frequência imita de perto a maneira pela qual o sistema auditivo humano responde às frequências.

Além disso, a correspondência aproximada de notas nas escalas ocidentais torna a constante Q particularmente útil na detecção de notas; identificar um valor de nota musical em vez de um valor de frequência explícito. Além disso, a constante Q simplifica o processo de análise do timbre. As frequências de uma nota musical tocada por um instrumento geralmente são compostas de parciais harmonicamente relacionados. O timbre do instrumento pode ser caracterizado pelas proporções dos harmônicos. Com a transformação Q constante, os harmônicos são igualmente espaçados entre os compartimentos, independentemente da frequência fundamental. Isso simplifica bastante o processo de identificação de um instrumento tocando uma nota em qualquer lugar da escala, simplesmente deslocando a caracterização entre as caixas.

Um algoritmo eficiente para transformar uma transformada de Fourier discreta (que pode ser computada com a FFT) em uma transformação Q constante é detalhado em Brown e Puckette (1992).

Matt Esch
fonte
1

Existem premissas matemáticas significativas na DFT (FFT). O mais significativo nesse caso é que você está executando uma transformação sinusóide truncada em tempo infinito. A segunda é que o tempo truncado e os sinais de freqüência truncados são assumidos como empacotados em módulo (circulares). portanto, o par de frequências de tempo <-> é perfeitamente reversível.

A transformação constante-Q não trunca tão bem, portanto, qualquer implementação prática não produz um emparelhamento orto-normal perfeito. O núcleo é um sinusóide exponencialmente decaído e infinitamente longo e, portanto, não pode ter a vantagem circular indicada acima. Se você não truncar, eles formam um conjunto ortonormal.

As transformadas de wavelets são tipicamente espaçadas em potência de 2, o que não é muito útil para a estimativa de frequência refinada.

A sugestão de espaçar desigualmente uma DFT sinusóide padrão perderá informações na região amplamente espaçada, enquanto duplicará informações na região densamente espaçada. A menos que uma função de apodização diferente seja usada para cada frequência ... muito cara.

Uma solução prática é executar um procedimento repetido de meio espectro> dizimar por 2 para obter subseções baseadas em oitavas para satisfazer algum erro de estimativa minimax por oitava. A porção espectro> decima por proporção pode ser configurada para qualquer proporção para alcançar qualquer necessidade de granularidade. Ainda é bastante intensivo em computação.

catraeus
fonte