Slew-Rate Limiter#

The signal samples of a signal trace can be processed with a slew-rate limiter.

Create the Trace Collection#

You can limit the slew-rates of the signal samples with a slew-rate limiter by calling the method slew().

An slew-rate limiter trace collection is returned.

>>> # slew-rate limited signal samples
>>> traces = Trace('Signal', [0, 1, 1, -1, -1]).slew(limits=(0.5, -0.5), hold=1)
>>> traces
SlewRateLimiterTraces(level=Trace(label='Signal:slew:level',
                                  samples=[0, 0, 0.5, 0.0, -0.5]),
  deviation=Trace(label='Signal:slew:deviation',
                  samples=[0, 1, 0.5, -1.0, -0.5]),
  active=Trace(label='Signal:slew:active',
                samples=[0, 1, 1, 1, 1]))

Note

The slew-rate limiter uses the first signal sample as the preset value of the slew-rate limiter.

Figure#

You can visualize the trace collection with a figure containing the subplots of the traces in the collection by calling the method figure().

>>> figure = Trace('Signal', [0, 1, 1, -1, -1]).slew(
...   limits=(0.5, -0.5), hold=1).figure()

(Source code, html)