Hi, I don't know still exactly how I can help u as the whole GUI thing and all is difficult to post in one answer here. For your convenience I am giving you an idea of how to generate a signal as a pulse train. I hope it would make things a bit easier for you.
delay_random = random('gaussian',0,10,1,1)* 2;
freq_random = random('gaussian',0,10,1,1)*100;
phase_random = random('gaussian',0,10,1,1)*100;
time = 0:1/50:10 ;
pulse_time = 0:1/50:0.5;
a=0;
p = 0;
signal = zeros(1,length(0:1/50:delay_random));
while(p <=10)
a = cos(2*pi*freq_random*(0:1/50:0.5) + phase_random);
p=p+0.5;
signal = cat(signal,a);
end
figure(1);
plot(time,a);
You can use this code to write for event when you press a button on your GUI like a button to generate the pulse train. If you want you can add some noise to this code to make things a bit more realistic.. For any other help ,feel free to contact.
The estimation part I leave on you. It depends on what method you have to use
Best Answer