MATLAB Answers

How to generate a few timing signals as shown below?

3 views (last 30 days)

Accepted Answer

Max Murphy
Max Murphy on 6 Jan 2020
Check out
rectpuls(t,w); % w controls width of it; need to synthesize time vector
and
tripuls(T,w,1); % Use value of 1 for s input to get shape for middle signal
For the top and bottom signals, you will have to do sums of a couple different rectpuls outputs. Here is an example
t = linspace(-125,125,2501);
% Just remember, you shift time so for example
% delta(t-2) shifts the shape (line with x) like:
% x x
% __|______ impulse --> _____|___
% 0 2 0 2
% (time) (time)
Vgs_resetProgram = -rectpuls(t+60,20);
Vgs_setProgram = rectpuls(t-40,20);
Vgs = Vgs_resetProgram + Vgs_setProgram;
Vds_resetRead = tripuls(t+10,20,1);
Vds_setRead = tripuls(t-90,20,1);
Vds = Vds_resetRead + Vds_setRead;
IMT_State = rectpuls(t-90,20);
figure('Name','Timing Signal Example');
subplot(3,1,1); plot(t,Vgs,'r-');
ylabel('V_{GS}','FontName','Arial','Color','k');
subplot(3,1,2); plot(t,Vds,'g-');
ylabel('V_{DS}','FontName','Arial','Color','k');
subplot(3,1,3); plot(t,IMT_State,'b-');
ylabel('IMT State','FontName','Arial','Color','k');
suptitle('Timing Signal Example');
xlabel('Time','Color','k','FontName','Arial','FontWeight','bold');

More Answers (0)