回复 #30 hcharlie 的帖子
呵呵,你这么表示我就明白了,其实你说的512,应该只是一种存储或者表达方式而已。第1条谱线代表的已经不是直流分量,而是两条谱线的合成,和其余511条谱线的物理意义不统一的。
还需要进行分解才能得到第1条谱线应该表示的直流信号的物理意义,你实际保存的信息还是513条谱线的信息。:)
我想我没有理解错吧? 实数FFT变换就是此意。你说过也是用的此法,不是吗?
表示得完整一点:先说虚部加0的复数FFT:
的FFT为;
的 IFFT为;
顺便说一下,你上次的FFT变换结果恰恰是我的复数FFT逆变换的结果。
的实数FFT变换为与我复数FFT的结果,一比即知是什么样关系。
在振动信号处理中,将0谱线(实部,虚部)都要去掉,也就不仔细分析其意义了。
[ 本帖最后由 hcharlie 于 2007-8-4 22:26 编辑 ]
Fs/2频谱的不完整性
假定存在一个Fs/2的振动分量,由于采样频率正好等于其2倍,采样值的大小与这个振动分量的相位有关,假定正好碰到(正弦)相位为0时,采集到的都是0,如果是PIA/2,则采到的全是峰和谷,一般情况是其COS部分,不确定的。反映在(复数)FFT上实部有数而虚部为0,(实部的数是不确定的)它不能代表Fs/2频率的振动分量的全部,从频谱分析的意义上是不能被采用的。要真正想得到此值必须要提高采样频率。[ 本帖最后由 hcharlie 于 2007-8-6 07:36 编辑 ]
回复 #32 hcharlie 的帖子
实数FFT的计算结果并不一定需要表示成你的形式诶。我给你的结果是matlab的fft计算结果,是没有除以N的。所以,可能的话,你检查一下你的fft程序,似乎相位错了,和matlab运算结果不一致。
有空的话,你也可以去了解一下为什么很多应用都要保存N/2+1点的信息。
下面是matlab里fft的帮助文档,512点的数据,显示了257点的频域信息,如果没有任何意义,我想它也会扔掉的。
[ 本帖最后由 Galaxy163 于 2007-8-6 09:15 编辑 ]
晕菜!
难道你们不明白什么是频率混叠吗? 呵呵,我俩在瞎折腾。:lol 看的有点晕了!相位问题
上面的网友说得对,fs/2问题是个频率混淆问题,我们废话太多了。相位问题可以讨论,我们还用一组简单的类似一阶正弦波数据为例:
复FFT后为
实FFT后为
复IFFT后为
我以为从物理意义来看,这个正弦波的一阶正弦分量为“正”好理解一点。
其实相位的正负是相对的,自己理解自己的数据不错就可以了。
matlab的数据怎样理解没看到说明。怎样正确地用别人的数据要理解了再用。
[ 本帖最后由 hcharlie 于 2007-8-6 15:37 编辑 ]