Main Content

c2dOptions

Specify discretization method for continuous-time to discrete-time conversions

Description

Use c2dOptions to specify the discretization method and associated quantities for discretizing models with c2d.

Creation

Description

opts = c2dOptions returns the default options for c2d. Customize options by using dot notation to change the properties of opts.

example

opts = c2dOptions(Name,Value) sets properties using one or more name-value arguments. For example, to use the bilinear (Tustin) approximation method, set 'Method' to 'tustin'.

Properties

expand all

Discretization method, specified as one of the following values:

'zoh'

Zero-order hold, where c2d assumes the control inputs are piecewise constant over the sample time Ts.

'foh'

Triangle approximation (modified first-order hold), where c2d assumes the control inputs are piecewise linear over the sample time Ts. (See [1], p. 228.)

'impulse'Impulse-invariant discretization.
'tustin'

Bilinear (Tustin) approximation. By default, c2d discretizes with no prewarp and rounds any fractional time delays to the nearest multiple of the sample time. To include prewarp, use the PrewarpFrequency option. To approximate fractional time delays, use the FractDelayApproxOrder option.

'matched'

Zero-pole matching method. (See [1], p. 224.) By default, c2d rounds any fractional time delays to the nearest multiple of the sample time. To approximate fractional time delays, use the FractDelayApproxOrder option.

'least-squares'Least-squares method. Minimize the error between the frequency responses of the continuous-time and discrete-time systems up to the Nyquist frequency. Use the FitOrder option to specify the order of the discrete-time system.

For information about the algorithms for each conversion method, see Continuous-Discrete Conversion Methods.

Prewarp frequency for 'tustin' method, specified as 0 or a positive scalar value. Specify the frequency in rad/TimeUnit, where TimeUnit is the time units, specified in the TimeUnit property, of the discretized system. A value of 0 corresponds to the standard 'tustin' method without prewarp.

Since R2021a

Fit order for 'least-squares' method, specified as 'auto' or an integer. This option specifies the order of the discrete-time model to be fitted to the continuous-time frequency response with the 'least-squares' method. The default value 'auto' to uses the order of the continuous-time model. Specify a model order by changing FitOrder to a positive integer. Reducing the order can help with unstable poles or pole/zero cancellations at z = -1.

Maximum order of the Thiran filter used to approximate fractional delays in the 'tustin' and 'matched' methods. A value of 0 means that c2d rounds fractional delays to the nearest integer multiple of the sample time. If you set this property to a positive integer, c2d uses thiran to approximate fractional delays before discretizing.

Examples

collapse all

Generate two random continuous-time state-space models.

sys1 = rss(3,2,2);
sys2 = rss(4,4,1);

Create an option set for c2d to use the Tustin discretization method and 3.4 rad/s prewarp frequency.

opt = c2dOptions('Method','tustin','PrewarpFrequency',3.4);

Discretize the models, sys1 and sys2, using the same option set, but different sample times.

dsys1 = c2d(sys1,0.1,opt);
dsys2 = c2d(sys2,0.2,opt);

References

[1] Franklin, G.F., Powell, D.J., and Workman, M.L., Digital Control of Dynamic Systems (3rd Edition), Prentice Hall, 1997.

Version History

Introduced in R2010a

expand all

See Also