gpt4 book ai didi

python - 在 python 中,如果我对复杂数据执行 fft,然后仅对正频率进行 irfft,这对数据有何影响?

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:08 25 4
gpt4 key购买 nike

所以我试图对一组实值点执行频移。为了实现频移,必须将数据乘以复指数,从而使所得数据变得复杂。如果我只乘以一个余弦,我就会得到和频率和差频率的结果。我只想要总和或差值。

我所做的是将数据乘以复指数,使用 fft.fft() 计算 fft,然后仅在正频率上使用 fft.irfft() 以获得仅具有总和的实值数据集或频率的差移。这似乎很有效,但我想知道这样做是否有任何缺点,或者可能是实现相同目标的更合适的方法。预先感谢您提供的任何帮助!

最佳答案

你所做的一切都很好。您正在生成解析信号以适应负频率,就像离散希尔伯特变换一样。您将遇到一些缩放问题 - 您需要将 FFT 结果的实频部分中的所有非直流和非奈奎斯特信号加倍。

一些实际问题是,此方法会带来窗口大小的延迟,因此,如果您尝试实时执行此操作,您可能应该检查使用 FIR Hilbert 更改器(mutator)和适当的总和。在这种情况下,延迟将是希尔伯特更改器(mutator)的群延迟。

另一个值得关注的问题是您需要记住信号的直流分量也会随着所有其他频率而变化。因此,我建议您在移位之前对数据进行降级(保存值),在 FFT 数据之后将 DC bin 归零(以删除 DC bin 中最终出现的任何频率分量),然后将平均值加回去以保留最后的信号电平。

关于python - 在 python 中,如果我对复杂数据执行 fft,然后仅对正频率进行 irfft,这对数据有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36606390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com