python - 直接傅立叶变换的最大值

标签 python fft dft spectrum

我有一个波形样本列表,其中所有值都在 -1+1 之间。这些值是从音乐文件中读取的。我现在就,

  1. 应用直接傅立叶变换,(scipy.fftpack.rfft)
  2. 通过将值除以样本数的平方根来对值进行归一化,
  3. 计算列表中每个项目的功效。 (sqrt(real^2 + imag^2))

完成所有这些操作后,我可以预期在此列表中出现的最大值是多少?我预计最大功率为 1,即最大幅度输入数据中也是1。然而,这仅适用于简单的正弦波。一旦我开始用真正的音乐来做这件事,我就会获得更高的值(value)。

如何“规范化”获取 01 之间值的能力?是否有可能找出最大值?如果不是,扩大结果的最佳实践是什么?

最佳答案

如果查看 DC 信号 1 1 1 1,其 DFT 为 4 0 0 0

要将其标准化回 [0,1],您需要除以 4,即点数。

关于python - 直接傅立叶变换的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606305/

相关文章:

c# - Chris Lomont 的 C# FFT - 它是如何工作的

python - 正确执行 fftshift 和 ifftshift 的顺序(在 python 中)

OpenCV DFT_INVERSE 不同于Matlab的ifft

python - 如何获取python列表中项目的索引和值?

python - 对 Groovy 脚本调用的 Python 脚本中的异常进行编码

python - 通过 Socket 服务器发送整数时出现问题

python - .anaconda 文件夹占用太多空间

c++ - 我如何从WAV文件中获取时域频率?

opencv - OpenCV的离散傅立叶变换的实际输出公式是什么?

algorithm - 检测正弦信号频率和相位的简单高效算法