Convert Model Rate
Convertir modelos entre tiempo continuo y tiempo discreto y remuestrear modelos en Live Editor
Descripción
Convert Model Rate permite convertir un modelo LTI en 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,rateoc2d. SeleccioneConvert Model Ratede entre las terminaciones de comandos sugeridas.
Ejemplos
Utilice la tarea Convert Model Rate en Live Editor para convertir un modelo en 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 Métodos de conversión entre tiempo continuo y discreto). 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 mediante frecuencia de precompensación. 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 la frecuencia de precompensación. 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
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,ssozpk.Modelos LTI identificados, como modelos
idsseidtf. (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 en 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 holdFirst-order holdImpulse-invariant discretization(solo conversión de modelos SISO continuos a discretos)Bilinear (Tustin) approximationZero-pole matching methodLeast-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 Métodos de conversión entre tiempo continuo y discreto.
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.
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 precompensación de frecuencia. Este método garantiza una coincidencia entre las respuestas originales y convertidas en la frecuencia de precompensación que especifica. Consulte Métodos de conversión entre tiempo continuo y discreto.
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.
BodeStepImpulsePole-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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)