control.sample_system
- control.sample_system(sysc, Ts, method='zoh', alpha=None, prewarp_frequency=None, name=None, copy_names=True, **kwargs)[source]
Convert a continuous time system to discrete time by sampling.
- Parameters
sysc (LTI (
StateSpace
orTransferFunction
)) – Continuous time system to be convertedTs (float > 0) – Sampling period
method (string) – Method to use for conversion, e.g. ‘bilinear’, ‘zoh’ (default)
alpha (float within [0, 1]) – The generalized bilinear transformation weighting parameter, which should only be specified with method=”gbt”, and is ignored otherwise. See
scipy.signal.cont2discrete()
.prewarp_frequency (float within [0, infinity)) – The frequency [rad/s] at which to match with the input continuous- time system’s magnitude and phase (only valid for method=’bilinear’, ‘tustin’, or ‘gbt’ with alpha=0.5)
inputs (int, list of str or None, optional) – Description of the system inputs. If not specified, the original system inputs are used. See
InputOutputSystem
for more information.outputs (int, list of str or None, optional) – Description of the system outputs. Same format as inputs.
states (int, list of str, or None, optional) – Description of the system states. Same format as inputs. Only available if the system is
StateSpace
.name (string, optional) – Set the name of the sampled system. If not specified and if copy_names is False, a generic name <sys[id]> is generated with a unique integer id. If copy_names is True, the new system name is determined by adding the prefix and suffix strings in config.defaults[‘iosys.sampled_system_name_prefix’] and config.defaults[‘iosys.sampled_system_name_suffix’], with the default being to add the suffix ‘$sampled’.
copy_names (bool, Optional) – If True, copy the names of the input signals, output signals, and states to the sampled system.
- Returns
sysd – Discrete time system, with sampling rate Ts
- Return type
LTI of the same class (
StateSpace
orTransferFunction
)
Notes
See
StateSpace.sample()
orTransferFunction.sample()
for further details.Examples
>>> Gc = ct.tf([1], [1, 2, 1]) >>> Gc.isdtime() False >>> Gd = ct.sample_system(Gc, 1, method='bilinear') >>> Gd.isdtime() True