cheney 发表于 2008-3-7 14:21

频谱会有什么区别

sin(2*pi*50*t)和cos(2*pi*50*t)的频谱有没有什么区别??是不是一个频率为负的,一个为正的

cheney 发表于 2008-3-7 14:22

也就是说 cos作出的频谱在50HZ,sin 的频谱在-50HZ??

hcharlie 发表于 2008-3-7 17:01

cos的频谱在实部,sin在虚部。

VibrationMaster 发表于 2008-3-7 19:45

幅值谱没区别,但是相位谱有区别

zhangnan3509 发表于 2008-3-7 19:47

我想楼主的有这样的疑问,可以亲手做一下fft变换,比较一下就能得到结论

songzy41 发表于 2008-3-8 09:35

如果50正好在频谱的某条谱线上,那就如同3楼所说,cos的频谱只有实部,在50处有根谱线;sin只有虚部,在50处有根谱线。如果50不在谱线上,由于泄漏的存在,cos和sin在变换后实部相同,而虚部数值的正负号相反。

cheney 发表于 2008-3-9 08:33

对应这样的信号, s=sin(2*pi*50*t+pi/4)+0.015*sin(6*pi*50*t+pi/4)+0.005*sin(10*pi*50*t+pi/6)+0.02*randn(1,n);
我用旋转矢量不变技术(ESPRIT)作出的频率估计:为f=

[ 本帖最后由 cheney 于 2008-3-9 08:54 编辑 ]

cheney 发表于 2008-3-9 08:45

问题:
(一)
对于sin(2*pi*50*t+pi/6)如认为频率为50的话 ,对应的幅值,相位分别为0.9856和-1.0438(如图中红线所示),此时,相位估计不正确,因为-1.0438不等于pi/6,也不等于pi/2-pi/6
                                             如认为频率为-50的话,对应幅值,相位为0.9856和1.0438=pi/2-pi/6 (如图中兰色线所示) 因为sin(2*pi*50*t+pi/6)=cos(-2*pi*50*t+pi/2-pi/2)=cos(-100*pi*t+1.0438)   
    因此,我认为sin(2*pi*50*t+pi/6)作出的频谱对应的频率应该为-50HZ
(二)为什么每次MATLAB运行出的结果都有些偏差了,是不是我程序的问题还是因为MATLAB的精度没有这么高 还是怎么回事情?

[ 本帖最后由 cheney 于 2008-3-9 08:50 编辑 ]

VibrationMaster 发表于 2008-3-9 09:33

1. 先把噪声randn(1,n)去掉
2. 当非整周期采样时,有FFT谱读出的相位有误差,最大可达90度.参看近期学报中频谱校正问题

lifehas 发表于 2008-5-28 16:01

本帖最后由 wdhd 于 2016-9-10 14:24 编辑

原帖由 VibrationMaster 于 2008-3-7 19:45 发表
幅值谱没区别,但是相位谱有区别

理论上应该是这样的
页: [1]
查看完整版本: 频谱会有什么区别