[問題]用快速傅立葉(FFT)的問題已回收

看板MATLAB作者 (墮天闍)時間13年前 (2011/05/24 16:40), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
在試寫一個將函數轉換為頻譜後在轉回時域的程式 但是跑出來的圖並不是頻率為1的sin波形式,而是0.5Hz的sin波.. 看了很久還是找不出問題,想請問一下到底是哪裡出錯了呢? N = 300; fs = 20; f = 1; time = (0:N-1)/fs; y = 20*sin(2*pi*f*time); Y = fft(y); Y = fftshift(Y); ifftshiftY = ifftshift(Y); ifftY=ifft(ifftshiftY); plot(time,abs(ifftY)); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.205.174

05/24 17:20, , 1F
你最後加了abs,怎麼可能畫出負的部份
05/24 17:20, 1F

05/24 17:21, , 2F
你畫出來的並不是0.5Hz的sin波,而是1Hz的sin被取abs
05/24 17:21, 2F

05/24 17:50, , 3F
瞭解了..居然犯這種問題>"< 感謝您的回答
05/24 17:50, 3F
文章代碼(AID): #1Dssy7Ut (MATLAB)