Engee documentation

Variable Pulse Generator

Generation of an ideal, time-varying pulse signal.

blockType: VariablePulseGenerator

Path in the library:

/Basic/Discontinuities/Variable Pulse Generator

Description

Use the block Variable Pulse Generator to create perfect modulated pulse signals.

In the general case, the output pulse of the block is described by the expression

where — the width of the output pulse.

Ports

Input

# D — working cycle
scalar | vector | the matrix

Details

Desired pulse duty cycle P in the form of a scalar in the range [0,1].

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Complex numbers support

Yes

# P — period
scalar | vector | the matrix

Details

The time between the rising edges of successive pulses of the output signal. A lower value corresponds to a higher pulse frequency.

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Complex numbers support

Yes

Output

# OUT_1 — modulated pulse output signal
scalar | vector | the matrix

Details

A modulated pulse output signal corresponding to the input duty cycle.

Data types

Float64

Complex numbers support

Yes

Parameters

Main

# Allow zero pulse width — allow the output value to be zero
Logical

Details

Enable this option to allow the output pulse signal to support pulses of width 0.

Enabling this option causes the unit to have a direct end-to-end connection. This can cause algebraic loops in your model.
Default value

false (switched off)

Program usage name

AllowZeroPulseWidth

Tunable

No

Evaluatable

No

# Sample Time — the interval between the calculation steps
SampleTime (real number / vector of two real numbers)

Details

Specify the interval between the calculation steps as a non-negative number. To inherit the calculation step, set this parameter to −1.

Default value

0.1

Program usage name

SampleTime

Tunable

No

Evaluatable

Yes