作者littlebee (啦啦 )
看板MATLAB
標題[問題] 偶函數進行fft計算
時間Sat Aug 13 21:10:46 2016
大家好
在下剛學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://webptt.com/m.aspx?n=bbs/MATLAB/M.1471093849.A.65F.html
1F:推 sunev: help fft 看一下phase的定義 08/13 22:54
2F:→ mp19990920: 第1個有9個元素,固N=16,補7個0,非對稱 08/14 16:13
3F:→ YoursEver: 原po應留意fft的演算法是八個點為單位計算,在點數不是 08/15 01:58
4F:→ YoursEver: 8k個點的狀況下,請直接照dft的公式另寫function. 08/15 02:01
5F:推 sunev: matlab 的fft可補點可不補點,偶函數不會轉出複數和點數 08/15 16:31
6F:→ sunev: 無關吧? 08/15 16:31
7F:→ buttleliu: DFT第一點是原點,case1原點左1右2不對稱自然有虛數 08/15 23:00