# cupyx.scipy.signal.cont2discrete#

cupyx.scipy.signal.cont2discrete(system, dt, method='zoh', alpha=None)[source]#

Transform a continuous to a discrete state-space system.

Parameters:
• system (a tuple describing the system or an instance of lti) –

The following gives the number of elements in the tuple and the interpretation:

• 1: (instance of lti)

• 2: (num, den)

• 3: (zeros, poles, gain)

• 4: (A, B, C, D)

• dt (float) – The discretization time step.

• method (str, optional) –

Which method to use:

• gbt: generalized bilinear transformation

• bilinear: Tustin’s approximation (“gbt” with alpha=0.5)

• euler: Euler (or forward differencing) method (“gbt” with alpha=0)

• backward_diff: Backwards differencing (“gbt” with alpha=1.0)

• zoh: zero-order hold (default)

• foh: first-order hold (versionadded: 1.3.0)

• impulse: equivalent impulse response (versionadded: 1.3.0)

• alpha (float within [0, 1], optional) – The generalized bilinear transformation weighting parameter, which should only be specified with method=”gbt”, and is ignored otherwise

Returns:

sysd – Based on the input type, the output will be of the form

• (num, den, dt) for transfer function input

• (zeros, poles, gain, dt) for zeros-poles-gain input

• (A, B, C, D, dt) for state-space system input

Return type:

tuple containing the discrete system

Notes

By default, the routine uses a Zero-Order Hold (zoh) method to perform the transformation. Alternatively, a generalized bilinear transformation may be used, which includes the common Tustin’s bilinear approximation, an Euler’s method technique, or a backwards differencing technique.