NAudio fft результат дает интенсивность на всех частотах C #

У меня есть рабочая реализация записи петли wasapi от NAudio и БПФ данных. Большинство данных, которые я получаю, такие же, как и должно быть, но время от времени (с интервалами от 10 секунд до минут) они показывают амплитуду практически на всех частотах.

В основном картина движется справа налево со временем и частотами, идущими в логарифмическом масштабе от самых низких частот внизу. Строки - это ошибки. Насколько я могу судить, их там быть не должно.

Я получаю аудио буфер и отправляю сэмплы в агрегатор (применяется окно Хэмминга), который реализует БПФ NAudio. Я проверил данные (результат БПФ) перед тем, как изменить их каким-либо образом (картинка не из необработанного вывода БПФ, а масштабируется в десибеле), подтверждая, что результат БПФ дает эти строки. Я также мог бы отметить, что изображение было изменено с помощью LockBits, поэтому я подумал, что у меня там что-то не так с логикой, но именно поэтому я проверил выходные данные FFT, которые показывают ту же проблему.

Ну, я могу ошибаться, и проблема может быть где-то, я сказал, что это не так, но на самом деле кажется, что это происходит из БПФ ИЛИ данных буфера (сами данные или агрегация выборок). Почему-то я сомневаюсь, что сам буфер поврежден, как это.

Если у кого-то есть идеи, что может вызвать это, я был бы очень признателен!

ОБНОВИТЬ

Поэтому я решил нарисовать весь диапазон результатов FFT, а не половину. Это показало что-то странное. Я не уверен в БПФ, но я думал, что преобразование Фурье должно дать результат, который отражается по центру. Это, конечно, не тот случай, здесь.

Изображение в линейном масштабе, поэтому точная середина изображения является средней точкой результата БПФ. Нижний - первый, а верхний - последний.

Я играл синусоидальную волну 10 кГц, которая дает две горизонтальные линии, но верхняя часть за мной. Также кажется, что линии отражаются вокруг нижней четверти картинки, так что мне это тоже кажется странным.

ОБНОВЛЕНИЕ 2

Поэтому я увеличил размер FFT с 4096 до 8192 и попробовал снова. Это выход со мной возиться с синусоидальной частотой.

Казалось бы, результат отражается дважды. Один раз посередине, а затем снова сверху и снизу. И огромные линии теперь исчезли ... И кажется, что линии теперь появляются только в нижней половине.

После некоторого дальнейшего тестирования с различными длинами БПФ кажется, что линии в этом счете абсолютно случайны.

ОБНОВЛЕНИЕ 3

Я провел некоторое тестирование со многими вещами. Последним, что я добавил, было наложение семплов, чтобы я мог повторно использовать последнюю половину массива семплов в начале следующего БПФ. На окнах Хэмминга и Ханна это дает мне огромную интенсивность (совсем как на второй фотографии, которую я опубликовал), но не с BlackmannHarris. Отключение перекрытия удаляет самые большие ошибки в каждой оконной функции. Меньшие ошибки, как на верхнем рисунке, все еще остаются даже с окном ЧД. Я до сих пор не знаю, почему появляются эти строки.

Моя текущая форма позволяет контролировать, какую оконную функцию использовать (из трех ранее упомянутых), перекрывать (вкл / выкл) и несколько различных параметров рисования. Это позволяет мне сравнивать все эффекты влияющих сторон при изменении.

Я продолжу расследование (я уверен, что в какой-то момент я допустил ошибку), но хорошие предложения приветствуются!

Ответы на вопрос(1)

Ваш ответ на вопрос