SEÑALES Y SISTEMAS. PRÁCTICAS 2003/2004 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 arubio@ceit.es 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 2003/2004 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 2003/2004 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 tiempo (seg) 0.06 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 tiempo (seg) 0.06 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 2003/2004 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 variab le 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 ⇒ exp ansión y(t ) = x(at ) Caso b : a > 1 ⇒ compresión 1.1.2.- Inversión temporal y(t ) = x(− t ) 1.1.3.- Desplazamiento temporal y(t ) = x(t − T ) 1.2.- Señales periódicas Una señal continua x(t) es periódica si existe un valor T para el cual: x(t ) = x(t + T ) Una señal discreta x[n] es periódica si existe un valor N para el cual: x[n] = x[n + N ] Al valor de T o N más pequeño lo denominaremos período fundamental. -4- SEÑALES Y SISTEMAS. PRÁCTICAS 2003/2004 1.3.- Señales pares e impares Una señal es par si cumple: x(t) = x (− t ) ; x[n] = x[− n ] Y será impar si cumple: x(t ) = − x(− t ) ; x[n] = − x[− n] Toda señal puede ser descompuesta en su parte par y su parte impar de la forma siguiente: x(t ) = x p (t ) + xi (t ) donde 1 [x (t ) + x (− t )] 2 1 xi (t ) = [x(t ) − 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 δ [n ] = 0 n ≠ 0 n = -4:1:4; x = zeros(size(n)); x(5) = 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 2003/2004 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 u[n] = 0 n < 0 n = -4:1:4; x= zeros(size(n)); x(5:9)=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 2003/2004 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: u[n ] = n ∑δ [k ] k =−∞ δ [n] = u[n] − u[n − 1] Y se cumplirá también: ∞ u[n] = ∑δ [n − k ] k =0 x[n]δ [n − n0 ] = x[n 0 ]δ [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 2003/2004 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 K ∫ u(τ )dτdτ1 L dτ k −1 = −∞ 1 k t u (t ) 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 u(t ) = ∫ δ (τ )dτ −∞ 1.5.1.- Propiedades del impulso 1.5.1.1.- Propiedad de muestreo ∞ ∫ x (t )δ (t − t )dt = x(t ) 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 n2 E = ∑ x[n] E = ∫ x(t ) dt 2 n1 t1 P= t2 1 2 x(t ) dt ∫ t 2 − t1 t 1 2 P= -8- n2 1 2 x[n] ∑ n2 − n1 + 1 n1 SEÑALES Y SISTEMAS. PRÁCTICAS 2003/2004 1.7.- Sistemas Un sistema es una relación matemática entre una señal de entrada y una señal de salida. x(t) g (⋅) y(t ) y(t ) = g ( x(t )) 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 y 2 (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 y(t ) 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-