我对生理数据进行了多次试验。我正在进行基于频率的分析,以分析某些特定频率下的功率(振幅)。是对多个相等长度的试验进行平均,然后对平均信号进行一次FFT,而不是针对每个试验计算FFT,然后对频点进行平均,是否相同?实际上,我发现情况并非如此。
具体来说,信号自然具有很强的1 / f分量,如果我计算每个单独试验的FFT,然后平均每个频点的幅度(实数部分),就会增强这一点。这两个相等吗?有正确的做事方法吗?还是应该在什么原则条件下在时域平均与频点平均之间进行选择?
我对生理数据进行了多次试验。我正在进行基于频率的分析,以分析某些特定频率下的功率(振幅)。是对多个相等长度的试验进行平均,然后对平均信号进行一次FFT,而不是针对每个试验计算FFT,然后对频点进行平均,是否相同?实际上,我发现情况并非如此。
具体来说,信号自然具有很强的1 / f分量,如果我计算每个单独试验的FFT,然后平均每个频点的幅度(实数部分),就会增强这一点。这两个相等吗?有正确的做事方法吗?还是应该在什么原则条件下在时域平均与频点平均之间进行选择?
Answers:
让我澄清一下。
这里的主要问题是这个问题是错误的。它不是“我应该在平均之前或之后进行傅立叶变换”。因为它不会因傅立叶变换的线性而有所不同。
要问的正确问题是“我应该在求平均值之前还是求平均值之后取傅立叶变换的幅度”。对于这个问题,答案是之前。
这是详细信息。
假设您的采样数据由以下序列表示:
...
至于您应该做什么,您应该对单个试验进行傅立叶变换(通过FFT),获得单个试验的幅度,然后将它们平均起来。
同样重要的一个问题是,平均能买到什么?更重要的是如何解释结果?明天再进行更深入的讨论:p
首先,FFT是一种算法。该变换称为傅立叶变换!它代表信号的直方图。在离散情况下,频域中的高读数意味着该频率下的大量能量。
您不应在FFT之前对数据进行平均,因为相位信息会导致数据发生重大变化。
想象两个样本,每个样本都包含一个纯余弦。在现实世界中,您永远不会在完全相同的起点上捕获此余弦。一个余弦将被替换为另一余弦(或者两个余弦将被替换为开始。数学上这是说y1 = cos(wt-A)y2 = cos(wt-B)其中A和B是偏移。在您的模型中两个更好地表现为同一件事,通过一点数学运算,我就可以选择这些值,使y2-y1 = 0。零的平均值为零,并且完全不是您想要的值,这是相位问题。
如果您的目标是找到应在整个频谱之间求平均的平均频谱,请不要对信号求平均!