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

3 views (last 30 days)
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.

Answers (1)

Image Analyst
Image Analyst on 25 Sep 2016
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 Comments
song
song on 26 Sep 2016
Edited: song on 26 Sep 2016
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)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!