Signal functions

The functions in this section describe non-sinusoidal waveforms, which are often used in signal processing and electronics.

Square wave signal

squarew()

mpmath.squarew(t, amplitude=1, period=1)

Computes the square wave function using the definition:

\[x(t) = A(-1)^{\left\lfloor{2t / P}\right\rfloor}\]

where \(P\) is the period of the wave and \(A\) is the amplitude.

Examples

Square wave with period = 2, amplitude = 1

>>> from mpmath import *
>>> mp.dps = 25; mp.pretty = True
>>> squarew(0,1,2)
1.0
>>> squarew(0.5,1,2)
1.0
>>> squarew(1,1,2)
-1.0
>>> squarew(1.5,1,2)
-1.0
>>> squarew(2,1,2)
1.0

Triangle wave signal

trianglew()

mpmath.trianglew(t, amplitude=1, period=1)

Computes the triangle wave function using the definition:

\[x(t) = 2A\left(\frac{1}{2}-\left|1-2 \operatorname{frac}\left(\frac{x}{P}+\frac{1}{4}\right)\right|\right)\]

where \(\operatorname{frac}\left(\frac{t}{T}\right) = \frac{t}{T}-\left\lfloor{\frac{t}{T}}\right\rfloor\) , \(P\) is the period of the wave, and \(A\) is the amplitude.

Examples

Triangle wave with period = 2, amplitude = 1

>>> from mpmath import *
>>> mp.dps = 25; mp.pretty = True
>>> trianglew(0,1,2)
0.0
>>> trianglew(0.25,1,2)
0.5
>>> trianglew(0.5,1,2)
1.0
>>> trianglew(1,1,2)
0.0
>>> trianglew(1.5,1,2)
-1.0
>>> trianglew(2,1,2)
0.0

Sawtooth wave signal

sawtoothw()

mpmath.sawtoothw(t, amplitude=1, period=1)

Computes the sawtooth wave function using the definition:

\[x(t) = A\operatorname{frac}\left(\frac{t}{T}\right)\]

where \(\operatorname{frac}\left(\frac{t}{T}\right) = \frac{t}{T}-\left\lfloor{\frac{t}{T}}\right\rfloor\), \(P\) is the period of the wave, and \(A\) is the amplitude.

Examples

Sawtooth wave with period = 2, amplitude = 1

>>> from mpmath import *
>>> mp.dps = 25; mp.pretty = True
>>> sawtoothw(0,1,2)
0.0
>>> sawtoothw(0.5,1,2)
0.25
>>> sawtoothw(1,1,2)
0.5
>>> sawtoothw(1.5,1,2)
0.75
>>> sawtoothw(2,1,2)
0.0

Unit triangle signal

unit_triangle()

mpmath.unit_triangle(t, amplitude=1)

Computes the unit triangle using the definition:

\[x(t) = A(-\left| t \right| + 1)\]

where \(A\) is the amplitude.

Examples

Unit triangle with amplitude = 1

>>> from mpmath import *
>>> mp.dps = 25; mp.pretty = True
>>> unit_triangle(-1,1)
0.0
>>> unit_triangle(-0.5,1)
0.5
>>> unit_triangle(0,1)
1.0
>>> unit_triangle(0.5,1)
0.5
>>> unit_triangle(1,1)
0.0

Sigmoid wave signal

sigmoid()

mpmath.sigmoid(t, amplitude=1)

Computes the sigmoid function using the definition:

\[x(t) = \frac{A}{1 + e^{-t}}\]

where \(A\) is the amplitude.

Examples

Sigmoid function with amplitude = 1

>>> from mpmath import *
>>> mp.dps = 25; mp.pretty = True
>>> sigmoid(-1,1)
0.2689414213699951207488408
>>> sigmoid(-0.5,1)
0.3775406687981454353610994
>>> sigmoid(0,1)
0.5
>>> sigmoid(0.5,1)
0.6224593312018545646389006
>>> sigmoid(1,1)
0.7310585786300048792511592