SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 PRACTICAS SEÑALES Y SISTEMAS INTRODUCCIÓN 1.- Realización y presentación de las prácticas Para entregar las prácticas correctamente deberá seguirse el siguiente criterio en relación al código escrito y a las gráficas generadas: 1. Las prácticas deberán entregarse resueltas en el documento .doc adjunto a la dirección [email protected] con el Subject 'Práctica 1', 'Práctica2', ... El archivo enviado debe estar libre de virus, y el incumplimiento de este requisito conlleva el suspenso de la asignatura. 2. El código debe poder ejecutarse sin errores. 3. En todas las gráficas deberá aparecer: - Título (title()). - Magnitud representada en eje de abscisas y unidades (xlabel()). - Magnitud representada en eje de ordenadas y unidades (ylabel()). - Leyenda en caso de representar más de una señal un una gráfica (legend()). 2.- Representación de señales continuas en Matlab Como ya es conocido, en Matlab todos los datos numéricos se representan mediante matrices, y por lo tanto las señales se expresarán mediante el uso de vectores. Una de las diferencias más importantes que vamos a encontrar con respecto a las señales estudiadas de forma teórica hace referencia a la naturaleza de las funciones que podemos generar. Al igual que en otros sistemas o herramientas informáticas de tratamiento de señal, únicamente podremos representar señales de longitud o duración finita, y éstas han de ser discretas. Es decir, únicamente podemos representar una serie de puntos que van a aproximar la función continua que queremos analizar o con la que queremos operar. La aproximación a la señal continua será tanto mejor cuanto mayor sea el número de muestras que seleccionemos para representarla, es decir, cuanto menor sea el intervalo temporal utilizado para obtener puntos de la señal. A este intervalo temporal lo denominaremos período de muestreo, y a la operación consistente en discretizar una señal continua muestrear. El período de muestreo elegido debe ser suficientemente pequeño para que la señal que queremos representar quede perfectamente identificada. En Matlab, para representar señales en el tiempo, debemos calcular los valores que en este eje corresponden a cada punto de la señal muestreada utilizando la información que tenemos del intervalo de muestreo. Si queremos representar una señal constante de valor 1 entre 0 y 1 segundo mediante 100 muestras, generaremos 2 vectores, uno para el eje de -1- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 amplitudes y otro para el eje de tiempos. En este caso el intervalo será de 0.01 segundos. Los vectores necesarios serán: x = ones(1,100); t = [0.01:0.01:1]; plot(t,x); xlabel('tiempo (seg)'); ylabel('amplitud'); title('Representación continua de una señal discreta'); Representación continua de una señal discreta 2 1.8 1.6 1.4 amplitud 1.2 1 0.8 0.6 0.4 0.2 0 0 0.1 0.2 0.3 0.4 0.5 tiempo (seg) 0.6 0.7 0.8 0.9 1 Podemos ver fácilmente la influencia que tiene el intervalo de muestreo en la representación de una señal. Consideremos una señal sinusoidal de 50 Hz y amplitud unidad. El período de esta señal es de 0.02 seg, y representaremos 4 períodos (es decir, una señal de 0.08 seg de duración. Utilizaremos dos intervalos de muestreo, 0.02 seg (5 muestras de la señal) y 0.001 seg (81 muestras de la señal). stem([0:0.015:0.08], sin(2*pi*50*[0:0.015:0.08])); axis([0 0.1 -1.5 1.5]); xlabel('tiempo (seg)'); ylabel('amplitud'); title('Sinusoide 50 Hz – muestreo 0.015 seg'); -2- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 Sinusoide 50 Hz – muestreo 0.015 seg 1.5 1 amplitud 0.5 0 -0.5 -1 -1.5 0 0.01 0.02 0.03 0.04 0.05 0.06 tiempo (seg) 0.07 0.08 0.09 0.1 0.09 0.1 stem([0:0.001:0.08], sin(2*pi*50*[0:0.001:0.08])); axis([0 0.1 -1.5 1.5]); xlabel('tiempo (seg)'); ylabel('amplitud'); title('Sinusoide 50 Hz – muestreo 0.001 seg'); Sinusoide 50 Hz – muestreo 0.001 seg 1.5 1 amplitud 0.5 0 -0.5 -1 -1.5 0 0.01 0.02 0.03 0.04 0.05 0.06 tiempo (seg) 0.07 0.08 El período de muestreo en el primer caso es insuficiente para obtener una representación correcta de la señal deseada. -3- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 PRÁCTICA 1. DEFINICIÓN DE SEÑALES Y SISTEMAS Plazo entrega: 12 de Marzo. Duración aproximada: 2 horas. 1.- Introducción teórica Las señales son funciones del tiempo que representan la evolución de una determinada variable, como puede ser la tensión en bornes de un condensador, la temperatura de un horno, o la actividad eléctrica de una fibra muscular. Distinguiremos dos tipos de señales, continuas y discretas. Las señales continuas, x(t), son funciones de una variable continua (tiempo), mientras que las discretas, x[n], se definen únicamente para valores discretos de la variable independiente. 1.1.- Transformaciones de la variable temporal Vamos a considerar las siguientes transformaciones: 1.1.1.- Escalado temporal Caso a : 0 a 1 expansión yt xat Caso b : a 1 compresión 1.1.2.- Inversión temporal yt x t 1.1.3.- Desplazamiento temporal yt xt T 1.2.- Señales periódicas Una señal continua x(t) es periódica si existe un valor T para el cual: xt xt T Una señal discreta x[n] es periódica si existe un valor N para el cual: xn xn N Al valor de T o N más pequeño lo denominaremos período fundamental. -4- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 1.3.- Señales pares e impares Una señal es par si cumple: xt x t ; xn x n Y será impar si cumple: xt x t ; xn x n Toda señal puede ser descompuesta en su parte par y su parte impar de la forma siguiente: xt x p t xi t donde 1 xt x t 2 1 xi t xt x t 2 x p t 1.4.- Funciones impulso unidad y escalón discretas Definimos la señal impulso unidad en tiempo discreto como: 1 n 0 0 n 0 n n = -4:1:4; x = zeros(size(n)); x(n==0) = 1; stem(n,x); axis([-4 4 -0.5 1.5]); title('Señal impulso unidad'); xlabel('n (muestras)'); ylabel('x[n]'); -5- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 Señal impulso unidad 1.5 x[n] 1 0.5 0 -0.5 -4 -3 -2 -1 0 n (muestras) El escalón unidad en tiempo discreto se define: 1 n 0 un 0 n 0 n = -4:1:4; x= zeros(size(n)); x(n>=0)=1; stem(n,x); axis([-4 4 -0.5 1.5]); title('Señal escalón'); xlabel('n (muestras)'); ylabel('x[n]'); -6- 1 2 3 4 SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 Señal escalón 1.5 x[n] 1 0.5 0 -0.5 -4 -3 -2 -1 0 n (muestras) 1 2 Cada una de estas señales puede ser expresada en función de la otra: n un k k n un un 1 Y se cumplirá también: un n k k 0 xn n n0 xn0 n n0 1.5.- Señales impulso y escalón continuas Definimos la señal escalón continua en el tiempo como: 1 t 0 u t 0 t 0 -7- 3 4 SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 Se observa que esta función es discontinua en el origen, y por tanto no es diferenciable. Sus integrales sucesivas serían: t k 1 1 u dd 1 d k 1 1 k t ut k! Para definir el impulso unidad partimos de un pulso de área unidad, cuya integral es una aproximación del escalón unidad. A medida que hacemos más estrecho el pulso manteniendo su área constante, su integral es una mejor aproximación del escalón unidad. En el límite podemos escribir: t d u t dt Podremos escribir también el escalón en función del impulso: t ut d 1.5.1.- Propiedades del impulso 1.5.1.1.- Propiedad de muestreo xt t t dt xt 0 0 1.5.1.2.- Escalado temporal at 1 t a 1.6.- Energía y potencia La energía total y la potencia media sobre un período t1 ,t 2 o n1 ,n2 de una señal arbitraria se define como: t2 E xt dt 2 t1 P -8- t2 n2 E xn 2 n1 n2 1 1 2 2 x t dt P xn t 2 t1 t1 n2 n1 1 n1 SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 1.7.- Sistemas Un sistema es una relación matemática entre una señal de entrada y una señal de salida. xt g yt yt g xt 1.7.1.- Interconexiones básicas 1.7.1.1.- Interconexión serie 1.7.1.2.- Interconexión paralelo 1.7.1.3.- Sistema realimentado 1.7.2.- Propiedades básicas de los sistemas 1.7.2.1.- Linealidad Un sistema es lineal si cumple las propiedades de aditividad y homogeneidad, es decir: f 1 x1 t 2 x2 t f 1 x1 t f 2 x2 t 1 f x1 t 2 f x2 t 1 y1 t 2 y2 t La propiedad de linealidad se resume en el principio de superposición: "La respuesta a la una combinación lineal de señales de entrada es igual a la combinación de lineal de sus correspondientes señales de salida". 1.7.2.2.- Memoria Se dice que un sistema no tiene memoria si la salida yt en el instante t depende únicamente de la entrada en ese mismo instante de tiempo. De forma similar, un sistema tendrá memoria si su respuesta en un instante dado depende de valores a la entrada en otros instantes de tiempo. 1.7.2.3.- Causalidad Un sistema es causal si su salida en el instante t depende únicamente de valores anteriores y del valor actual de la entrada. En caso contrario se dice que es un sistema no causal. -9- SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 2.- Enunciados 2.1.- Dibujar las siguientes señales sobre el intervalo 2 t 4 . 2t b) x2 t 2 0.5t 0 a) x1 t ut 1 2t 0 0t 2 resto c) x3 t 0.5t 1 donde t es un pulso de anchura 1 centrado en el origen d ) x4 t 2t 2 (intervalo 2, 10 ) donde t es una función “triángulo” que comienza en (-1,0), llega a (0,1) y termina en (1,0) e) x5 t e f ) x6 t 2 t sen 6t 6t 2 t g ) x7 t sen (intervalo 20, 20 ) t 2 Ejemplos: a) Una posible solución es: u = inline('t>=0') t=-10:0.01:10; x1 = u(t-1); plot(t,x1) axis([-10 10 -0.1 1.1]); title('Señal 1a'); grid; xlabel('tiempo (segundos)'); ylabel('x1(t)'); Señal 1a 1 0.8 x1(t) 0.6 0.4 0.2 0 -10 - 10 - -8 -6 -4 -2 0 2 tiempo (segundos) 4 6 8 10 SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 Otro programa de Matlab es: t=-10:0.01:10; plot(t,u(t),'r'); hold on; plot(t,u(t-1),'k','linewidth',2); axis([-10 10 -0.1 1.1]); grid on; title('Señal 1a'); xlabel('tiempo (segundos)'); ylabel('u(t), u(t-1)'); legend('u(t)', 'u(t-1)') Señal 1a u(t) u(t-1) 1 0.8 u(t), u(t-1) 0.6 0.4 0.2 0 -10 -8 -6 -4 -2 0 2 tiempo (segundos) 4 6 8 10 b) Para resolver este apartado, puede ser conveniente el uso de paréntesis lógicos. Por ejemplo, el alumno puede considerar fb = inline('(2+t).*(-2<=t).*(t<0) ') y ampliarla para conseguir la función pedida. ¿Por qué se pone .* en vez de *? ¿Si se pone * funciona fb(3)? ¿ Si se pone * funciona fb(0:.1:3)? 2.2.- Considere la siguiente señal gaussiana: 1 xt e t0 - 11 - t t0 2 SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 a) Dibujar la señal xt en el intervalo 2,2 para t0 1, 0.5, 0.1, 0.05, 0.01 sobre la misma gráfica. b) Calcula el área de cada una de las señales obtenidas. Puede ser útil la función quad. c) ¿Qué ocurre con xt cuando t0 0 ? 2.3.- Dibujar las siguientes señales, su parte par e impar, y reconstruir la señal original a partir de ellas: a) x1 t e t 1 c) x3 t 3sen6t 2 1 t 3 b) x2 t resto 0 c) x4 t 4 cos2t 2.4.- Dada la siguiente señal: xt 4e2t cost Dibuje xt y las siguientes señales: a) xt 1 b) x2 t c) x2t 1 t d ) x 4 2 e) xt x t ut f ) xt t 1 t 1 2.5.- Una forma aproximada de calcular la energía de una señal xt es aproximar el área de x 2 t utilizando un intervalo de muestreo muy pequeño. Si, además, xt es una señal periódica, podemos calcular su potencia dividiendo la energía de un periodo entre el periodo. Dada la señal: xt 3 sen 2t t t a) Dibuja la señal xt . ¿Cuál es su relación con la señal 3 - 12 - sen 2t ? t SEÑALES Y SISTEMAS. PRÁCTICAS 2006/2007 b) Calcula la energía de la señal. c) Calcula la potencia de la señal si la señal xt es un periodo de una señal periódica con T =1.4 segundos. 2.6.- Dibuje las siguientes señales y determine si son señales periódicas, y en ese caso, cuál es su período fundamental. a) x1 t 3 cos 4t 3 - 13 - b) x2 t Re e j t 1 c) x3 t cos2 2t