how to generate two waveforms which have the same variance and different kurtosis

1 次查看(过去 30 天)
I want to generate two signals. They have the same variance and different kurtosis. My ideal signals are shown in figure.
Does anybody can solve this problem for me? Thanks.

回答(1 个)

Image Analyst
Image Analyst 2016-9-25
Try creating an amplitude vector and a sine wave and multiply them.
t = 1 : 400
period = 30 % or whatever....
amplitude = ... some function of t you decide on.
y = amplitude .* sine(2*pi*t/period)
plot(t, y);
  3 个评论
song
song 2016-9-26
编辑:song 2016-9-26
Hi, Here is my code. y1 and y2 look like what I want. But std(y1)~=std(y2). Could you please help me to fix it? Thank you
%%amplitude function.
x=-10:0.1:10;
a=1;sigma=2;
amplitude=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigma.^2))-0.02;
amplitude=mapminmax(amplitude,0.2,1); % rescale to [0.2,1]
plot(amplitude)
%%your codes.
period = 3; % or whatever....
y1=sin(2*pi*x/period);
y2 = amplitude .* sin(2*pi*x/period);%
plot(x,[y1;y2]','linewidth',1);
legend('Y1','Y2');
std(y1)
std(y2)

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by