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
StateSpace
orTransferFunction
Continuous time system to be converted.
- Tsfloat > 0
Sampling period.
- methodstring
Method to use for conversion, e.g. ‘bilinear’, ‘zoh’ (default).
- alphafloat 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_frequencyfloat 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).
- sysc
- Returns
- sysdLTI of the same class (
StateSpace
orTransferFunction
) Discrete time system, with sampling rate
Ts
.
- sysdLTI of the same class (
- Other Parameters
- inputsint, 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.- outputsint, list of str or None, optional
Description of the system outputs. Same format as
inputs
.- statesint, list of str, or None, optional
Description of the system states. Same format as
inputs
. Only available if the system isStateSpace
.- namestring, 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. Ifcopy_names
is True, the new system name is determined by adding the prefix and suffix strings inconfig.defaults['iosys.sampled_system_name_prefix']
andconfig.defaults['iosys.sampled_system_name_suffix']
, with the default being to add the suffix ‘$sampled’.- copy_namesbool, optional
If True, copy the names of the input signals, output signals, and states to the sampled system.
Notes
See
StateSpace.sample
orTransferFunction.sample
for further details on implementation for state space and transfer function systems, including available methods.Examples
>>> Gc = ct.tf([1], [1, 2, 1]) >>> Gc.isdtime() False >>> Gd = ct.sample_system(Gc, 1, method='bilinear') >>> Gd.isdtime() True