laboratorio 1. señales dsicretas

Upload: cami-meneses

Post on 11-Oct-2015

12 views

Category:

Documents


0 download

TRANSCRIPT

LABORATORIO 1SEALES DISCRETAS

ResumenEn este laboratorio se realiz un programa en matlab que permite trabajar con 2 seales discretas introducidas por el usuario, con las cuales se logran hacer diferentes manipulaciones tales como el desplazamiento, la reflexin, el submuestreo, la suma y la multiplicacin, as como tambin ver sus resultados con grficos en pantalla.

PALABRAS CLAVE: seal, manipulacin, desplazamiento, reflexin, submuestreo, suma y multiplicacin. 1. INTRODUCCINEl principal concepto de este laboratorio es la manipulacin de seales discretas. En los ltimos aos el tratamiento de seales discretas se ha incrementado, lo que produce grandes investigaciones sobre dicho tema. Hoy en da la utilizacin de seales las logramos ver en sistemas de entretenimiento como la televisin o el equipo de audio de alta fidelidad, adems de sistemas de informacin y entretenimiento multimedia. Es mas, a medida que los sistemas de comunicacin se van convirtiendo cada vez mas en sistemas inalmbricos, mviles y multifuncin, la importancia de un tratamiento en seales sofisticado en dichos equipos continua creciendo. El software utilizado para la manipulacin de seales discretas, en este laboratorio es MATLAB. Es un programa de anlisis numrico creado por The MathWorks en 1984.Es un lenguaje de alto desempeo diseado para realizar clculos tcnicos, integra el clculo, la visualizacin y la programacin en un ambiente fcil de utilizar donde los problemas y las soluciones se expresan en una notacin matemtica.2. OBJETIVO Realizar un programa en matlab que facilite la correcta manipulacin de dos seales discretas ingresadas por el usuario, permitiendo hacer distintas operaciones como la suma, multiplicacin entre otras.NDICE1. Introduccin.2. Objetivos.3. Marco Terico.3.1. Seales.3.2. Tipos de seales.3.3. Seales bsicas.3.3.1. Impulso unitario.3.3.2. Escaln unitario.3.3.3. Rampa unitaria.3.4. Manipulacin de seales.3.4.1. Desplazamiento.3.4.2. Reflexin.3.4.3. Submuestreo3.4.4. Suma.3.4.5. Multiplicacin.4. Procedimiento. 5. Desarrollo.5.1. Introducir las seales5.2. Reflexin de la seal original5.3. Ubicacin del cero5.4. Desplazamiento de la seal (Adelanto y atraso)5.5. Submuestreo5.6. Suma y multiplicacin de seales5.7. Graficas6. Conclusiones.7. Bibliografa.

3. MARCO TEORICO3.1. SealesEn este laboratorio trabajaremos con dos seales que el usuario introduce en el programa realizado en matlab, una seal se define como una cantidad fsica que varia con el tiempo, el espacio o cualquier otra variable o variables independientes. Matemticamente, describimos una seal como una funcin de una o ms variables independientes.3.2. Tipos de sealesExisten varios tipos de seales una de ellas es la seal en tiempo discreto en donde x(n) es una funcin de una variable independiente entera. Grficamente se representa como en la figura 1. Es importante destacar que una seal en tiempo discreto no est definida para instantes entre dos muestras sucesivas. Igualmente es incorrecto pensar que x(n) no est definida para valores no enteros de n.

Figura 1. Representacin grafica de una seal en tiempo discreto.Adems de la representacin grfica de una seal en tiempo discreto o secuencia. Existen otras representaciones alternativas que para fines de manipulacin matemtica. Los formatos ms convenientes a utilizar son la representacin funcional (Figura 2.), la representacin tabular (Figura 3.) y la representacin como secuencia (Figura 4.).

Figura 2.Representacion funcional de una seal en tiempo discreto.

Figura 3. Representacin tabular de una seal en tiempo discreto.

Figura 4. Representacin secuencial de una seal en tiempo discreto. Una seal de duracin infinita con el origen de tiempo (n=0) indicado por una flecha.

3.3. Seales bsicas.En el estudio de sistemas y seales discretas en el tiempo existen varias seales bsicas que aparecen con frecuencia. Estas seales son:

3.3.1. El impulso unitario esta funcin esta simbolizada como (n) y se define:

En otras palabras el impulso unitario es una seal que siempre vale cero excepto para n=0 donde vale uno. La representacin grfica de (n) se muestra en la figura 5a.

3.3.2. El escaln unitario se denota como u(n) y se define como:

Es decir, el escaln unitario es una seal que vale cero para todos l0os valores negativos n y uno para todos los valores positivos de n incluyendo el cero. La representacin grfica del escaln unitario se muestra en la Figura 5b.

3.3.3. La rampa unitaria, se denota como ur(n) y se define como:

La rampa unitaria es una seal que vale cero para todos los valores negativos n y n en cualquier otro caso. La representacin grfica de la rampa unitaria se muestra en la Figura 5c

Figura 5.a) Impulso unitario, b) Escaln unitario y c) Rampa unitaria

3.4. Manipulacin de las sealesEn este laboratorio aplicaremos los siguientes tipos de manipulacin de seales.

3.4.1. DesplazamientoUna seal x(n) puede ser desplazada en el tiempo remplazando la variable independiente n por n-k, donde k es un entero.Si k es un entero positivo, el desplazamiento temporal resulta en un retraso del origen (flecha) de la seal en k unidades de tiempo.Por el contrario si k es negativo, el desplazamiento temporal resulta en un adelanto del origen (flecha) de la seal en |k| unidades de tiempo.

En la figura 6. Se muestra un ejemplo del desplazamiento en una seal en k=3 y k=2 aplicando la ecuacin anterior.

Figura 6. Desplazamiento de una seal en k unidades.

3.4.2. Reflexin.

La variable independiente n se reemplaza por n. El resultado de esta operacin es un pliegue o una reflexin de la seal con respecto al origen de tiempo n=0. En la Figura 7. Se muestra la reflexin de una seal aplicando la siguiente ecuacin.

Figura 7. Reflexin de una seal3.4.3. Submuestreo.El submuestreo implica remplazar a n por n, siendo un entero.

3.4.4. Suma.La suma de dos seales x1 (n) y x2(n) es una seal y(n) cuyo valor en cualquier instante es igual a la suma de los dos valores en ese instante de las dos seales de partida.

La suma de dos secuencias discretas se debe realizar en forma individual por cada muestra n que tenga la secuencia. Si una secuencia tiene una longitud ms grande que la otra, se deber llenar con ceros.

3.4.5. Multiplicacin.El producto de dos seales x1(n) y x2(n) es una seal y(n) cuyo valor se define anlogamente en cada instante de tiempo como

Del mismo modo que en la suma, la multiplicacin de dos secuencias discretas se debe realizar en forma individual por cada muestra n que tenga la secuencia. Si una secuencia tiene una longitud ms grande que la otra, se deber llenar con ceros. 4. PROCEDIMIENTO4.1. Realizar un programa en el cual el usuario inserte dos seales en forma de vector.4.2. El usuario debe poder ubicar el cero en cada una de las seales introducidas.4.3. El programa debe permitir al usuario adelantar o atrasar cada una de la seal.4.4. Se debe ejecutar el submuestreo con el elegido por el usuario.4.5. Las seales deben hacer las operaciones de suma y multiplicacin.4.6. Al ejecutarse el programa debern aparecer las grficas de cada uno de los elementos del programa: seales, ceros, desplazamientos, reflexin, submuestreo y las operaciones de suma y multiplicacin de seales.

5. DESARROLLO

5.1. Introducir las seales

Figura 8. Ingreso de datos

Entrada de la primera seal:s1=str2num(input('Por favor, ingrese la SEAL 1 ej. 1 2 3 s1= ','s'));

Entrada de la segunda seal: s2=str2num(input('Por favor, ingrese la SEAL 2 ej. 1 2 3 s2= ' ,'s')); 5.2. Reflexin de la seal originalReflexin primera seal:Reflex1=p1(1:L1)*(-1);

Reflexin segunda seal:Reflex2=p2(1:L2)*(-1);

5.3. Ubicacin del ceroCero de la primera seal:

Cero1=input('Digite Posicion S1 [0]= '); p1=0; w1=0; for x1=Cero1:-1:1 p1(x1)=w1; w1=w1-1; end L1=length(s1); z=0; for x1=Cero1:1:L1p1(x1)=z;z=z+1;end Cero de la segunda seal: Cero2=input('Digite Posicion S2 [0]= '); p2=0;w2=0; for x2=Cero2:-1:1p2(x2)=w2;w2=w2-1;end L2=length(s2); z=0; for x2=Cero2:1:L2p2(x2)=z;z=z+1;end

5.4. Desplazamiento de la seal (Adelanto y atraso)Para la primer seal Espacio1=input('Espacios a correr en la primer seal: ');AA1=p1+(Espacio1); Para la segunda seal Espacio2=input('Espacios a correr en la segunda seal: ');AA2=p2+(Espacio2);

5.5. SubmuestreoPara la primer seal

n1=input('Introduzca n para la primer seal: ');L1=length(s1); sm1=s1(1:n1:L1); Sm1=p1(1:n1:L1);

Para la segunda sealn2=input('Introduzca n para la segunda seal: ');L2=length(s2);sm2=s2(1:n2:L2);Sm2=p2(1:n2:L2);

5.6. Suma y Multiplicacin de sealesa=s1b=s2if p1(L1)p2(L2) sum1=L2+(p1(L1)-p2(L2)); b(sum1)=0 end LL1=length (a); LL2=length (b); if p1(1)>p2(1) sum2=LL1+ ( p1(1) - p2(1) ); a=a(end:-1:1); a(sum2)=0; a=a(end:-1:1); elseif p2(1)>p1(1) sum2=LL2+ ( p2(1) - p1(1) ); b=b(end:-1:1); b(sum2)=0; b=b(end:-1:1); end suma=a+b;mult=a.*b;

5.7. GraficasPrimer seal:figure; subplot(5,1,1);stem(s1);title('Primer Seal'); subplot(5,1,2);stem(p1,s1);title('Cero primer seal');subplot(5,1,3);stem(AA1,s1); title('Espacios Recorridos Primer Seal'); subplot(5,1,4);stem(Reflex1,s1);title('Reflexion de la seal 1'); subplot(5,1,5);stem(Sm1,sm1);title('Submuestreo');

Figura 9. Primer seal: Seal original, cero, desplazamiento, reflexin y submuestreo.

Segunda seal: figure; subplot(5,1,1);stem(s2);title('Segunda Seal');subplot(5,1,2);stem(p2,s2);title('Cero Segunda seal');subplot(5,1,3);stem(AA2,s2); title('Espacios a recorridos Segunda seal'); subplot(5,1,4);stem(Reflex2,s2);title('Reflexion de la seal 2');subplot(5,1,5);stem(Sm2,sm2);title('Submuestreo');

Figura 10. Primer seal: Seal original, cero, desplazamiento, reflexin y submuestreo.

Sumatoria y Multiplicacin:

subplot(4,1,1);stem(a);title('Cero Primer seal'); subplot(4,1,2);stem(b);title('Cero Segunda seal'); subplot(4,1,3);stem(suma);title('Suma de seales'); subplot(4,1,4);stem(mult);title('Multiplicacin de seales');

Figura 11. Sumatoria y multiplicacin de las seales.

6. CONCLUSIONES

Matlab es un lenguaje de alto desempeo que fue necesario para realizar el laboratorio, al ser un programa diseado para realizar clculos, permitir la visualizacin y resolver fcilmente y en menor tiempo que el requerido por otros programas muchos problemas computacionales, especficamente aquellos que involucren vectores y matrices, se pudo lograr el correcto funcionamiento del programa que se esperaba realizar, es decir, la visualizacin de las dos seales con sus respectivas reflexiones, posicionamiento de ceros, desplazamientos, y la correcta ejecucin de las operaciones de suma y multiplicacin con las respectivas posiciones entre las seales.

7. BIBLIOGRAFA[1] Seal en tiempo discreto: http://www.dicis.ugto.mx/profesores/ljavier/documentos/Lec02%20-%20Se%C3%B1ales%20%20en%20Tiempo%20Discreto.pdf

[2] Http://roble.pntic.mec.es/aesc0024/Thesis.pdf