[問題] 偶函數進行fft計算

看板MATLAB作者 (啦啦 )時間9年前 (2016/08/13 21:10), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
大家好 在下剛學Matlab不久 有點問題想請教大家 最近要使用到用一串離散的偶函數點進行fft轉換 預期得到的結果為只有實部的部分 但真正得到結果卻都會出現虛部 例如: a = [1 2 3 4 5 4 3 2 1]; A = fft(a); 結果A會有複數 但是如果是: a = [1 2 3 4 5 4 3 2]; A = fft(a); 這樣得到A的結果就不會有複數的部分 另外如果我的資料點更多(ex:1000點) 則得到的結果都會有複數出現 這是為什麼呢??? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.13.117 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1471093849.A.65F.html

08/13 22:54, , 1F
help fft 看一下phase的定義
08/13 22:54, 1F

08/14 16:13, , 2F
第1個有9個元素,固N=16,補7個0,非對稱
08/14 16:13, 2F

08/15 01:58, , 3F
原po應留意fft的演算法是八個點為單位計算,在點數不是
08/15 01:58, 3F

08/15 02:01, , 4F
8k個點的狀況下,請直接照dft的公式另寫function.
08/15 02:01, 4F

08/15 16:31, , 5F
matlab 的fft可補點可不補點,偶函數不會轉出複數和點數
08/15 16:31, 5F

08/15 16:31, , 6F
無關吧?
08/15 16:31, 6F

08/15 23:00, , 7F
DFT第一點是原點,case1原點左1右2不對稱自然有虛數
08/15 23:00, 7F
文章代碼(AID): #1NhnnPPV (MATLAB)
文章代碼(AID): #1NhnnPPV (MATLAB)