How to create a square wave pulse

304 次查看(过去 30 天)
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

回答(2 个)

Star Strider
Star Strider 2020-9-16
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 2020-9-16
编辑:Ameer Hamza 2020-9-16
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!

Translated by