Main Content

d2c

Convertir modelos de tiempo discreto a tiempo continuo

Descripción

ejemplo

sysc = d2c(sysd) convierte un modelo de sistema dinámico de tiempo discreto sysd en un modelo de tiempo continuo utilizando una retención de orden cero en las entradas.

ejemplo

sysc = d2c(sysd,method) especifica el método de conversión.

ejemplo

sysc = d2c(sysd,opts) especifica opciones de conversión para la discretización.

[sysc,G] = d2c(___), donde sysd es un modelo de espacio de estados, devuelve una matriz G que asigna los estados xd[k] del modelo de espacio de estados de tiempo discreto a los estados xc(t) de sysc.

Ejemplos

contraer todo

Cree la siguiente función de transferencia de tiempo discreto:

H(z)=z-1z2+z+0.3

H = tf([1 -1],[1 1 0.3],0.1);

El tiempo de muestreo del modelo es Ts=0.1s.

Derive un modelo equivalente con retención de orden cero y de tiempo continuo.

Hc = d2c(H)
Hc =
 
   121.7 s + 3.668e-12
  ---------------------
  s^2 + 12.04 s + 776.7
 
Continuous-time transfer function.

Discretice el modelo resultante Hc con el método de retención de orden cero predeterminado y el tiempo de muestreo en 0.1 s para volver al modelo discreto original H.

c2d(Hc,0.1)
ans =
 
      z - 1
  -------------
  z^2 + z + 0.3
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Utilice el método de aproximación de Tustin para convertir H en un modelo de tiempo continuo.

Hc2 = d2c(H,'tustin');

Discretice el modelo resultante, Hc2, para regresar al modelo de tiempo discreto original (H).

c2d(Hc2,0.1,'tustin');

Realice la estimación de un modelo de función de transferencia de tiempo discreto y conviértalo en un modelo de tiempo continuo.

load iddata1
sys1d = tfest(z1,2,'Ts',0.1);
sys1c = d2c(sys1d,'zoh');

Realice la estimación de un modelo de función de transferencia de tiempo continuo.

sys2c = tfest(z1,2);

Compare la respuesta de sys1c y el modelo de tiempo continuo estimado directamente (sys2c).

compare(z1,sys1c,sys2c)

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Validation data (y1), sys1c: 69.3%, sys2c: 70.77%.

Los dos sistemas son casi idénticos.

Convierta un modelo de función de transferencia de tiempo discreto a de tiempo continuo.

load iddata1
sysd = tfest(z1,2,'Ts',0.1);
sysc = d2c(sysd,'zoh');

sys1c no tiene información de covarianza. La operación d2c conduce a la pérdida de datos de covarianza de los modelos identificados.

Regenere la información de covarianza utilizando la actualización de iteración cero con el mismo comando de estimación y datos de estimación.

opt = tfestOptions; 
opt.SearchOptions.MaxIterations = 0;
sys1c = tfest(z1,sysc,opt);

Analice el efecto sobre la incertidumbre de la respuesta en frecuencia.

h = bodeplot(sysd,sys1c);
showConfidence(h,3)

Figure contains 2 axes objects. Axes object 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sysd, sys1c. Axes object 2 contains 2 objects of type line. These objects represent sysd, sys1c.

Las incertidumbres de sys1c y sysd son comparables con la frecuencia Nyquist. No obstante, sys1c presenta una gran incertidumbre en el rango de frecuencia para el que los datos de estimación no proporcionan información.

Si no tiene acceso a los datos de estimación, utilice el comando translatecov que es una traducción de la covarianza basada en la fórmula de aproximación de Gauss en todas las operaciones de conversión del tipo de modelo.

Argumentos de entrada

contraer todo

Modelo de tiempo discreto, especificado como un modelo de sistema dinámico, como tf, ss o zpk.

No puede utilizar directamente un modelo idgrey cuyo FunctionType sea 'd' con d2c. En primer lugar, convierta el modelo al formato idss.

Método de conversión de tiempo de discreto a continuo, especificado como uno de los siguientes valores:

  • 'zoh': retención de orden cero en las entradas. Supone que las entradas de control son constantes por tramos a lo largo del periodo de muestreo.

  • 'foh': interpolación lineal de las entradas (retención de primer orden modificada). Supone que las entradas de control son lineales por tramos a lo largo del periodo de muestreo.

  • 'tustin': aproximación bilineal (Tustin) a la derivada. Para especificar este método con predistorsión de frecuencia (o lo que antes se conocía como método 'prewarp'), utilice la opción PrewarpFrequency de d2cOptions.

  • 'matched': método de correspondencia de polos y ceros (solo para sistemas SISO). Consulte [1].

Para obtener más información sobre los algoritmos de cada método de conversión d2c, consulte Continuous-Discrete Conversion Methods.

Opciones de conversión de tiempo de discreto a continuo, creadas con d2cOptions. Por ejemplo, especifique la frecuencia de predistorsión o el método de conversión como opción.

Argumentos de salida

contraer todo

Modelo de tiempo continuo, devuelto como un modelo de sistema dinámico del mismo tipo que el sistema de entrada sysd.

Cuando sysd es un modelo identificado (IDLTI), sysc:

  • Incluye tanto el componente medido como el componente de ruido de sysd. Si la varianza de ruido es λ en sysd, entonces el modelo de tiempo continuo sysc ha indicado un nivel de densidad espectral de ruido igual a Ts*λ.

  • No incluye la covarianza del parámetro estimado de sysd. Si desea convertir la covarianza mientras convierte el modelo, utilice translatecov (System Identification Toolbox).

Asignación de los estados xd[k] del modelo de espacio de estados sysd a los estados xc(t) de sysc, devuelto como una matriz. La asignación de los estados es la siguiente:

xc(kTs)=G[xd[k]u[k]].

Dada una condición inicial x0 para sysd y una entrada inicial u0 = u[0], la condición inicial correspondiente para sysc (suponiendo que u[k] = 0 para k < 0 es:

xc(0)=G[x0u0].

Referencias

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

[2] Kollár, I., G.F. Franklin, and R. Pintelon, "On the Equivalence of z-domain and s-domain Models in System Identification," Proceedings of the IEEE® Instrumentation and Measurement Technology Conference, Brussels, Belgium, June, 1996, Vol. 1, pp. 14-19.

Historial de versiones

Introducido antes de R2006a