如果我有一个有时间限制的信号,比如说一个只持续秒,然后我对该信号进行 FFT,我看到了频率响应。在示例中,这将是正弦曲线主频率处的尖峰。
现在,假设我采用相同的时间信号并将其延迟某个时间常数,然后采用 FFT,事情会如何变化?FFT 是否能够表示该时间延迟?
我认识到时间延迟代表频域的变化,但我很难确定这实际上意味着什么。
实际上,频域是否适合确定各种信号之间的时间延迟?
如果我有一个有时间限制的信号,比如说一个只持续秒,然后我对该信号进行 FFT,我看到了频率响应。在示例中,这将是正弦曲线主频率处的尖峰。
现在,假设我采用相同的时间信号并将其延迟某个时间常数,然后采用 FFT,事情会如何变化?FFT 是否能够表示该时间延迟?
我认识到时间延迟代表频域的变化,但我很难确定这实际上意味着什么。
实际上,频域是否适合确定各种信号之间的时间延迟?
离散傅里叶变换 (DFT),通常由快速傅里叶变换 (FFT)实现,将离散时域样本的有限长度序列映射到频域样本的等长序列。频域中的样本通常是复数;它们表示可用于时域复指数函数的加权和中的系数,以重建原始时域信号。
这些复数表示与每个指数函数相关的幅度和相位。因此,FFT 输出序列中的每个数字都可以解释为:
你可以这样解释:如果你想重构 x[n],你开始的信号,你可以取一堆复指数函数, 对每一个进行加权,并对它们求和。结果完全等于(在数值精度范围内). 这只是逆 DFT 的基于单词的定义。
因此,谈到您的问题,傅里叶变换的各种风格具有时域中的延迟映射到频域中的相移的特性。对于 DFT,此属性为:
也就是说,如果您将输入信号延迟采样,然后将信号 FFT 中的每个复数值乘以常数. 人们通常没有意识到 DFT/FFT 的输出是复数值,因为它们通常仅可视化为幅度(或有时作为幅度和相位)。
编辑:我想指出,由于 DFT 的时间覆盖范围有限,这条规则有一些微妙之处。具体来说,信号的变化必须是循环的,才能保持关系;也就是说,当你延迟经过样品,您需要包装最后一个结束时的样本到延迟信号的前面。这与您在真实情况下看到的不匹配,在这种情况下,信号直到 DFT 孔径开始之后才开始(例如,前面是零)。您始终可以通过对原始信号进行零填充来解决此问题这样当你延迟样本,无论如何,您只需将零环绕到前面。这种关系仅适用于 DFT,因为它在时间上是有限的;它不适用于经典的傅里叶变换或离散时间傅里叶变换。
没食子胺,
这仅仅意味着您的 FFT 矢量中会有相位偏移。当你对你的(真实)信号进行 FFT 时,你的答案会很复杂,所以你会有实部和虚部。如果您采用它们的相位 (inverse_tangent(imag/real)),这将显示频率的所有相位。如果您没有延迟,它们的阶段会有所不同,这与您在时间上的延迟直接相关。
(在 matlab 中,您也可以通过简单的“角度(fft_result)”来获得相位)。
顺便说一句,如果您将信号与延迟和无延迟进行相关并选择峰值,您可以通过这种方式获得延迟。在频域中,它从所有有延迟的信号中减去没有延迟的信号的所有相位,然后取平均值。
考虑信号, 它有频率成分. 延迟 1 秒。信号将是相同的,所以相同的频率内容,但我们的时间 t=0 已经开始了 1 秒,所以波形只会向右移动 1 秒,即相位而不是频率分量。
从方程可以看出只会导致循环方式的相位变化,因此原始信号的任何延迟都存在于 T 中。