Modulation

Modulation#

class Modulation(options)#

Bases: handle

Modulation defines a scalar modulation envelope in time.

Described by Depth, Frequency, Duration, and Timing. Provides timeFunc() that returns the modulation value versus time.

Example:

m = Modulation(depth=0.2, frequency=10e3, duration=3e-3, timing=1e-3);
f = m.timeFunc();
y = f(0:1e-6:5e-3);
Constructor Summary
Modulation(options)#

Construct a Modulation object.

Parameters:
  • depth (double, optional) – Modulation depth (unitless or physical as used by client)

  • frequency (double, optional) – Modulation frequency \(f_m\) in [Hz]

  • duration (double, optional) – Duration \(T_m\) in [s]

  • timing (double, optional) – Start time \(t_0\) in [s]

Property Summary
Depth#

Modulation depth \(\alpha\) (unitless or client-defined)

Duration#

Modulation duration \(T_m\) [s]

Frequency#

Modulation frequency \(f_m\) [Hz]

Timing#

Start time \(t_0\) [s]

Method Summary
timeFunc()#

Build modulation function \(m(t) = \mathbb{1}_{[t_0,t_0+T_m]}(t)\, \alpha\, \sin(2\pi f_m t)\).

Returns:

Function handle mapping time \(t\) to \(m(t)\)

Return type:

function_handle