作者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/cn.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