MATERIA: CONTROL DIGITAL-LAB PRACTICA NUM 5 : SEÑALES DISCRETAS Y SIMULINK CON MATLAB DEPARTAMENTO: INGENIERIAS EQUIPO ALUMNO:_________________ APELLIDO PATERNO ALUMNO:_________________ APELLIDO PATERNO ALUMNO:_________________ APELLIDO PATERNO ALUMNO:_________________ APELLIDO PATERNO ___________________ APELLIDO MATERNO ___________________ APELLIDO MATERNO ___________________ APELLIDO MATERNO ___________________ APELLIDO MATERNO ________ NOMBRE ________ NOMBRE ________ NOMBRE ________ NOMBRE FECHA:_______________ Esta practica se realiza el 11 de Marzo 1 Lab 5 SEÑALES DISCRETAS Y SIMULINK CON MATLAB MATERIAL REQUERIDO SOFTWARE MATLAB, favor de llevarlo cargado en su computadora. PROPÓSITO: EL ALUMNO representará las señales discretas mas utilizadas en sistemas de control digital y construirá diagramas de bloques con simulink para transformada z , aplicándolos a señales de audio. TEORIA BASICA. (0.5 punto) (ANEXO LA TEORIA NECESARIA PARA LA REALIZACIÓN DE LA PRACTICA) PROCEDIMIENTO.(8 PUNTOS) El objeto básico usado en MATLAB es una matriz numérica con la posibilidad de almacenar números complejos. Los datos encontrados en el estudio de señales y sistemas son siempre, muy bien representados en forma de matrices. El ToolBox de procesamiento de señales de MATLAB posee una larga variedad de funciones para la generación de señales, estas señales requieren de una representación vectorial de la variable tiempo, de manera continua o discreta. Para realizar una simulación de un intervalo continuo, se usa un vector de valores discretos con un intervalo de muestreo muy pequeño. SEÑALES SENOISOIDALES CON AMORTIGUACIÓN EXPONENCIAL. En todos los comandos de generación de señales descritos anteriormente, se ha generado la amplitud deseada de las señales, realizando una multiplicación por un escalar A. Esta operación se describe usando el símbolo asterisco “*”. Supongamos que se desea multiplicar una señal senoidal por una señal exponencial para producir como resultado una señal con amortiguación exponencial. La siguiente ecuación describe mejor el supuesto caso: Debido a que tanto la componente senoidal de la señal como la exponencial son vectores, el procedimiento para la generación de la señal final requiere de una multiplicación de dos vectores elemento por elemento. En MATLAB este tipo de multiplicación se representa usando el símbolo punto (.) seguido por el símbolo asterisco (*). Así el comando para generar la ecuación anterior sería; A * sin( w0 * t + phi) .* exp ( -a * t); Y un ejemplo completo sería: 2 >> A = 60; >> w0 = 20 * pi; >> phi = 0; >> a = 6; >> expsen = A * sin( w0 * t + phi) .* exp ( -a * t); >>plot(t,expsen); Dando como resultado la siguiente gráfica(cambie usted a otra frecuencia de la establecida en el ejemplo): GRAFICA AQUI La versión discreta de la misma señal se puede obtener haciendo uso de los comandos mostrados anteriormente de la siguiente manera(UTILICE LA FRECUENCIA ANTERIOR) >> A = 10; >> a = -0.1; >> w0 = 2 * pi / 12; >> phi = 0; >> n = -10 : 10; >> x = A * sin( w0 * n + phi); >> y = exp( a * n); 3 >> z = x .* y; >> stem(n,z) GRAFICA OBTENIDA AQUÍ SEÑALES IMPULSO, PASO Y RAMPA. En MATLAB, el comando ones(M, N) genera una matriz de unos de tamaño M x N, y el comando zeros(M, N) es una matriz de ceros del mismo tamaño. Se puede hacer uso de estas dos matrices para generar dos señales comúnmente usadas. Señal Paso: Una señal paso de amplitud uno, puede ser generada con el siguiente comando. U = [zeros(1, 10), ones(1, 11)]; Para la versión continua creamos un vector que represente el tiempo el cual tenga muestras de un intervalo separados por valores muy pequeños mientras que para la representación de esta señal en tiempo discreto creamos un vector que represente el tiempo el cual debe tener valores separados por una unidad. Los comandos y los resultados para ambos tipos de señal se muestran a continuación: >> u=[zeros(1,10),ones(1,11); >> t=-1:0.1:1; >> plot(t,u) 4 >> u=[zeros(1,10), ones(1,11)]; >> n=-10:10; >> stem(n,u) De los comandos anteriores es de notar que para poder usar las funciones plot() y stem(), es requisito que los vectores (t y u) ó (n y u) tengan iguales dimensiones. Por esta razón el vector u se forma como una composición de diez ceros y 11 unos, debido a que los arreglos t y n, tienen dimensión 21 dado que incluyen un elemento central el cual es el número cero. Para probar este hecho, se puede hacer uso de otra función de MATLAB llamada size() que devuelve como resultado un vector con las dimensiones de la matriz que se le pasa como parámetro así: >> size(n) >> size(u) >> size(t) ans = ans = ans = 1 1 1 21 21 21 Señal Impulso: La versión discreta de la señal impulso se puede también generar con ayuda de las funciones zeros() y ones(), realizando una composición como sigue: 5 >> delta = [ zeros( 1 ,10 ), 1 , zeros( 1 ,10 ) ]; >> n = -10:10; >> stem(n,delta); Una versión continua podría evidentemente generarse usando la misma técnica que se usó en el apartado anterior, sin embargo es necesario aumentar el número de muestras a fin de maximizar la pendiente de la señal, en seguida se verán dos ejemplos con diferentes número de muestras en el mismo intervalo de tiempo, como se puede ver la correspondencia entre las dimensiones de los vectores se mantienen así que al aumentar el tamaño de muestras del vector que representa el tiempo es necesario aumentar el valor de ceros y de unos con el cual se esta creando la señal. En el ejemplo se puede ver que a mayor numero de muestras, la pendiente de la señal se hace mayor y la aproximación a la señal verdadera es más cercana. >>delta=[zeros(1,10),1,zeros(1,10)]; >>t=-1:0.1:1; >>plot(t,delta) 6 >> delta = [ zeros( 1 , 1000 ), 1 , zeros( 1 , 1000 ) ]; >> t=-1:0.001:1; >> plot(t,delta) Señal Rampa Para generar la señal rampa, tan solo es necesario recordar que esta función puede ser creada, como la composición de una recta Y(x) = x a partir de cero y de la recta Y(x) = 0 para valores de x menores de cero, así la versión discreta y continua se muestran a continuación: >> rampa1=n1; >> n1=0:30; >> rampa1=n1; >> rampa = [zeros(1,29),rampa1]; 7 >> stem(n,rampa) >> t1=0:0.1:10; >> rampa1=t1; >> rampa=[zeros(1,101),rampa1]; >> t2=-10:0.1:0; >> t=[t2,t1]; >> plot(t,rampa) Efectos con transformada z y simulink Habra el programa simulink, explore las diferentes bibliotecas para localizar los bloques del siguiente diagrama y contruyalo realizando las modificaciones indicadas. ECO de señales de audio, de doble click sobre el bloque para cambiar sus parámetros. 8 Para el bloque FROM AUDIO DEVICE coloque una frecuencia de muestreo de 44100 hz y utilice un tamaño de trama (frame) de 10000(usted experimente con otros valores y observe si hay variaciones en la señal de salida ) Para el bloque integer delay, selecciones un retrazo de 1800, experimente usted con uno de 10000, el retrazo efectivo es si tenemos Ds=10000muestras, luego Dt=Ds/Fs=10000/44100=226 ms. En el bloque de ganancia elija el mostrado o experimente con otro valor. 9 Para el bloque To audio device, debe observar que tiene que coincidir con la longitud de los datos(16 bits) Ahora RUN y experimente con tros valores para tener efecto de eco en la señal de entrada. 10 Concluya su experiencia con este diagrama:________________________ CONSTRUYA EL SIGUIENTE DIAGRAMA Y REPORTE SUS OBSERVACIONES SOBRE EL EFECTO QUE SE OBTIENE DE LA SEÑAL DE ENTRADA CONCLUSION:____________________________________________________ PANEO DE SEÑALES Construya el siguiente diagrama a bloques. 11 Coloque los datos siguientes en cada bloque del diagrama en simulink. Para SIGNAL FROM WORSPACE. NOTA; EN SU REPORTE NO ANEXE LA DESCRIPCION DE CADA BLOQUE. 12 PARA SINE WAVE EN LA PARTE SUPERIOR ESTA LA DESCRIPCION DEL BLOQUE 13 SE PUEDEN REALIZAR SUBSISTEMAS EN SIMULINK, HABRA UN NEW MODEL Y CONSTRUYA LOS BLOQUES MOSTRADOS DESPUES SALVELO CON EL NOMBRE Stereo Panner Y DESPUES LO ANEXA AL DIAGRAMA MOSTRADO. 14 15 16 17 18 DE RUN Y OBSERVE EL EFECTO. 19 CUESTIONARIO(0.5 PUNTO) 1. Reporte dos diagramas para simulink sobre efectos de audio que encuentre en internet y que prueba usted 2. Proporcione 3 precauciones a tomar en cuenta en el muestreo de señales en los diagramas realizados. NOTA 1: EN CADA APARTADO SOLICITADO POR LO MENOS EN UN PARRAFO DE 3 RENGLONES RESPONDA LO SOLICITADO. NOTA 2: LAS RESPUESTAS IGUALES(COPIADAS ES FRAUDE ACADEMICO) SE ANULARAN TANTO PARA EL QUE LAS COPIA Y EL QUE PERMITE LA COPIA. APRENDIZAJE OBTENIDO:(0.5 PUNTO) A)CONCLUSIONES. B)COMENTARIOS AUTOEVALUACION DEL APRENDIZAJE.(0.5 PUNTO) A) ¿Qué sabía? B) ¿Qué aprendí? C) ¿Qué me falto saber? D) ¿Cómo lo puedo aplicar? BIBLIOGRAFIA WEBLIOGRAFIA 20