1

我编写了一个程序,试图制作一组数据的功率谱。为了测试它,我创建了一个包含 20 个正弦波的 1000 个样本的列表,我知道它们的频率以便测试它。这失败了,并没有给出预期的结果。这是应该通过 dft 计算功率谱的程序,其中 unsorted_v 是术语列表。

import cmath

N = len(unsorted_v)

for k in range(N):

     a = 0
     for n in range(N):
         a += unsorted_v[n] * cmath.exp(-2j * cmath.pi * k * n * (1/N))
     b = (abs(a)**2)*(1/N)
     print(k, ":", b)

感谢您对我做错了什么以及如何解决它提供任何帮助。

4

0 回答 0