我有一个波形样本列表,其中所有值都在 -1
和 +1
之间。这些值是从音乐文件中读取的。我现在就,
- 应用直接傅立叶变换,(
scipy.fftpack.rfft
) - 通过将值除以样本数的平方根来对值进行归一化,
- 计算列表中每个项目的功效。 (
sqrt(real^2 + imag^2)
)
完成所有这些操作后,我可以预期在此列表中出现的最大值是多少?我预计最大功率为 1
,即最大幅度输入数据中也是1
。然而,这仅适用于简单的正弦波。一旦我开始用真正的音乐来做这件事,我就会获得更高的值(value)。
如何“规范化”获取 0
和 1
之间值的能力?是否有可能找出最大值?如果不是,扩大结果的最佳实践是什么?
最佳答案
如果查看 DC 信号 1 1 1 1
,其 DFT 为 4 0 0 0
。
要将其标准化回 [0,1],您需要除以 4,即点数。
关于python - 直接傅立叶变换的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606305/