MATLAB: HOW TO GENERATE SQUARE PULSE

square pulse

hi everybody,
I want to generate square pulse with different interval and the interval is random. in my case i have 1.2s 7 times,2.4s 7times and 3s 6times which will create 20 square pulse. the width is 0.07s.
anyone can help me? thanks.

Best Answer

If you have signal processing toolbox, use pulstran
EDIT
Amp=1 % Pulse amplitude
Wd=0.07 % Pulse width
sp=[1.2 2.4 3];
fr=[7 7 6];
spac_vect=cumsum(cell2mat(arrayfun(@(x,y) x*ones(1,y),sp,fr,'un',0)))
amp_vect=Amp*ones(1,numel(spac_vect)) % vector of amplitudes
t=linspace(0,max(spac_vect),1000) % time vector
d = [spac_vect;amp_vect]';
y = pulstran(t,d,'rectpuls',Wd);
plot(t,y)
Related Question