Я розраховую FFT з мікрофонного входу. Я зауважую, що на низьких частотах завжди, здається, є більша потужність (більша дБ), ніж більш висока.
- Я вирізав дані в кадри 24576 байт (4096 * 6).
- Застосувати вікно Хеммінга:
input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs));
- Запустіть його через FFTW
Process1D()
. - Перетворити із складних чисел:
output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1]));
- Середнє значення становить 6 значень, щоб отримати повний FFT в 4096 байт.
- Намалюйте гарне зображення (кольори, відображені в палітрі).
Усереднення (п. 5) проводиться для зниження шуму FFT.
Як показує зображення як зі звуком, так і при вимкненому мікрофоні, на нижчих частотах більше енергії (і більше шуму). Це свідчить про її більш ніж просто проблему з мікрофоном / підопічним.
Мої запитання:
1. Чи очікується це? Чому?
2. Якийсь стандартний спосіб виправити це? Майже схоже на те, що якась магія Math.Tan () може підняти її там, де їй належить.
Моя мета - мати змогу визначити топ-5 частот без нижчих частот, які виграють за замовчуванням.