Lab Oratorio 2 Final

14
 UNIVERSIDAD NACIONAL DEL ALTI PLANO ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA PROCESAMIENTOS DIGITAL DE SEÑALES Laborat orio 2  S eñales y S i s tema s en Ma tla b 1.- Manipul ando Señales con M atlab 1.1 Generar 2 señales sinusoidales con diferentes amplitudes y fases.  x 1 (t ) =  A 1  cos (2  π (3000) t +ϕ1 )  x 2 (t ) =  A 2  cos (2  π  (3000)t  +ϕ2) Para seleccionar la amplitud de la señal use A1  =13 y use para A2  la edad de cada persona, para las fase φ1  use los 2 úl ti mos meros de su mero tele fóni co el cual representara el des fase en grados centí grad os de la pri mera señal; y para la segunda señal el desfase será de φ2  = - 30º cuando pase la s fases a matlab no se olvide de convertirlo a radianes. Haz un gráfico de amb as señales durante un rango de tiemp o que exhib a apr oxima damente 3 ci cl os de la señal . La señal debe de contener un porcentaj e de la señal un tiempo negativo, y que posea por lo menos 20 muestras por periodo de la señal. Usa subplot(3,1,1) para la señal x1  y subplot(3,1,2) para la señal x2  , haz un tercer grafico donde ubiques ambas señales en el mismo gráfico. Crea una sinusoide x3  = x1  + x2  , ubique esta sinusoide sobre el grafico que contiene las señales x1  y x2. 1.2 Representación gráfica de Señales Continuas y Discretas Tipee la siguiente secuencia de comandos: n=0:2:60; y=sin(n/6); subplot(3,1,1) stem(n,y) Este gr afico muestr a la señal di screta de la señal si n( t/ 6) la cual esta uniformemente espaciada a intervalos de 2 (sin(n/6)). Una computadora Di gi tal no pue de guardar todos los pun tos de una señ al con ti nua en el ti emp o des de que esto requi ere de una canti dad de memor ia infi ni ta. Es si n embargo posi bl e gr aficar una señal que parezc a continua, calc ul ando los valores de la señal a interval os lo s cercano posi bl es y conectándolos con líneas, el comando plot es usado par a generar dichos gráficos.

Transcript of Lab Oratorio 2 Final

UNIVERSIDAD NACIONAL DEL ALTIPLANO ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA PROCESAMIENTOS DIGITAL DE SEALES

Laboratorio N2 Seales y Sistemas en Matlab 1.- Manipulando Seales con Matlab 1.1 Generar 2 seales sinusoidales con diferentes amplitudes y fases. x1 (t) = A1 cos (2 (3000)t +1) x 2 (t) = A2 cos (2 (3000)t +2) Para seleccionar la amplitud de la seal use A1 =13 y use para A2 la edad de cada persona, para las fase 1 use los 2 ltimos nmeros de su nmero telefnico el cual representara el desfase en grados centgrados de la primera seal; y para la segunda seal el desfase ser de 2 = - 30 cuando pase las fases a matlab no se olvide de convertirlo a radianes. Haz un grfico de ambas seales durante un rango de tiempo que exhiba aproximadamente 3 ciclos de la seal. La seal debe de contener un porcentaje de la seal un tiempo negativo, y que posea por lo menos 20 muestras por periodo de la seal. Usa subplot(3,1,1) para la seal x1 y subplot(3,1,2) para la seal x2 , haz un tercer grafico donde ubiques ambas seales en el mismo grfico. Crea una sinusoide x3 = x1 + x2 , ubique esta sinusoide sobre el grafico que contiene las seales x1 y x2. 1.2 Representacin grfica de Seales Continuas y Discretas Tipee la siguiente secuencia de comandos: n=0:2:60; y=sin(n/6); subplot(3,1,1) stem(n,y) Este grafico muestra la seal discreta de la seal sin(t/6) la cual esta uniformemente espaciada a intervalos de 2 (sin(n/6)). Una computadora Digital no puede guardar todos los puntos de una seal continua en el tiempo desde que esto requiere de una cantidad de memoria infinita. Es sin embargo posible graficar una seal que parezca continua, calculando los valores de la seal a intervalos lo ms cercano posibles y conectndolos con lneas, el comando plot es usado para generar dichos grficos.

Use el siguiente cdigo para generar de grficos de la seal sin(t/6). n1=0:2:60; z=sin(n1/6); subplot(3,1,2) plot(n1,z) n2=0:10:60 w=sin(n2/6); subplot(3,1,3) plot(n2,w) Como se puede apreciar, es importante tener gran variedad de puntos para que la seal aparezca suavizada, comente la precisin de cada una de las grficas. 2 Calculacin Numrica de Seales Continuas en el Tiempo 2.1 Calculo de la Energa de una seal acotada en el tiempo. Una operacin comn que puede ser ejecutada en el dominio continuo de la seal es la Integracin. La Figura 1 ilustra un mtodo usado para calcular la Integral por el Mtodo de Riemann. La cual consiste una aproximacin del rea de la curva dada por la suma de los rectngulos que poseen el mismo ancho t.

Figura1. Ilustracin de la Integral de Riemann

Escriba un archivo M que calcule la integral de seal sin2(5t) en el intervalo de [0,2], la sintaxis de la funcin debe de ser I=integ1(N), N es el nmero de rectngulos usados para aproximar la integral, esta funcin debe de usar el comando sum , y no contener ningn bucle. Comprobando con la funcionn int del matlab para hallar la integral: >> int((sin(5*t)).*(sin(5*t)),t,0,2*pi) Escriba otro archivo M que evalu I(N) para 1 integ12(102) Repita el procedimiento anterior para la seal exp(t) en el intervalo de [0,1]. Escriba otro archivo M que calcule el mximo, mnimo y la energa de la seal de las seales anteriores, debe de usar las funciones del matlab min y max , la definicin de energa est dada por:

Elige los intervalos adecuados de las funciones anteriores para calcular la energa de las seales y comente acerca de los resultados. 3.- Funciones Especiales 3.1 Grafique las siguientes 2 funciones continuas sobre los intervalos especificados use el comando subplot para dibujar ambas seales, asegurase de etiquetar los ejes horizontales. sinc(t) in [-10,10] rect(t) in [-2,2] La funcin rect(t) puede ser producida por la siguiente secuencia, si t=-10:0.1:10, entonces y=(abs(t)> x=-10*pi:.1:10*pi; subplot(2,2,1); plot(x,sinc(x)); subplot(2,2,2); plot(x,cos(x)); subplot(2,2,3) plot(x,exp(-x)); subplot(2,2,4); plot(peaks); LA FUNCION ESCALON UNITARIO: >> n=x; y=(n>=0); % La funcin escaln es y=u(x) subplot(2,2,1); plot(n,y);

subplot(2,2,2); plot(n,cos(n)); subplot(2,2,3) plot(n,exp(-n)); subplot(2,2,4); plot(peaks); % Otra Manera de expresar el escaln Escalon unitario con u(n-10), en [-20,20] >> t=-1000:0.1:1000; x1=zeros(size(t)); x1((t-1)>=0)=1; plot(t-10,x1) axis([-20 20 -0.1 1.1]); title('Seal 1a'); grid; xlabel('tiempo (segundos)'); ylabel('x1(t)'); 4.- Muestreo 4.1 La palabra muestreo se refiere a la conversin de una seal continua a una discreta. La seal continua es convertida a discreta tomando valores o muestras uniformemente espaciadas. El tiempo entre 2 consecutivas muestras es llamado el periodo de muestreo. x=sin(Ts*n); subplot(4,1,1) stem(n,x) axis([0,100,-1,1]) n=0:30; Ts=1/3, x=sin(Ts*n); subplot(4,1,2) stem(n,x) axis([0,30,-1,1]) n=0:20; Ts=1/2, x=sin(Ts*n); subplot(4,1,3) stem(n,x) axis([0,20,-1,1])

n=0:9; Ts=10/9, x=sin(Ts*n); subplot(4,1,4) stem(n,x) axis([0,9,-1,1])

5.- Sistemas en Matlab 5.1 Todo sistema se puede representar por una funcin de transferencia como se muestra en la figura 2. El objetivo de esta parte del laboratorio es familiarizar al alumno con el tratamiento de sistemas en Matlab POLY

Figura 2: Sistemas LTI >> r=[-2,-1]; >> p=poly(r) p= 132 >> r=[-4,5,3,9,1]; >> p=poly(r) p= 1 -14 32 194 - 753 540 5.1.1 ROOTS >> p=[1 3 2]; >> r=roots(p) r= -2 -1 >> p=[4,0,1,2,9,1]; >> r=roots(p) r= 0.8545 + 0.9789i 0.8545 - 0.9789i -0.7976 + 0.8153i -0.7976 - 0.8153i -0.1138 5.1.2 POLYVAL >> p=[1 3 2]; >> x=[3]; >> y=polyval(p,x) y= 20

>> p=[4,0,1,2,9,1]; >> x=[-2,1,4,17]; >> y=polyval(p,x) y= -145 17 4229 5685073 5.1.3 RESIDUE num=[1 0 0 1]; den=[2 5 6]; [r p k]= residue(num,den) r= 0.8125 - 0.9253i 0.8125 + 0.9253i p= -1.2500 + 1.1990i -1.2500 - 1.1990i k= 0.5000 -1.2500 num=[1 4 1]; den=[2 1 2]; [r p k]= residue(num,den) r= 0.8750 + 0.2259i 0.8750 - 0.2259i p= -0.2500 + 0.9682i -0.2500 - 0.9682i k= 0.5000 6.- CONVOLUCION 6.1 Convolucin en una dimension f=[1 2 3 4]; h1=[1 -1]; h2=[1 1]; g11=conv(f,h1) g12=conv(f,h2) g21=conv(h2,f)

g11 = 1 1 1 1 -4 g12 = 1 3 5 7 4 g21 = 1 3 5 7 4 6.2 Convolucin en 2 dimensiones f=[1 1]; h1=[1 -1;1 -1]; h2=[1 1;-1 -1]; h3=[1 -1;-1 1]; h4=[1 1;1 1]; g1=conv2(f,h1) g2=conv2(f,h2) g3=conv2(f,h3) g4=conv2(f,h4) g1 = 1 0 -1 1 0 -1 g2 = 1 2 1 -1 -2 -1 g3 = 1 0 -1 -1 0 1 g4 = 1 2 1 1 2 1 Cree un archivo M con los siguientes comandos y explique que es lo que pasa con la seal. f=[1 1]; h1=[1 -1; 1 -1]; h2=[1 1; -1 -1]; h3=[1 -1; -1 1]; h4=[1 1; 1 1]; figure(1)

imagesc(f); colormap(gray). image(f) Figure(2) g1=conv2(f,h1); imagesc(g1) colormap(gray)

figure(3) g2=conv2(f,h2); imagesc(g2) colormap(gray) figure(4) g3=conv2(f,h3); imagesc(g3) colormap(gray) figure(5) g4=conv2(f,h4); imagesc(g4) colormap(gray) 7 SIMULINK Simulink es una herramienta grafica la cual puede ser usada para crear modelos de seales para simulaciones en tiempo y frecuencia, uno puede usar Simulink para programar un grupo de ecuaciones diferenciales representadas por una funcin de trasferencia y determinar la respuesta de dicho sistema. Para entrar al Simulink, tipear Simulink en el espacio de trabajo. Esto abrir el navegador de Simulink (Figura 3 muestra el entorno grafico del Simulink). El panel de la parte baja muestra las operaciones matemticas y las libreras evaluables en Simulink tome unos minutos reconociendo las diferentes libreras evaluables.

Figura 3. Navegador de Libreras del Simulink Cree un nuevo modelo seleccionando File => New => Model. Esto abrir una nueva ventana en la cual se podr modelar nuestro sistema, los modelos son creados aadiendo bloques funcionales a dicha ventana, estableciendo los parmetros de los bloques, y conectando los bloques en una correcta secuencia. Para aadir los bloques solo es necesario jalarlos de sus libreras correspondientes y ubicarlo sobre nuestra ventana de edicion. Aada una funcin escaln a nuestro modelo, esta se encuentra ubicada bajo la librera Source, abra la librera haciendo un doble click, encuentre el bloque del escaln y ubquelo en la ventana del modelo creado. Despus aade un Sumador y un bloque de Slider Gain, estos estn ubicados en la librera Math. A continuacin aada el bloque discret transfer Fcn que se encuentra en la librera Discrete y el bloque del osciloscopio que se encuentra en la librera sinks. Tu modelo debiera de verse como el de la figura 4 sin las lneas de conexin.

Figura 4. Modelo de Simulink de un Sistema Lineal Los parmetros de cada bloque deben de especificarse para su correcto funcionamiento. De 2 click sobre el icono Sum, esto abrir la ventana de configuracin del bloque. En la opcin list of signs nosotros podemos ver 2 signos + (++), esto indica que el bloque opera como un sumador, cambie el contenido a (+-) para que el bloque tome la diferencia de las seales anteriores como se puede apreciar en la figura 5.

Figura 5. Ventana de Parmetros del Bloque del Sumador

Haga doble click sobre el icono de Slider Gain y cambie el valor del medio de 1 a 0.38 y cierre la ventana. Configure el bloque de Funcin de Transferencia Discreta (discret transfer Fcn ) y tipee los coeficientes de la siguiente funcin de transferencia H (z) = z2 + 2 z 4 z 2 + 6z + 4

Tal como se muestra en la figura 6, y haga un click en OK.

Figura 6. Ventana de Parmetros del Bloque discret transfer Fcn Ahora todos los bloques estn ubicados adems de tener sus parmetros correctos, ahora solo falta conector los bloques. Como se puede observar los bloques tienen diferentes puertos de entrada y salida (>) para conectar los bloques basta ubicarse sobre los puertos y el cursor cambiara entonces basta ubicar el curso al puerto de entrada correspondiente, utilice el anterior procedimiento para conectar todos los bloques tal como se observa en la figura 4. Para comenzar a simular el modelo construido, en la barra de Menu seleccione Simulation => Star. Despus de que la simulacin se complete de 2 clicks sobre el bloque del osciloscopio para ver la respuesta del sistema, el grafico debera de verse como el de la figura 7.

Figura 7. Grafico de Salida del Osciloscopio de Simulink Para cambiar los parmetros de la simulacin vaya a Simulate => Simulation Parameters y ac uno puede modificar diferentes parmetros para visualizar mejor la seal. Antes de salir de Simulink , guarde su modelo.