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.
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
oc2d
. SeleccioneConvert Model Rate
de entre las terminaciones de comandos sugeridas.
Ejemplos
Discretizar el modelo en Live Editor
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 de 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 de 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 Show code, 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, que es el modelo convertido. Para especificar un nombre de variable de salida diferente, introduzca el 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
Modelo
— Modelo que se va a convertir
Modelo LTI
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
ozpk
.Modelos LTI identificados, como modelos
idss
eidtf
. (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
).
Tiempo de muestreo
— Tiempo de muestreo objetivo
0.2 (predeterminado) | 0 | escalar positivo
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.
Método
— Método de conversión de tasas
Zero-order hold
(predeterminado) | First-order hold
| Bilinear (Tustin) approximation
| ...
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 más información acerca de cómo elegir un método de conversión, consulte Continuous-Discrete Conversion Methods.
Orden de retardo
— Orden aproximado para estimar el retardo de tiempo
0 (predeterminado) | número entero positivo
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 más información sobre los filtros de Thiran, consulte thiran
.
Compensación de la alteración de frecuencia (rad/s)
— Compensación de la alteración de frecuencia para el método bilineal (Tustin)
0 (predeterminado) | escalar positivo
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 de frecuencia. Este método garantiza la coincidencia entre la respuesta original y la respuesta convertida a la alteración de frecuencia especificada. Consulte Continuous-Discrete Conversion Methods.
Gráfica de salida
— Tipo de gráfica de respuesta
Bode
(predeterminado) | Step
| Impulse
| ...
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
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)