integrator

typhoon.test.signals.control.integrator(input, initial_value, limit_output=False, max_limit=None, min_limit=None)

Integrates provided input signal. It is implemented by using Backward Euler method.

Parameters:
  • input (pandas.Series with timedelta index values) – Input signal to be integrated.

  • initial_value (int, float) – Initial value of the integrated output signal

  • limit_output (bool) – If set to True, limits the output signal. In this case, parameters max_limit and min_limit have to be specified.

  • max_limit (int, float) – If limit_output argument is specified, this value limits the output from the upper side. Otherwise, it doesn’t take effect.

  • min_limit (int, float) – If limit_output argument is specified, this value limits the output from the lower side. Otherwise, it doesn’t take effect.

Returns:

result

Return type:

pandas.Series

Examples

Simple test for the integrator with a constant input

>>> from typhoon.test.signals.control import integrator
>>> from typhoon.test.signals import pandas_sine, assert_is_ramp
>>>
>>> def test_integrator():
>>>     const, initial_value = 1, 0
>>>     input_sig = pandas_sine(Ts=1e-4)
>>>     input_sig[:] = const
>>>     output_sig = integrator(input_sig, initial_value=initial_value)
>>>     assert_is_ramp(output_sig, slope=const, tol=1e-4, initial_value=initial_value)