MATLAB Answers

Variable frequency Square pulse - Simulink

Latest activity Commented on by 3so
on 15 Apr 2019
I would like to know how can I generate a variable frequency controlled square pulse with 50% duty cycle in Simulink? I wish to vary the frequency in the range of 2KHz to 5.5KHz. It would be nice if you guys could help me.
Thanks a ton!


Sign in to comment.

1 Answers

Answer by Quan Tao on 3 Aug 2017

To generate a square pulse in Simulink, the Pulse Generator block can be used.
Assuming we are using Time based for Pulse type parameter and Use simulation time for Time (t) parameter, the desired waveform of the pulse can be configured by setting the Amplitude, Period (secs), Pulse Width (% of period), and Phase delay (secs) parameters.
Suppose we are using default values for Amplitude and Phase delay (secs). The Pulse Width (% of period) parameter should be set to 50 in order to produce a pulse with 50% duty cycle.
To vary the frequency of the pulse, the Period (secs) can be set based on a base workspace variable. For example, you can define a base workspace variable for frequency:
f = 2000;
Then you can set the Period (secs) parameter to 1/f, which generates a pulse with a frequency of 2 kHz. By varying the value of f, you will be able to vary the frequency of the generated pulse.
To learn more about the Pulse Generator block, please refer to the documentation page on Pulse Generator.


I have same question as Haroon. Looking for solution yet.
I need that variable Pulse Generation also while simulation running, if you solve the problem please notify here, thank you.
For me it looks straightforward, you can use a "mod" block with a "clock" to derive this pulse signal.

Sign in to comment.

Translated by