Main Content

将连续时间的离散时间系统

This example shows how to convert a discrete-time system to continuous time usingd2c, and compare the results using two different interpolation methods.

Convert the following second-order discrete-time system to continuous time using the zero-order hold (ZOH) method:

G ( z ) = z + 0 . 5 ( z + 2 ) ( z - 5 ) .

G = zpk(-0.5,[-2,5],1,0.1); Gcz = d2c(G)
Warning: The model order was increased to handle real negative poles.
Gcz = 2.6663 (s^2 + 14.28s + 780.9) ------------------------------- (s-16.09) (s^2 - 13.86s + 1035) Continuous-time zero/pole/gain model.

When you calld2cwithout specifying a method, the function uses ZOH by default. The ZOH interpolation method increases the model order for systems that have real negative poles. This order increase occurs because the interpolation algorithm maps real negative poles in the z domain to pairs of complex conjugate poles in the s domain.

Convert G to continuous time using the Tustin method.

Gct = d2c(G,'tustin')
Gct = 0.083333 (s+60) (s-20) ---------------------- (s-60) (s-13.33) Continuous-time zero/pole/gain model.

In this case, there is no order increase.

Compare frequency responses of the interpolated systems with that ofG.

bode(G,Gcz,Gct) legend('G','Gcz','Gct')

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. These objects represent G, Gcz, Gct. Axes object 2 contains 3 objects of type line. These objects represent G, Gcz, Gct.

In this case, the Tustin method provides a better frequency-domain match between the discrete system and the interpolation. However, the Tustin interpolation method is undefined for systems with poles atz= -1 (integrators), and is ill-conditioned for systems with poles nearz= 1.

See Also

Functions

Live Editor Tasks

Related Topics