fluntwind 发表于 2006-7-24 11:09

求助有关FFT相位的问题

在使用matlab对模拟信号进行频域分析时,发现以下问题:
取时长t=20.48 s,数据点数2048,分析信号为:
X1=2*cos(2*pi*3.125*t+pi/3);
X2=2*sin(2*pi*3.125*t+pi/3);
通过matlab工具中的fft、angle函数进行分析后发现求得X1、X2的频率都是3.125,因为分析时长刚好为振动周期的整数倍避免了泄漏误差,而相位分析得到的相位角却有区别,X1得到相位是1.0472=pi/3,X2得到的相位是-0.5236=pi/3-pi/2,可见用sin函数模拟结果没有求得正确的相位参数!
请高人指点以上原因在哪里?是FFT分析的理论存在的问题还是MATLAB程序的问题?实际振动的稳态信号可以表示成sin函数也可以表示成cos函数,合理的相位参数如何保证呢?该如何处理以上问题?
急求高人指点,多谢!!

yangzj 发表于 2006-7-24 11:52

sin当然相差pi/2了,因为FFT变换是余弦分解嘛 .

X2=2*sin(2*pi*3.125*t+pi/3)=2*cos(2*pi*3.125*t+pi/3-pi/2)
页: [1]
查看完整版本: 求助有关FFT相位的问题