iT邦幫忙

0

如何用python寫傅立葉轉換?

想請教各位前輩該如何用python寫傅立葉轉換?
(如: 波長方波 -> 時域)

以下是程式碼:

import numpy as np
import seaborn
from matplotlib import pyplot as plt
from scipy.fftpack import fft


x = np.linspace(-100,100, 1000)
y = np.array([1 if abs(t)<=50 else 0 for t in x])
yf = np.fft.fft(y)
xf = np.linspace(-4*np.pi,4*np.pi,1000)

#背景格線
plt.grid(color = 'black', linestyle = '--', linewidth = 0.5)
#方波
plt.plot(xf,abs(yf))

plt.savefig('wronganswer.png')
plt.show()

希望能跑出波浪狀的圖 (如圖)
https://ithelp.ithome.com.tw/upload/images/20210713/20138102itaK9BwN9R.png

但如果用fft會跑出另一種圖片(如圖)
https://ithelp.ithome.com.tw/upload/images/20210713/20138102RoabDXwBtT.png

請問該如何撰寫會比較好?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答