Customizable Pulse Generator

Version 2.0 (23.8 KB) by Berkin Birol
This Simulink block allows users to change amplitude, period, width and phase delay of a square waveform signal.
446 Downloads
Updated 3 Mar 2020

View License

This Simulink block allows users to change the amplitude, period, width and phase delay of a square waveform signal. The block acts like a Pulse generator with all parameters as inputs.

Cite As

Berkin Birol (2024). Customizable Pulse Generator (https://www.mathworks.com/matlabcentral/fileexchange/69483-customizable-pulse-generator), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
2.0

persistent variables have been used. And some improvements made during the persistent variable update.

1.6

bugfix of: with 0.5s fixed-step size [0.5s pulsewidth, 1 sn period] requested, [1s pulsewidth, 1.5s period] get Issue is solved.

1.5

bugfix: When width equals simulation time and period is 1, the output stuck at 1. As a solution, the countTime>width condition has been updated to countTime>=width

1.4

y=0 condition updated.
unnecessary comments removed.

1.3

bugfix: The output stayed at "0" if the period is reduced to any value less than currentTime. Problem solved by changing the condition for "making y high" algorithm.

1.2

Bugfix: When period or width is in milliseconds (0.xxx), some rounding errors occurred. To avoid this condition, tolerance has been added and the decisions with "==" changed to "abs(x-y)<Tolerance". Newly added condition solved this problem.

1.1.1

Bugfix: When step size of the solver equals to width, the pulse generator only produced one pulse. Newly added condition solved this problem.

1.1.0

Bugfix: When step size of the solver equals to width, the pulse generator only produced one pulse. Newly added condition solved this problem.

1.0.0