Estou calculando a FFT a partir da entrada do microfone. Percebo que frequências mais baixas sempre parecem ter mais potência (dB mais alto) do que frequências mais altas.
- Cortei os dados em quadros de 24576 bytes (4096 * 6).
- Aplique a janela Hamming:
input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs));
- Execute-o através do FFTW
Process1D()
. - Converter de números complexos:
output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1]));
- Média de 6 valores para obter uma FFT completa de 4096 bytes.
- Pinte imagens bonitas (cores mapeadas para uma paleta).
A média (pt. 5) é feita para diminuir o ruído da FFT.
Como a imagem mostra tanto com o som quanto com o microfone desligado, há mais energia (e mais ruído) nas frequências mais baixas. Isso indica que é mais do que apenas um problema de microfone / sub.
Minhas perguntas:
1. Isso é esperado? Por quê?
2. Alguma maneira padrão de corrigir isso? Quase parece que alguma mágica Math.Tan () poderia elevá-la onde ela pertence.
Meu objetivo é ser capaz de identificar as 5 principais frequências sem que as frequências mais baixas ganhem por padrão.