Je calcule la FFT à partir de l'entrée microphone. Je remarque que les fréquences plus basses semblent toujours avoir plus de puissance (dB plus élevé) que les fréquences plus élevées.
- J'ai coupé les données en trames de 24576 octets (4096 * 6).
- Appliquer la fenêtre Hamming:
input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs));
- Exécutez-le via FFTW
Process1D()
. - Convertir à partir de nombres complexes:
output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1]));
- Moyenne de 6 valeurs pour obtenir une FFT complète de 4096 octets.
- Peignez une jolie image (couleurs mappées sur une palette).
La moyenne (pt. 5) est effectuée pour réduire le bruit FFT.
Comme l'image montre à la fois le son et le micro éteints, il y a plus d'énergie (et plus de bruit) dans les basses fréquences. Cela indique que c'est plus qu'un problème micro / sub.
Mes questions:
1. Est-ce prévu? Pourquoi?
2. Une manière standard de résoudre ce problème? On dirait presque que la magie Math.Tan () pourrait la soulever là où elle appartient.
Mon objectif est de pouvoir identifier les 5 meilleures fréquences sans que les basses fréquences gagnent par défaut.