我现在正在尝试使用多个正弦波叠加的方式来生成一个不规则的波形,每个正弦波的幅值、频率以及初始相位都是随机产生的。可是我发现,不管使用什么样的幅值和相位,只要这些正弦波的频率是不一样的,而且只要正弦波的数量较多(比如100个),叠加在一起的时候,刚开始的幅值总是特别大,到后面就会比较稳定。这是为什么呢?
我用Matlab写了一段码来生成这个不规则的波形:
delta_omega=0.01;
omega=0.5:delta_omega:1.4;
N=length(omega);
t=0:0.01:100;
M=length(t);
% wave elevation expression is: eta = A*sin(omega*t+Phase).
omega=rand(1,N)*0.9+0.5;
A=rand(1,N)*0.5; % wave amplitude
Phase=rand(1,N)*pi;% initial phase shift
eta=zeros(1,M);
for i=1:M
eta(i)=sum(A.*sin(omega*t(i)+Phase)); % total wave elevation at each time point
end
plot(t,eta);
grid