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

作者: littlebee (啦啦 )   2016-08-13 21:10:46
大家好
在下剛學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點)
則得到的結果都會有複數出現
這是為什麼呢???
作者: sunev (Veritas)   2016-08-13 22:54:00
help fft 看一下phase的定義
作者: mp19990920 (郝渴連)   2016-08-14 16:13:00
第1個有9個元素,固N=16,補7個0,非對稱
作者: YoursEver (豬是妳)   2016-08-15 01:58:00
原po應留意fft的演算法是八個點為單位計算,在點數不是8k個點的狀況下,請直接照dft的公式另寫function.
作者: sunev (Veritas)   2016-08-15 16:31:00
matlab 的fft可補點可不補點,偶函數不會轉出複數和點數無關吧?
作者: buttleliu (Techie)   2016-08-15 23:00:00
DFT第一點是原點,case1原點左1右2不對稱自然有虛數

Links booklink

Contact Us: admin [ a t ] ucptt.com