从给定的周期分量中获得光谱结构

时间:2014-05-05 18:36:28

标签: matlab spectral

我有以下模型

clear all;
A1=24;
A2=23;
A3=23;
A4=23;
A5=10;
 f1=23;
 f2=43;
 f3= 10;
 f4=16;
 phi=2*pi*(rand(1,4)-0.5);
 t=0:0.01:2.93;
x=rand([1,length(t)]);
 y=A1.*sin(2*pi*f1*t+phi(1))+A2.*cos(2*pi*f1*t+phi(2))+A3.*sin(2*pi*f1*t+phi(3))+A4.*cos(2*pi*f1*t+phi(4))+A5.*x;

一般来说,这个模型应该给我们4个峰值,但是当我使用了周期图时

>> [pxx,f]=periodogram(y,[],[],100);
>> plot(f,pxx)
>> 

但是我得到了以下图片

enter image description here

我无法解决的问题,请帮帮我

1 个答案:

答案 0 :(得分:0)

正确的代码如下,它只是错字

clear all;
A1=24;
A2=23;
A3=23;
A4=23;
A5=10;
 f1=23;
 f2=43;
 f3= 10;
 f4=16;
 phi=2*pi*(rand(1,4)-0.5);
 t=0:0.01:2.93;
 k=1:1:294;
x=rand([1,length(t)]);
 y(k)=A1.*sin(2*pi*f1*t+phi(1))+A2.*cos(2*pi*f2*t+phi(2))+A3.*sin(2*pi*f3*t+phi(3))+A4.*cos(2*pi*f4*t+phi(4))+A5.*x;
 [pxx,f]=periodogram(y,[],[],100);
 plot(f,pxx)