How to create a square wave pulse

186 views (last 30 days)
katherine keogh
katherine keogh on 16 Sep 2020
Answered: Star Strider on 16 Sep 2020
How do I create a square wave pulse, I don't really mind the gap between pulses but it must go on for 10ms. I dont mind the freauency or anything I just want to know how to create a square wave pulse that happens say 3 times in the 10ms

Answers (2)

Star Strider
Star Strider on 16 Sep 2020
Without the Signal Processing Toolbox:
t = linspace(0, 10E-3); % Time Vector (0 - 10ms)
f = 3/max(t); % Desired Frequency (Cycles/Timespan)
sqwv = sign(sin(2*pi*t*f)); % Signal
figure
plot(t, sqwv, 'LineWidth',1.5)
grid
ylim(ylim*1.1)
xlabel('Time (s)')
ylabel('Amplitude')
producing:
.

Ameer Hamza
Ameer Hamza on 16 Sep 2020
Edited: Ameer Hamza on 16 Sep 2020
If you have signal processing toolbox
T = 0.01; % 10 milliseconds timeperiod, 1 square wave in 10 milliseconds
t = linspace(0, T*10, 1000);
y = square(t/T*2*pi);
plot(t, y);
If you want to generate the waveform in Simulink, then you can use a pulse generator block and use the following settings.

Community Treasure Hunt

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

Start Hunting!