时域中的延迟对频域有什么影响?


21

如果我有时间限制的信号,比如说只持续秒的正弦波,然后对该信号进行FFT,就会看到频率响应。在该示例中,这将是正弦波主频率上的尖峰。T

现在,假设我获取了相同的时间信号,并将其延迟了一定的时间常数,然后进行了FFT,情况如何变化?FFT是否可以表示该时间延迟?

我认识到,时间的延迟表示在频域上的变化,但我有一个很难确定哪些实际手段exp(jωt)

实际上,频域是否适合确定各种信号之间的时间延迟?


1
这取决于您所说的FFT。假设您的原始信号有时间样本。假设延迟为100个样本。因此,现在您有N + 100个样本,前100 样本为0。您是否正在计算前N个样本的FFT (与以前相同)?的Ñ + 100样品?最后Ñ所述的Ñ + 100样品?答案将取决于您对FFT的含义...N100N+1001000NN+100NN+100
Dilip Sarwate

1
@Dilip我正在寻找更一般的答案。也许解释什么会在这些场景改变将是有益的?
gallamine 2011年

1
如果将N + 100个样本中的最后传递给N点FFT子例程,则将获得以前相同的 FFT。没什么区别。如果将N + 100个样本中的前N (前100个样本为0)传递给N点FFT子例程,您将得到难以解释的信息。仔细阅读@JasonR的答案,它会告诉您前100个样本是通过循环还是循环填充数据中的NN+100NNN+1001000N100偏移,那么您会看到延迟反映在采样阶段。
Dilip Sarwate

Answers:


21

通常由快速傅立叶变换(FFT)实现的离散傅立叶变换(DFT)将离散时域样本的有限长度序列映射到频域样本的等长序列。频域中的样本为一般复数。它们表示可以在时域中的复杂指数函数的加权和中用来重建原始时域信号的系数。

这些复数表示与每个指数函数关联的振幅相位。因此,FFT输出序列中的每个数字都可以解释为:

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

ej2πnkN,k=0,1,,N1X[k]=Akejϕkx[n]

因此,谈到您的问题,傅立叶变换的各种风格都具有以下特性:时域中的延迟映射到频域中的相移。对于DFT,此属性为:

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

Dej2πkDN

x[n]DDx[n]x[n]D


1

没食子胺

这仅表示FFT向量中会有一个相位偏移。当您对(真实)信号进行FFT运算时,您的答案将非常复杂,因此您将拥有真实而虚构的部分。如果您选择了它们的相位(inverse_tangent(imag / real)),则将显示频率的所有相位。它们的阶段不同于您没有延迟的方式与您的时间延迟直接相关。

(在matlab中,您也可以通过简单的“ angle(fft_result)”获得相位)。

顺便说一句,如果您对信号进行延迟和无延迟的相关处理,并选择峰值,则可以通过这种方式获得延迟。在频率域中,它是不加延迟地从所有信号中减去信号的所有相位,然后取平均值。


2
在这个答案中有太多未说和未说明的事情。穆罕默德实质上是在假设数据是循环移位的,而不必这么说。有关这一点的详细说明,请参见@JasonR的(编辑)答案,我对主要问题的评论是,有许多使用FFT的方法,它们都给出不同的结果
Dilip Sarwate

@DilipSarwate是正确的,这是假定数据的循环移位。正如他指出的那样,基于输入向量的FFT有一些细微之处。
Spacey

@gallamine,请问您的数据向量是什么样的,例如:-Signal1:[someZeros,信号,someZeros]-Signal2:[someDifferentNumberOfZeros,信号,someDifferentNumberOfZeros]
Spacey

1

sin(ωt)ω


嗨,阿曼 欢迎使用Signals.SE。您可以花一点时间来格式化您的答案吗?我们启用了MathJax,通常对于方程式更喜欢。我进行了快速的部分编辑,其中有一些示例(如果您以前没有使用过的话)。感谢您的贡献,再次欢迎您访问该网站!
datageist
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.