一連のデータのパワー スペクトルを作成しようとするプログラムを作成しました。それをテストするために、周波数がわかっている 20 の正弦波の 1000 サンプルのリストを作成してテストしました。これは失敗し、期待した結果が得られませんでした。これは、項のリストである unsorted_v を使用して、dft を介してパワー スペクトルを計算することになっていたプログラムです。
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)
私が間違っていたこととそれを修正する方法についてあなたが与えることができる助けをありがとう.