为什么实偶序列在matlab中fft后的结果不是实偶序列?

来源:百度知道 编辑:UC知道 时间:2024/09/24 19:20:52
我们知道,实偶序列的DFT变换后是实偶序列,但我在matlab中试过用fft变换一个实偶序列,得出的结果不是实偶序列。。。
例如:
x=[1 2 3 4 4 3 2 1]; %实偶序列
fft(x)

得出的结果是:
ans =20 -5.8284-2.4142i 0 -0.17157 -0.41421i
0 -0.17157 +0.41421i 0 -5.8284 + 2.4142i
本人是菜鸟,希望各位大侠可以指点迷津!谢谢了!
我这里要处理的是实偶序列~实数而且是偶对称的序列。。。一楼回答前也许没有看清楚我的提问吧?无伦如何还是谢谢。。。继续等待高手出现!

谁说实数序列的傅里叶变化是实数列了

看看离散傅里叶变化的公式就知道不可能

X(jΩ)=∑ x(nT)e^(-jΩnT)

不是有一个虚数单位吗

你说的实数必须是对称的 可以Matlab一个序列起始位置默认是1而不是你需要的-4

你这个序列不是偶对称序列,偶对称序列书上是写x(n)=x(N-n),其中N是序列x(n)的长度,即n是从0~N-1,我认为这个n的取值有点不妥,不妥的地方在于n=0的情况,此时x(0)=x(N),出现了错误,因为没有x(N),所以此时的n应该是从1~N-1,下面写个例子,
a=[1 2 3 4 5 4 3 2]
fft(a)

a =

1 2 3 4 5 4 3 2

ans =

24.0000 -6.8284 0 -1.1716 0 -1.1716 0 -6.8284
此时变换后即为实数序列

当x(n)=x(N-n)时,起傅立叶变换X(k)才是实偶序列.