Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

d2d

Resample discrete-time model

Syntax

sys1 = d2d(sys, Ts)
sys1 = d2d(sys, Ts, 'method')
sys1 = d2d(sys, Ts, opts)

Description

sys1 = d2d(sys, Ts) resamples the discrete-time dynamic system model sys to produce an equivalent discrete-time model sys1 with the new sample time Ts (in seconds), using zero-order hold on the inputs.

sys1 = d2d(sys, Ts, 'method') uses the specified resampling method 'method':

  • 'zoh' — Zero-order hold on the inputs

  • 'tustin' — Bilinear (Tustin) approximation

sys1 = d2d(sys, Ts, opts) resamples sys using the option set with d2dOptions.

Examples

collapse all

Create the following zero-pole-gain-model with sample time 0.1 seconds.

$$H\left( z \right) = {{z - 0.7} \over {z - 0.5}}$$

H = zpk(0.7,0.5,1,0.1);

Resample the model at 0.05 s.

H2 = d2d(H,0.05)
H2 =
 
  (z-0.8243)
  ----------
  (z-0.7071)
 
Sample time: 0.05 seconds
Discrete-time zero/pole/gain model.

Resample H2 at 0.1 seconds to obtain the original model H.

H3 = d2d(H2,0.1)
H3 =
 
  (z-0.7)
  -------
  (z-0.5)
 
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.

Suppose that you estimate a discrete-time output-error polynomial model with sample time commensurate with the estimation data (0.1 seconds). However, your deployment application requires a faster sampling frequency (0.01 seconds). You can use d2d to resample your estimated model.

Load the estimation data.

load iddata1 z1
z1.Ts
ans =

    0.1000

z1 is an iddata object containing the estimation input-output data with sample time 0.1 seconds.

Estimate an output-error polynomial model of order [2 2 1].

sys = oe(z1,[2 2 1]);
sys.Ts
ans =

    0.1000

Resample the model at sample time 0.01 seconds.

sys2 = d2d(sys,0.01);
sys2.Ts
ans =

    0.0100

d2d resamples the model using the zero-order hold method.

Tips

  • Use the syntax sys1 = d2d(sys, Ts, 'method') to resample sys using the default options for'method'. To specify tustin resampling with a frequency prewarp (formerly the 'prewarp' method), use the syntax sys1 = d2d(sys, Ts, opts). See the d2dOptions reference page.

  • When sys is an identified (IDLTI) model, sys1 does not include the estimated parameter covariance of sys. If you want to translate the covariance while converting the model, use translatecov.

Introduced before R2006a

Was this topic helpful?