Practicas De Señales Y Sistemas 1
Enviado por oscarrrrr • 3 de Diciembre de 2013 • 4.328 Palabras (18 Páginas) • 399 Visitas
Señales y Sistemas con Matlab
(Representación de Señales)
Objetivo: El alumno aprenderá a representar señales utilizando Matlab.
Introducción
Esta práctica proporciona a los alumnos las bases para representar gráficamente funciones con ayuda de Matlab. El caso de mayor interés en el curso de señales y sistemas 1 es aquél en el que las funciones que normalmente un estudiante de ingeniería en tecnología electrónica estudia son las señales que dependen del tiempo, es decir, se trata de obtener gráficas en las que el eje de abscisas corresponde al tiempo, y el eje de ordenadas indica los valores que toma una determinada magnitud eléctrica (corriente, tensión, potencia, etcétera) en función del tiempo. En el primer apartado de la práctica indicaremos cómo definir la base de tiempos; en otras palabras, mostraremos cómo establecer el rango de valores de la variable tiempo para el que interesa representar los valores de la magnitud considerada. Seguiremos exponiendo la forma de obtener una representación básica, y a continuación detallaremos cómo editar la figura resultante y cómo combinar distintas funciones en una sola gráfica.
En el segundo apartado proporcionaremos unos cuantos códigos de Matlab que pueden usarse para representar algunas de las señales más utilizadas en el estudio de la materia de señales y sistemas. Para cada código detallaremos algunos aspectos particulares que pueden tener relevancia en la representación de otras señales. El tercer y último apartado contiene algunos ejercicios propuestos que el alumno deberá intentar resolver para comprobar el grado de asimilación de los contenidos de esta práctica.
Elementos básicos de una representación gráfica
Base de tiempos
La definición de la base de tiempos se hace creando un vector que almacena los valores del tiempo para los que se desea obtener una representación de la función. Por ejemplo, si queremos representar la variación de una función entre -10 s y 10 s, los valores inicial y final del vector correspondiente a la base de tiempos serán precisamente los que acabamos de indicar. Idealmente, si quisiéramos que dicho vector fuera un conjunto infinito en el que estuvieran incluidos todos los valores comprendidos entre -10 s y 10 s. De esa forma obtendríamos una representación absolutamente precisa de la función. Sin embargo, Matlab no permite semejante posibilidad, ya que es una herramienta discreta. En consecuencia, al momento de definir la base de tiempos tendremos que especificar el intervalo entre dos valores consecutivos del tiempo. Así, si en el ejemplo que estamos considerando especificamos un intervalo de 0.01 s, los valores del tiempo contenidos en el vector de la base de tiempos son -10 s, -9.99 s, -9.98 s,... -0.01 s, 0 s, 0.01 s,... 9.98 s, 9.99 s y 10 s. Teniendo en cuenta estas consideraciones, la instrucción para definir la base de tiempos es:
t = valorinicial: intervalo: valorfinal % Define la base de tiempos
% valorinicial: primer valor del tiempo para el que queremos representar la función
% intervalo: separación entre dos valores consecutivos del vector base de tiempos
% valorfinal: último valor del tiempo para el que queremos representar la función
La selección del intervalo está condicionada por dos requisitos contrapuestos. Por una parte, cuanto más pequeño sea, más precisa será la representación de la función; en otras palabras, la representación tendrá un aspecto más continuo, mientras que, cuanto más grande sea, la representación se parecerá más a un conjunto de puntos (los valores de la función para los distintos instantes) unidos por líneas. La operación de unir los diferentes puntos de la representación es ejecutada automáticamente por Matlab. Por otro lado, cuanto más pequeño sea el intervalo, más tiempo tardará Matlab en completar la instrucción y mayor espacio de memoria se ocupará en la computadora. Para intervalos excesivamente pequeños, que den origen a un gran número de valores en la base, la instrucción puede ser rechazada por el programa, ya que éste impone un límite máximo (que depende de la versión concreta de Matlab de la que se trate) al número de elementos que puede contener un vector. Una forma equivalente para definir la base de tiempos consiste en utilizar la instrucción
t = linspace (valorinicial, valor final, númeropuntos) % Define la base de tiempos
% valorinicial: primer valor del tiempo para el que queremos representar la función
% valorfinal: último valor del tiempo para el que queremos representar la función
% númeropuntos: número de valores del tiempo incluidos en la base de tiempos
Observe que ambas formas son completamente equivalentes ya que existe una relación inmediata entre la separación entre dos valores de la base de tiempos y el número de puntos incluidos en ella. Obviamente, en la instrucción linspace los valores del tiempo están equiespaciados en la base.
Antes de continuar conviene precisar que estas formas de definir la base de tiempos se denominan lineales, ya que la variación entre los distintos valores del tiempo incluidos en la base es lineal. Existen otras formas de variar los valores del tiempo (o de otras variables) en la base, pero serán tratadas más adelante. Relacionados con la base de tiempos hay otros aspectos que conviene destacar. El primero de ellos es cómo determinar el número total de valores del tiempo incluidos en la base. Para ello puede usarse la instrucción
length (t) % Determina la longitud del vector t
% t: vector base de tiempos definido antes de la ejecución de esta instrucción
Para determinar en qué posición de la base se encuentra un determinado valor del tiempo puede usarse la instrucción
p0 = find(t == t0) % Determina la posición dentro de la base de tiempos
en la que se encuentra el valor t0 de t
Esta instrucción debe usarse con precaución. Dependiendo de la base de tiempos y de los redondeos internos de la computadora, puede ocurrir que no haya ningún valor de t que coincida exactamente con t0, con lo cual esta sentencia no produciría ningún resultado y las que vayan a continuación de ella conducirían a resultados no esperados. Las posiciones en la base de tiempo están numeradas automáticamente, de forma que la posición 1 corresponde al valor inicial y la posición length(t) corresponde al valor final. En consecuencia, para determinar el valor del tiempo correspondiente a una determinada posición puede utilizarse la instrucción
t(i) % Determina el valor
...