malong 发表于 2006-8-23 16:22

matlab如何做频谱分析!

感觉matlab做的都是幅值的平方,用FFT做,应该算功率谱把,有的取模,有的取模方。
不知道有没有能做出信号频谱的程序,如取信号 x=sin(2*pi*60*t)+1/2*sin(2*pi*120*t)
应该包含两个频率成分一个是60Hz幅值1,一个是120Hz幅值1/2,我用matlab编的频率成分对,就是幅值不对,幅值取的应该是功率谱把! 对于功率谱,功率谱密度,还有它的单位,老是搞不清楚,也看到不少解释的文章,希望大家不厌其烦在给我解释一下,也希望能把我说的这个例子用matlab实现一下,主要幅值我编的,老是不是频谱,而用我就一般采用origin做频谱了,matlab的信号工具箱,也一样频率很准,幅值也不知道是什么单位! 我总结一下matlab画功率谱的函数不下4个,希望专家给总结一下在解释一下!

ly307163 发表于 2006-9-12 14:05

matlab如何做频谱分析!

我也想知道这方面的知识,哪位高手请多多指教阿

colajing 发表于 2006-9-19 17:24

me too

songzy41 发表于 2006-9-19 21:15

1,当频谱中60和120是频率分辨率的整数倍,也就是60和120Hz在频谱中正好有谱线能表示出来,那么可以很方便此得到60Hz幅值为1,120Hz幅值为1/2。
2,当频谱中60和120不是频率分辨率的整数倍,60和120Hz都分别在两条谱线之间,你就看不清60和120Hz的幅值。这便是所谓的栅栏效应(现象)。这时要计算60和120Hz的幅值只能用修正(校正)法来计算,一样可计算60Hz幅值算是1,120Hz幅值是1/2。
3,我们普通说的功率谱就是功率密度谱(power dencity spectrum),而大家又称为功率谱密度。它的单位应是功率的单位/Hz,例如:瓦/Hz。
4,楼主在MATLAB中不能求出信号的幅值(实际上还可能包括频率、初始相位,甚至于衰减量),这主要由于FFT后有栅栏效应,只能用修正法进行计算。
页: [1]
查看完整版本: matlab如何做频谱分析!