Python'un fft işlevselliği konusunda biraz tutuş alıyorum ve tökezlediğim garip şeylerden biri, Parseval's theorem'un, 50 Şimdi, ben bir normalleştirme faktörü olduğunu eminim, ama bu fonksiyon ile ilgili ben bulabilirsiniz tüm bilgileri gibi, bunu bulmak mümkün görünmüyor 0.Python'da Parseval teoremi
import numpy as np
import matplotlib.pyplot as plt
import scipy.fftpack as fftpack
pi = np.pi
tdata = np.arange(5999.)/300
dt = tdata[1]-tdata[0]
datay = np.sin(pi*tdata)+2*np.sin(pi*2*tdata)
N = len(datay)
fouriery = abs(fftpack.rfft(datay))/N
freqs = fftpack.rfftfreq(len(datay), d=(tdata[1]-tdata[0]))
df = freqs[1] - freqs[0]
parceval = sum(datay**2)*dt - sum(fouriery**2)*df
print parceval
plt.plot(freqs, fouriery, 'b-')
plt.xlim(0,3)
plt.show()
olması gerekirken scipy.fftpack.rfft documentation.
Düzeltme için teşekkürler! – unutbu
Dikkat Edilmesi Gerekenler: Kısmen bu, genel sayının, kayan nokta sayılarının gerçek sayılar ile aynı şey olmadığı bir yönüdür. – Marcin
@Marcin Yep, kontrolde '==' 'a '-' olarak değiştirdi ... – Jaime