我有一个时间变量,我计算出它的平均值是 9.5。我已经使用 matlab 中的 FFT 完成了这个变量的傅里叶变换。我只想考虑一个频率范围,所以我用零替换了我排除的所有频率。在此之后,我做了这件事,再次及时获得了一个变量。我计算了它的平均值,现在是 9.5。我很惊讶,因为我认为它应该是一个较低的值,因为信号不包括某些频率。
也许用 0 代替我不想包含的频率值不是正确的程序。你能帮助我吗?
我有一个时间变量,我计算出它的平均值是 9.5。我已经使用 matlab 中的 FFT 完成了这个变量的傅里叶变换。我只想考虑一个频率范围,所以我用零替换了我排除的所有频率。在此之后,我做了这件事,再次及时获得了一个变量。我计算了它的平均值,现在是 9.5。我很惊讶,因为我认为它应该是一个较低的值,因为信号不包括某些频率。
也许用 0 代替我不想包含的频率值不是正确的程序。你能帮助我吗?
[后续图片] 让我们从一个思想实验(可以模拟)开始:想象一个值为的恒定信号。添加一个完整周期的非零频率的纯正弦。如果您可以通过在傅立叶域中将其频率仓归零来消除这种谐波贡献,那么得到的逆傅立叶信号仍将具有均值。因此,删除“某些频率”并不会降低平均值本身。
现在请记住,在傅立叶域中,“O-th”频率应该等于(直到一个恒定的比例因子)信号的平均值。这与上述一致。上方和下方具有均匀分布的值,因此这对信号的平均值没有贡献。
然后,假设观察时间范围仅包含“一个周期正弦”的第一个正半部分,或第二个。将其频率归零肯定会消除频率分量,但“否则”补偿的正弦波凸块的一部分可能会保留,并以两种方式修改幅度。因此,如果一切都做对了,你的实验就不足为奇了。
最后:如果在 FFT 中删除或取消频率项是一种通用的治疗方法(灵丹妙药),那么我将没有我的工作,并且这个网站会更精简。正如@ZRhan 所建议的那样,将 FFT 系数归零是非常危险的。