Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Convert Model Rate

Convertir modelos entre tiempo continuo y tiempo discreto y remuestrear modelos en Live Editor

Desde R2019b

Descripción

Convert Model Rate permite convertir un modelo LTI de tiempo continuo a tiempo discreto de manera interactiva. También se puede utilizar para remuestrear un modelo en tiempo discreto. La tarea genera automáticamente código de MATLAB® para un script en vivo.

Para aprender a utilizar Convert Model Rate, seleccione el modelo que desea convertir. También puede especificar el tiempo de muestreo objetivo, el método de conversión y otros parámetros. La tarea genera el modelo convertido en el área de trabajo de MATLAB, y puede generar una gráfica de respuesta que permitir supervisar la coincidencia entre el modelo original y el convertido a medida que experimenta con los parámetros de conversión.

Funciones relacionadas

Convert Model Rate genera código con las siguientes funciones.

Convert Model Rate task in Live Editor

Abrir la tarea

Para añadir la tarea Convert Model Rate a un script en vivo en el editor de MATLAB:

  • En la pestaña Live Editor, seleccione Task > Convert Model Rate.

  • En un bloque de código de su script, escriba una palabra clave relevante, como convert, rate o c2d. Seleccione Convert Model Rate de entre las terminaciones de comandos sugeridas.

Ejemplos

expandir todo

Utilice la tarea Convert Model Rate en Live Editor para convertir un modelo de tiempo continuo a tiempo discreto de manera interactiva. Experimente con diferentes métodos, opciones y gráficas de respuesta. La tarea genera automáticamente un código que refleja sus selecciones. Abra este ejemplo para ver un script preconfigurado que contiene la tarea Convert Model Rate.

Cree un modelo de función de transferencia en tiempo continuo.

G = tf([1 -50 300],[1 3 200 350]);

Para discretizar este modelo, abra la tarea Convert Model Rate en Live Editor. En la pestaña Live Editor, seleccione Task > Convert Model Rate. En la tarea, seleccione G como el modelo que se desea convertir.

La tarea discretiza automáticamente el modelo usando el tiempo de muestreo predeterminado (0.2 segundos) y el método de conversión predeterminado, Zero-order hold. También crea un diagrama de Bode, que permite comparar las respuestas del modelo original y el convertido.

La línea vertical de la gráfica muestra la frecuencia de Nyquist asociada al tiempo de muestreo predeterminado. Supongamos que desea utilizar un tiempo de muestreo de 0,15 segundos. Cambie el tiempo de muestreo introduciendo el nuevo valor en el campo Sample Time. La gráfica de respuesta se actualiza automáticamente para reflejar el nuevo tiempo de muestreo.

Si es importante que la dinámica de la resonancia sea precisa para su aplicación, puede mejorar la coincidencia del dominio de la frecuencia con un método de conversión diferente. En la tarea, experimente con diferentes métodos y observe el efecto que tiene en la gráfica de respuesta.

El método de Tustin puede generar una mejor coincidencia en el dominio de la frecuencia que el método de retención de orden cero predeterminado. (Consulte Continuous-Discrete Conversion Methods). En Select Conversion Method, seleccione Bilinear (Tustin) approximation. Inicialmente, la coincidencia resultante del dominio de la frecuencia es menor que con el método de retención de orden cero.

Puede mejorar la coincidencia compensando la alteración en la frecuencia. Esta opción obliga a que la respuesta en tiempo discreto coincida con la frecuencia especificada. La resonancia de G alcanza su pico a 14 rad/s. Introduzca ese valor para compensar la alteración en la frecuencia. La coincidencia mejora alrededor de la resonancia. Sin embargo, la resonancia se encuentra muy cerca de la frecuencia de Nyquist para el tiempo de muestreo de 0,15 segundos, lo que limita lo cerca que puede estar la coincidencia.

La tarea Convert Model Rate puede generar otros tipos de gráficas de respuesta. Por ejemplo, para comparar las respuestas en el dominio del tiempo del modelo original y del modelo convertido, en Output Plot, seleccione step o impulse.

La tarea genera código en su script en vivo. El código generado refleja los parámetros y opciones que seleccione, e incluye código para generar la gráfica de respuesta que especifique. Para ver el código generado, haga clic en , en la parte inferior del área de parámetros de la tarea. La tarea se expande para mostrar el código generado.

De forma predeterminada, el código generado utiliza sysConverted como nombre de la variable de salida. El modelo convertido en el área de trabajo de MATLAB® utiliza este nombre. Para especificar un nombre de variable de salida diferente, introduzca un nuevo nombre en la línea de resumen en la parte superior de la tarea. Por ejemplo, cambie el nombre a sys_d.

La tarea actualiza el código generado para reflejar el nuevo nombre de la variable, y el nuevo modelo convertido sys_d aparece en el área de trabajo de MATLAB. Puede utilizar el modelo para un análisis más profundo o para el diseño de control, como lo haría con cualquier otro objeto de modelo. Por ejemplo, simule la respuesta del sistema convertido a una entrada de onda cuadrada. Utilice el tiempo de muestreo especificado en la tarea.

[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)

Parámetros

expandir todo

Seleccione un modelo LTI. La lista contiene todos los modelos de sistemas dinámicos en tiempo continuo o discreto adecuados en el área de trabajo de MATLAB, entre los que se incluyen:

  • Modelos LTI numéricos, como modelos tf, ss o zpk.

  • Modelos LTI identificados, como modelos idss e idtf. (El uso de modelos identificados requiere una licencia de System Identification Toolbox™).

Puede convertir modelos SISO o modelos MIMO, con o sin retardos de tiempo, aunque algunos métodos de conversión solo están disponibles para modelos SISO (consulte la descripción del parámetro Method). No puede utilizar Convert Model Rate para convertir modelos LTI generalizados como genss o uss, modelos de datos de respuesta en frecuencia como frd o modelos de proceso (idproc).

Especifique el tiempo de muestreo del modelo convertido en unidades de 1/TimeUnit, donde TimeUnit es la propiedad TimeUnit del modelo de entrada.

  • Para discretizar un modelo en tiempo continuo o remuestrear un modelo en tiempo discreto, introduzca el tiempo de muestreo objetivo.

  • Para convertir un modelo de tiempo discreto a tiempo continuo, introduzca 0.

Elija un método de conversión de tasas. Los métodos disponibles son los siguientes:

  • Zero-order hold

  • First-order hold

  • Impulse-invariant discretization (solo conversión de modelos SISO continuos a discretos)

  • Bilinear (Tustin) approximation

  • Zero-pole matching method

  • Least-squares method (solo conversión de modelos SISO continuos a discretos)

Para obtener más información acerca de cómo elegir un método de conversión, consulte Continuous-Discrete Conversion Methods.

Cuando se convierte la tasa de un modelo que tiene un retardo de tiempo, los métodos Bilinear (Tustin) approximation o Zero-pole matching method redondean el retardo de tiempo al múltiplo entero más próximo del tiempo de muestreo. Este redondeo puede degradar la precisión de la dinámica, especialmente cerca de la frecuencia de Nyquist.

Establezca Delay Order en un número entero distinto de cero para hacer que Convert Model Rate aproxime la parte fraccionaria del retardo utilizando un filtro de Thiran en lugar de redondear. Utilice el valor más pequeño que genere una dinámica de tasa convertida suficientemente precisa para su aplicación. Para obtener más información sobre los filtros de Thiran, consulte thiran.

Cuando se discretiza un modelo en tiempo continuo, si el sistema tiene una dinámica importante en una frecuencia particular que se desea que la conversión de la tasa conserve, puede utilizar el método Bilinear (Tustin) approximation para compensar la alteración en la frecuencia. Este método garantiza la coincidencia entre la respuesta original y la respuesta en frecuencia convertida especificada. Consulte Continuous-Discrete Conversion Methods.

Convert Model Rate genera automáticamente una gráfica de respuesta para ayudar a comprobar que se conserva la dinámica importante para su aplicación. Especifique uno de los siguientes tipos de gráfica de respuesta para comparar las respuestas del modelo original y el convertido mientras experimenta con los parámetros de conversión.

  • Bode

  • Step

  • Impulse

  • Pole-Zero

El código generado por la tarea incluye código para crear la gráfica de respuesta seleccionada. Para omitir la gráfica de respuesta, seleccione None.

Historial de versiones

Introducido en R2019b