2016-04-16 4 views
1

В настоящее время я работаю над программой на C++, в которой я вычисляю переменную времени FFT wav-файла. У меня есть вопрос о построении результатов БПФ.Синусоиды с частотами, которые являются случайными вариалами. Как выглядит импульс БПФ?

Скажем, например, у меня есть сигнал 70 Гц, который создается каким-то инструментом с определенными гармониками. Несмотря на то, что я говорю, что этот сигнал составляет 70 Гц, это реальный сигнал, и я предполагаю, что он будет иметь некоторую случайность, в которой этот сигнал 70 Гц меняется. Скажем, я пробовал его в течение 1 секунды при частоте дискретизации 20 кГц. Я понимаю, что период выборки, вероятно, не должен быть 1 секундой, но нести меня.

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

Мой вопрос: будет ли FFT еще производить относительно идеальный импульс на частоте 70 Гц? Или появится «спектральная утечка», вызванная случайностью исходного сигнала? В других словах, как выглядит БПФ в синусоиде, частота которого является случайной величиной?

+0

Вам нужно будет использовать функцию окна, а форма юбки вокруг фундаментального пика будет зависеть от вашего выбора функции окна. –

+0

Не могли бы вы расширить свою проблему, не изменяет ли со временем? Я имею в виду, что ваша модель является 'sin (w * t)' где 'w' является постоянной реализацией вашей случайной переменной? или ваша модель - 'sin (w * t + phi (t))'? – xvan

ответ

3

Некоторые из наиболее распространенных схем модуляции будут добавлять боковые полосы, которые несут информацию в модуляции. В зависимости от количества и типа модуляции по отношению к длине БПФ боковые полосы могут либо отображаться отдельно от пика БПФ, либо просто «откармливать» один пик.

+0

Очень хороший пример. AM и FM-модуляция делают это. – roadrunner66

+0

Фактически все схемы модуляции увеличивают пропускную способность, что является результатом принципа неопределенности преобразования Фурье (https://en.wikipedia.org/wiki/Fourier_transform#Uncertainty_principle), которые показывают, что произведение ширины пара Фурье будет фундаментально ограничена. – roadrunner66

1

Ваш спектр будет расширяться, и это происходит в реальном мире. Посмотрите, например, на профиль Voight, который является лорентизаном (результатом идеального экспоненциального распада), свернутым с гауссовым с определенной шириной, причем ширина определяется стохастическими флуктуациями, например. Доплеровский эффект на молекулы в газе, зондируемом узкополосным лазером.

Вы не получите идеальный частотный пик в любом случае. Предел разрешения БПФ - это один частотный бит, (разрешение по частоте задается инверсией длины вектора времени), но даже это (как указано в @xvan) в общем случае расширяется функцией окна. Если ваше окно не существует, т. Е. Оно фактически является квадратным окном длины вектора времени, тогда вы получите спектральные пики, которые свернуты с помощью функции sinc и, таким образом, расширены.

Лучший способ визуализации этого состоит в том, чтобы сделать длинный вектор и построить спектрограмму (часто показанную для аудиосигналов) с достаточным разрешением, чтобы вы могли видеть индивидуальные вариации. БПФ общего сигнала представляет собой проекцию движущихся пиков на вертикальную ось спектрограммы. БПФ заданного вектора времени не имеет никакого временного разрешения, но суммирует все частоты, которые происходят во время вашего БПФ. Таким образом, спектрограмма (часто люди просто используют STFT, короткое временное преобразование Фурье) в любой момент времени имеет «полное» разрешение, т. Е. Узкую линейную форму, которую вы ожидаете. БПФ вектора полного времени показывает алгебраическую сумму всех ваших линий и, следовательно, выглядит расширенной.

Подводя итог Есть два отдельных эффекты: а) расширение от оконной функции (как комментаторы 1 и 2 указывали) б) расширение от влияния частоты колебаний, которые вы пытаетесь смоделировать и происходит в реальной жизни (например, вы сидите на качелях, получая радиосигнал).

Наконец, обратите внимание на значение комментария @ xvan: phi= phi(t). Если фазовый угол зависит от времени, то он имеет производную, которая не равна нулю. dphi/dt - это частотный сдвиг, поэтому ваша мгновенная частота становится f0 + dphi/dt.