簡體   English   中英

Python FFT - 輸出 fft 與輸入函數相同嗎?

[英]Python FFT - Output fft is the same as input function?

我正在嘗試對來自具有振盪形狀的模擬的數據執行 FFT。 當我運行 scipy FFT 時,輸出與輸入相同,我不知道為什么。 我的代碼如下:

tstart = 7.5000000000039813e-2
rho = 0.80272956E-04
V = 4773.706375394508
Aref = 0.203911
Pnondim = 0.5 * rho * V**2 * Aref

df1 = pd.read_csv('screenP.csv')
P1 = -np.array(df1[:])/Pnondim
CT = 1.52
Ax1 = P1 + CT
steps1 = len(P1)
dt1 = 2e-7
tend1 = tstart + steps1*dt1
t1 = np.linspace(tstart,tend1,steps1) * 1000
plt.plot(t1,Ax1)
plt.show()

X = fftpack.rfft(Ax1)
freq = fftpack.rfftfreq(len(Ax1), dt1)

plt.plot(freq, np.abs(X))
plt.xlabel('Frequency (Hz)'), plt.ylabel('Power')
plt.show()

其中 screenP 是 CFD 求解器的數據輸出。 原始曲線和fft輸出如下所示。

https://i.stack.imgur.com/8iPa8.png

https://i.stack.imgur.com/1Eja9.png

任何幫助將非常感激。

簡單示例顯示源a正弦曲線和傅立葉結果的峰值。

from scipy.fftpack import rfft
import math, numpy
import matplotlib.pyplot as plt
a = [math.sin(i/5) for i in range(100)]
plt.plot(a)
plt.show()
fu = rfft(a)
plt.plot(numpy.abs(fu))
plt.show()

什么代碼創建您的第一張和第二張圖片? 請向我們展示可重現的示例。

如果設置了參數overwrite_x ,則rfft的結果可能會覆蓋源數組,但它的默認值為False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM