viernes, 21 de febrero de 2014

Respuesta de sistemas continuos y discretos en MATLAB

Respuesta de sistemas continuos

Para analizar el comportamiento transitorio y permanente de la respuesta de los sistemas, MATLAB permite realizar directamente simulaciones ante dos tipos de entradas: el impulso y el escalón unitario. Los comandos disponibles para tal fin son: impulse y step. Las gráficas generadas muestran la respuesta del sistema y son interactivas con el ratón, pudiéndose leer el valor de la señal en cualquier punto de la misma. Así mismo es posible determinar automáticamente los valores de las características estáticas y dinámicas más usuales (tiempo de pico, sobreoscilación, valor final, etc.).

El dato que se le pasa al comando debe ser una función de transferencia definida como objeto tf o zpk; puede ir acompañada de otros argumentos, como por ejemplo el tiempo deseado de la simulación. Todas las opciones soportadas por estos comandos se pueden consultar con la orden help.

A la hora de generar las respuestas de los sistemas, existen dos posibilidades que son la ejecución del comando con variables de salida a la izquierda del mismo, o sin variables de salida. En el primer caso, MATLAB crea las variables indicadas por el usuario con los valores del resultado de la simulación, es decir el tiempo y la amplitud de la señal de salida; estas variables serán del tipo vectorial. En el segundo caso, sin variables de salida, MATLAB crea directamente una gráfica donde representa la respuesta temporal. En ambos casos el tiempo de simulación se ajusta automáticamente, dependiendo de los polos y ceros del sistema, salvo en los casos en que el usuario especifique un tiempo dentro del comando.

Respuesta al impulso




Respuesta al Escalón Unitario



Se pueden obtener simulaciones de varios sistemas sobre una misma gráfica, incorporando al comando las funciones de transferencia separadas por comas. Así mismo se puede especificar un tiempo para la simulación, indicándolo con un valor numérico dentro del comando a la derecha de las simulaciones de transferencia.



Respuesta ante cualquier tipo de entrada

la respuesta de un sistema continuo ante cualquier tipo de señal de entrada definida por el usuario se obtiene mediante el comando lsim. Los parámetros que se le pasan son la función de transferencia del sistema, seguido de los vectores amplitud y tiempo que forman la señal de entrada. Si se ejecuta el comando sin variables de salida a la izquierda, se generará automáticamente una gráfica con la respuesta correspondiente; si se definen dos variables, MATLAB guardará en ellas el resultado numérico con los valores de la amplitud y el tiempo de la respuesta del sistema.

las respuestas de los sistemas ante señales de entrada periódicas se obtienen también con el comando lsim; para ello, previamente se deben obtener los vectores de amplitud y tiempo que forman la señal de entrada periódica, por ejemplo con el comando gensig para la generación de una onda senoidal, cuadrada o un tren de impulsos.

A continuación se muestran ejemplos con las respuestas de los sistemas G2(s) y G2(s) ante entrada parábola y rampa respectivamente, y de G1(s) ante una cuadrada periódica.








Respuesta de sistemas discretos

La representación que realiza MATLAB de las respuestas de los sistemas ante entrada escalón, impulso u otras, dependerá del tipo de función de transferencia, ya sea ésta continua G(s) o discreta G(z). Así pues las simulaciones de sistemas discretos se realizan con los mismos comandos vistos hasta el momento, con la única diferencia en el aspecto de la respuesta obtenida; en este caso, la señal presenta discontinuidades en los intervalos correspondientes al tiempo de muestreo T.



Respuesta a la secuencia impulso

Cuando la entrada es una secuencia impulso {1,0,0...0}, la respuesta de un sistema discreto se obtiene mediante el comando impz. Este comando está incluido dentro de la Signal Processing Toolbox, que incorpora funciones más orientadas a la teoría de la señal y al diseño de filtros. La función de transferencia del sistema discreto en este caso, se debe pasar al comando a través de los coeficientes del numerador y del denominador, en potencias crecientes de z^(-1)  o bien en potencias decrecientes de z. El resultado mostrará directamente los valores de la secuencia de salida del sistema.



Los valores de la secuencia de salida se pueden almacenar en las variables que indique el usuario a la izquierda del comando, con un vector para el índice de la secuencia y otro para los valores de la salida. Así mismo se puede indicar el número de muestras deseadas en la simulación


También es posible especificar la frecuencia de muestreo (f=1/T) empleada en la simulación del sistema, ya que por defecto es siempre 1.



Respuesta ante cualquier secuencia de entrada

Con el comando filter, se obtiene de la respuesta de un sistema discreto ante cualquier tipo de entrada especificada mediante una secuencia. Al igual que en el comando impz, se le pasan como argumentos los coeficientes del numerador y denominador en potencias crecientes de z^(-1) o en potencias decrecientes de z, seguido del vector que contiene los valores de la secuencia de entrada. El resultado equivale a resolver la ecuación en diferencias que define el comportamiento de dicho sistema:




La variable {y}={0.0550 0.3341 ... 1.0118 1.0047} representa la secuencia de salida ante secuencia de entrada {u}={1 1 ... 1} del sistema dado por la función de transferencia discreta:

Para representar la secuencia {y} obtenida anteriormente, se puede emplear el comando stem.




3 comentarios:

  1. Gracias amigos. Esta explicación es suficientemente clara y concisa como para ser utilizada como modelo para otros trabajos.

    ResponderEliminar
  2. De verdad no tienen una idea de como me ayuda este blogs. les agradezco muchísimo y le mando un saludo y abrazo al autor de esta practica..

    ResponderEliminar

Aprende a Programar tus propias aplicaciones