Как влияет задержка во временной области в частотной области?

21

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

Теперь, скажем, я принимаю тот же самый сигнал времени и задерживаю его на некоторую постоянную времени, а затем принимаю БПФ, как все меняется? Может ли БПФ представлять эту задержку?

Я признаю, что задержка представляет собой изменение exp(jωt) в частотной области, но мне трудно определить, что это на самом деле означает .

Практически говоря, является ли частотная область подходящим местом для определения временной задержки между различными сигналами?

галламин
источник
1
Это зависит от того, что вы подразумеваете под БПФ. Скажем, ваш исходный сигнал имел временных отсчетов. Предположим, что задержка составляет 100 образцов. Итак, теперь у вас есть N + 100 сэмплов, причем первые 100 равны 0 . Вы вычисляете БПФ первых N сэмплов (так же, как и раньше)? из N + 100 образцов? из последних N из N + 100 образцов? Ответ будет зависеть от того, что вы подразумеваете под БПФ ...N100N+1001000NN+100NN+100
Дилип Сарватэ
1
@Dilip Я ищу более общий ответ. Возможно, было бы полезно объяснить, что изменится в этих сценариях?
Галламин
1
Если вы передадите последний из N + 100 сэмплов в свою подпрограмму с N- точечным БПФ, вы получите то же БПФ, что и раньше. Нет разницы вообще. Если вы передадите первые N из N + 100 выборок (при этом первые 100 выборок будут равны 0 ) в вашу подпрограмму F-F с N- точками, вы получите вещи, которые трудно интерпретировать. Внимательно прочитайте Ответ @JasonR, в котором говорится, что если первые 100 выборок будут заполнены по вашим данным циклически или циклическиNN+100NNN+1001000N100сдвиг, то вы увидите задержку, отраженную в фазе образцов.
Дилип Сарватэ

Ответы:

21

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

Эти комплексные числа представляют амплитуду и фазу , связанную с каждой экспоненциальной функцией. Таким образом, каждое число в выходной последовательности БПФ можно интерпретировать как:

X[k]=n=0N1x[n]ej2πnkN=Akejϕk

Вы можете интерпретировать это следующим образом: если вы хотите восстановить x [n], сигнал, с которого вы начали, вы можете взять набор сложных экспоненциальных функций , взвесьте каждое поX[k]=Akejϕkи сложите их. Результат в точности равен (с точностью до цифры)x[n]. Это всего лишь словесное определение обратного ДПФ.ej2πnkN,k=0,1,,N1X[k]=Akejϕkx[n]

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

x [ n - D ] e - j 2 π k D

x[n]X[k]
x[nD]ej2πkDNX[k]

То есть, если вы задержите свой входной сигнал на выборок, то каждое комплексное значение в БПФ сигнала умножается на константу e - j 2 π k DD . Люди часто не понимают, что выходные данные DFT / FFT являются сложными значениями, потому что они часто визуализируются только как величины (или иногда как величина и фаза).ej2πkDN

Изменить: я хочу отметить, что есть некоторые тонкости этого правила для ДПФ из-за его ограниченности во времени. В частности, сдвиг в вашем сигнале должен быть круговым, чтобы отношение сохранялось; то есть, когда вы задерживаете на D выборок, вам нужно обернуть последние D выборок, которые были в конце x [ n ], в начало задержанного сигнала. Это на самом деле не будет соответствовать тому, что вы увидите в реальной ситуации, когда сигнал просто не начинается до начала апертуры DFT (и, например, ему предшествуют нули). Вы всегда можете обойти это, заполнив нулями исходный сигнал x [ nx[n]DDx[n]x[n]D

Джейсон Р
источник
1

галламин,

Это просто означает, что в вашем векторе БПФ будет сдвиг фазы. Когда вы БПФ ваш (реальный) сигнал, ваш ответ будет сложным, так что у вас будет реальная и мнимая часть. Если вы взяли их фазу (inverse_tangent (imag / real)), это отобразит все фазы частот. Отличие их фаз от отсутствия задержки напрямую связано с задержкой во времени.

(В Matlab вы также можете получить фазу просто "angle (fft_result)").

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

ошалевший
источник
2
В этом ответе слишком много не указано и не указано. Мухаммед, по сути, предполагает круговой сдвиг данных, не говоря об этом. См. Ответ @ JasonR (отредактированный) для подробного описания этого вопроса, и мой комментарий по основному вопросу о том, что существует много способов использования БПФ, и все они дают разные результаты.
Дилип Сарватэ
@DilipSarwate прав, это предполагает круговой сдвиг данных. Как он указал, в БПФ есть тонкости, основанные на входном векторе.
Спейси
@gallamine, могу я спросить, как выглядят ваши векторы данных, например: - Signal1: [someZeros, signal, someZeros] - Signal2: [someDifferentNumberOfZeros, signal, someDifferentNumberOfZeros]
Spacey
1

Рассмотрим сигнал грех(ωT)имеет частотный состав ω, Задержка на 1 сек. сигнал будет таким же, так что такое же частотное содержание, но наше время t = 0 уже началось через 1 секунду, поэтому форма сигнала будет сдвигаться только на 1 секунду вправо, т.е. по фазе, а не по частоте. Как можно видеть из уравнения G (w), e ^ -jwt будет вызывать только фазовое изменение по кругу, поэтому любая задержка относительно T сигнала оригинала надеется, что это поможет. Общий электротехник Аман Глубокая Индия.

аман глубоко
источник
Привет, Аман. Добро пожаловать в Signals.SE. Не могли бы вы потратить немного времени и немного отформатировать свой ответ? У нас включен MathJax , который мы обычно предпочитаем для уравнений. Я сделал быстрое частичное редактирование, в котором есть несколько примеров, если вы не использовали его раньше. Спасибо за ваш вклад, и еще раз, добро пожаловать на сайт!
Datageist