如果我有一个时间受限制的信号,比如说仅持续$ T $秒的正弦曲线,然后对该信号进行FFT,则可以看到频率响应。在示例中,这将是正弦波主频率上的尖峰。

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

我认识到时间延迟表示频域中的$ \ exp(-j \ omega t)$变化,但是我很难确定这实际上意味着什么。

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

评论

这取决于您所说的FFT。假设您的原始信号有$ N $个时间样本。假设延迟为$ 100 $个样本。因此,现在您有了$ N + 100 $个样本,其中第一个$ 100 $为$ 0 $。您是否正在计算前$ N $个样本的FFT(与以前相同)? $ N + 100 $个样本? $ N + 100 $个样本中的最后$ N $个?答案将取决于您所说的FFT ...

@Dilip我正在寻找更一般的答案。也许对这些情况下的变化做出解释会有所帮助?

如果将$ N + 100 $个样本的最后$ N $传递给$ N $点FFT子例程,您将获得与以前相同的FFT。没什么区别。如果将$ N + 100 $个样本中的第一个$ N $(前$ 100 $个样本为$ 0 $)传递给$ N $点FFT子例程,您将得到难以解释的信息。仔细阅读@JasonR的答案,它会告诉您,如果通过循环或循环移位从数据中填充了最初的$ 100 $样本,那么您将看到样本阶段反映的延迟。

#1 楼

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

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

$$
X [k] = \ sum_ {n = 0} ^ {N-1} x [n] e ^ {\ frac {-j 2 \ pi nk} {N}} = A_k e ^ {j \ phi_k}
$$

您可以这样解释:如果您要重建x [n](即您开始使用的信号),则可以采用一堆复杂的指数函数$ e ^ {\ frac {j 2 \ pi nk} {N}},k = 0、1,\ ldots,N-1 $,分别用$ X [k] = A_k e ^ {j \ phi_k} $加权,然后总结一下。结果完全等于(在数值精度内)$ x [n] $。这只是逆DFT的基于单词的定义。

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

$$
x [n] \ leftrightarrow X [k]
$$
x [n-D] \ leftrightarrow e ^ {\ frac {-j2 \ pi k D} {N}} X [k]
$$

也就是说,如果将输入信号延迟$ D $个样本,则信号FFT中的每个复数值将乘以常数$ e ^ {\ frac {-j2 \ pi k D} {N}} $。人们通常不会意识到DFT / FFT的输出是复数值,因为它们通常仅可视化为幅度(或有时为幅度和相位)。

编辑:我想指出的是,由于DFT的时间覆盖范围有限,因此该规则对于DFT有一些微妙之处。具体来说,信号的移动必须是循环的,才能保持该关系。也就是说,当您将$ x [n] $延迟$ D $个样本时,您需要将$ x [n] $末尾的最后$ D $个样本包装到延迟信号的前面。这与在信号直到DFT孔径开始之后才开始(例如,以零开头)才开始的真实情况下所看到的完全不匹配。您始终可以通过对原始信号$ x [n] $进行零填充来解决此问题,这样当您延迟$ D $个样本时,无论如何,您只需将零缠绕在前面即可。这种关系仅适用于DFT,因为它在时间上是有限的。它不适用于经典的傅立叶变换或离散时间傅立叶变换。

#2 楼

没食子碱,

这只是意味着FFT向量中会有一个相位偏移。当您对(真实)信号进行FFT运算时,您的答案将非常复杂,因此您将拥有真实而虚构的部分。如果您选择了它们的相位(inverse_tangent(imag / real)),则将显示频率的所有相位。

(在matlab中,您也可以通过简单的“ angle(fft_result)”来获得相位)。 br />
顺便说一句,如果您对信号进行延迟和无延迟相关,并选择峰值,则可以通过这种方式获得延迟。在频率域中,它是不加延迟地从所有信号中减去信号的所有相位,然后取平均值。

评论


$ \ begingroup $
此答案中有很多未说明和未指定的内容。穆罕默德实质上是在假设数据是循环转移的,而不必这么说。有关这一点的详细说明,请参见@JasonR的(编辑)答案,我对主要问题的评论是使用FFT的方法有很多,它们都给出不同的结果
$ \ endgroup $
– Dilip Sarwate
2011-10-26 17:27

$ \ begingroup $
@DilipSarwate是正确的,这是假定数据的循环移位。正如他指出的那样,基于输入向量的FFT有一些细微之处。
$ \ endgroup $
–太空
2011-10-26 17:50

$ \ begingroup $
@gallamine,请问您的数据向量是什么样的,例如:-Signal1:[someZeros,信号,someZeros]-Signal2:[someDifferentNumberOfZeros,信号,someDifferentNumberOfZeros]
$ \ endgroup $
–太空
2011-10-26 17:53

#3 楼

考虑信号$ \ sin(\ omega t)$,它的频率成分为$ \ omega $。延迟1秒。信号将是相同的,因此频率内容相同,但是我们的时间t = 0在1秒之前已经开始,因此波形仅向右偏移1秒,即相位不是频率分量。

从等式$ G(w)= e ^ {-j \ omega t} $可以看出,只会以循环方式引起相位变化,因此无论延迟是多少,原始信号。

评论


$ \ begingroup $
嗨,阿曼欢迎使用Signals.SE。您可以花一点时间来格式化答案吗?我们启用了MathJax,通常我们更喜欢使用方程式。我进行了快速的部分编辑,其中有一些示例(如果您以前没有使用过的话)。感谢您的贡献,再次欢迎您访问该网站!
$ \ endgroup $
–datageist♦
18年8月22日在22:26