You are on page 1of 19

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA Ingeniera Electrnica en Telecomunicaciones Ingeniera Electrnica en Automatizacin y Control

Procesamiento Digital De Seales

Practica N1

Anlisis de Seales Discretas utilizando Matlab


Realizado por: Juan Pablo Burbano Cristian Prez Paul Vascones

19/09/2013
1

1. OBJETIVOS. Comprender como se simulan seales discretas en el tiempo usando MATLAB Analizar las seales por periodos y reconocer cada uno de ellos Determinar analticamente y grficamente las propiedades de linealidad, invariansa estabilidad y causalidad

2. MARCO TEORICO
Definicin de Seal Las seales son patrones de variacin que representan informacin codificada. Una seal se define como una magnitud fsica que vara con el tiempo el espacio o cualquier otra variable independiente y permite transmitir informacin. Propiedades de las seales para su clasificacin Continuas: Se definen para todo tiempo t. Peridicas: Aquellas que verifican xp(t) = xp(tnT), donde T es el periodo y n es un entero. Causales: Son 0 para t<0. Se definen slo para el eje positivo de t. Anti causales: Son 0 para t>0. Se definen slo para el eje negativo de t. No causales: Se definen para todo el eje de t. Clasificacin de seales basadas en simetras: Simetra Par: x(t) = x(-t) Simetra Impar: x(t) = -x(-t) Transformaciones elementales: Desplazamiento en el tiempo: Seal adelantada y retrasada en el tiempo x(t-t0), desplazamiento a la derecha. (Retrasada) x(t+t0), desplazamiento a la izquierda. (Adelantada) 3

Reflexin: Inversin en el tiempo de x(t) = x(-t) Cambios lineales de escala en la variable independiente: Compresin en el tiempo de x(t) = x(2t) Dilatacin en el tiempo de x(t) = x(t/2)

3. DESARROLLO DE LOS EJERCICIOS Ejercicio 1


Graficar la siguiente funcin, utilizando Matlab

Cdigo del programa

Creacin de la funcin escaln unitario


function [x,n] = stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)>=0];

Procedimiento para graficar


%Ejercicio 4.1 clc; close all; n4 = [-25:25]; x4 = exp(0.1*n4).*(stepseq(-20,-25,25) - stepseq(10,-25,25)); stem(n4,x4);

x[n]=exp(0.1*n).*(u(n+20) - u(n-10)) 2.5

1.5
x[n]

0.5

0 -25

-20

-15

-10

-5

0 [n]

10

15

20

25

Ejercicio 2
Graficar la siguiente funcin, utilizando Matlab

[ ]

[ ]

La funcin es peridica, graficar la funcin en 3 pedidos. Cdigo del programa

Creacin de la funcin escaln unitario


function [x,n] = stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)>=0];

Procedimiento para graficar


clc; close all; %Ejercicio 4.1 n2 = [0:21]; x2 = exp(0.1*n2).*(stepseq(0,0,21) - stepseq(20,0,21)); x2 = x2'*ones(1,3); x2 = (x2(:)); n2 = [-22:43]'; stem(n2,x2);

x = exp(0.1*n).*(u(n)-u(n-20)) 7

4
x[n]

0 -30

-20

-10

10 n

20

30

40

50

Ejercicio 3

Ejercicio 4

Demostrar analticamente la linealidad, invariansa, estabilidad y causalidad. Adems, en Matlab determine la linealidad e invariansa del siguiente sistema.

[ ] [ [ ] [ ] [ [ ] [ ] [ [ ] [ [ ]] [ ]

[ ] [ ] [ ] [

] [ ] [ ] [ ]

Con esto podemos concluir que si es lineal


Cdigo del programa

Creamos la funcin sigadd


function [y,n] = sigadd(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1,length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y = y1+y2;

Creamos la funcin sigmult


function [y,n] = sigmult(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1,length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y = y1 .* y2;

Creamos la funcin sigshift


function [y,n] = sigshift(x,m,n0) n = m+n0; y = x;

Creamos la funcin stepseg


function [x,n] = stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)>=0];

Procedimiento
clc; close all;

n = 0:100; x1 = rand(1,length(n)); x2 = sqrt(10)*randn(1,length(n)); z = n; [x11,nx11] = sigshift(x1,n,-1); [x111,nx111] = sigmult(z,n,x11,nx11); [y1,ny1] = sigadd(x1,n,x111,nx111); [x21,nx21] = sigshift(x2,n,-1); [x211,nx211] = sigmult(z,n,x21,nx21); [y2,ny2] = sigadd(x2,n,x211,nx211); xs = x1 + x2; [xs1,nxs1] = sigshift(xs,n,-1); [xs11,nxs11] = sigmult(z,n,xs1,nxs1); [y,ny] = sigadd(xs,n,xs11,nxs11); diff = sum(abs(y - (y1 + y2))); if (diff < 1e-5) disp(' *** El sistema analizado es lineal *** '); else disp(' *** El sistema analizado no es lineal *** '); end

Para calcular la invariansa en el tiempo [ ] [ ] [ ] [ ] [ ] [ ] [ ]

Con esto podemos concluir que el sistema es invariante en el tiempo


clear; clc; close all; n = 0:100; x = sqrt(10)*randn(1,length(n)); z = n; [x1,nx1] = sigshift(x,n,-1); [x11,nx11] = sigmult(z,n,x1,nx1); [y,ny] = sigadd(x,n,x11,nx11); [y1,ny1] = sigshift(y,ny ,1); [xs,nxs] = sigshift(x,n,1); [xs1,nxs1] = sigshift(xs,nxs,-1); [xs11,nxs11] = sigmult(z,n,xs1,nxs1); [y2,ny2] = sigadd(xs,nxs,xs11,nxs11); [diff,ndiff] = sigadd(y1,ny1,-y2,ny2); diff = sum(abs(diff)); if (diff < 1e-5) disp(' *** El sistema analisado es invariante en el tiempo *** '); else disp(' *** El sistema analisado es variante en el tiemp *** '); end

| [ ]|

| [ ]|

| || [

]|

Tiende a infinito

Con este resultado se concluye que el sistema en inestable y no es causal

4. ANALISIS DE LOS PROGRAMAS

Ejercicio 1

Creamos una funcin Stepseq que llevar tres parmetros en nuestro caso los enviaremos desde nuestra funcin, los cuales especificaremos la posicin de las coordenadas en x y n las mismas que retornaran. Almacenando los valores en dichas variables.

Creamos nuestra funcin

Nuestro parmetro ser de -25:25 como nos indica nuestro ejercicio la cual ser almacenada en una variable n4 y esta ser el intervalo de graficacion, y en donde se analizara la grfica requerida, en x4 escribimos la funcin a graficar. Para mostrar nuestra funcin analizada utilizaremos el comando stem mostrndonos la grfica en n2 y x2

Ejercicio 2

Creamos una funcin Stepseq que llevar tres parmetros en nuestro caso los enviaremos desde nuestra funcin, los cuales especificaremos la posicin de las coordenadas en x y n las mismas que retornaran. Almacenando los valores en dichas variables. 10

Creamos nuestra funcin Nuestro parmetro ser de 0:21 como nos indica nuestro ejercicio la cual almacenamos en una variable n2 y esta ser nuestra condicin de donde se analizara la grfica requerida, en x2 escribimos la funcin a graficar y en esta daremos los lmites y llamaremos a la funcin creada, en nuestra variable x2 almacenamos 3 columnas de x2, x2 es un vector fila, en x2 especificaremos que es un vector de columna larga y por ultimo especificaremos n2 que ser un vector de fila larga. Para mostrar nuestra funcin analizada utilizaremos el comando stem mo strndonos la grfica en n2 y x2

Ejercicio 3
Funcion sigmult: Nos permite multiplicar dos secuencias

11

Funcion sigadd: Nos permite sumar dos secuencias

Funcion sigshift: Nos permite realizar un desplazamiento

12

Funcion sigfold: Nos permite realizar el espejo de una secuencia.

FUNCIONAMIENTO DEL PROGRAMA Sea x (n) = {2, 4, -3, 1, -5, 4, 7}. Genera y trazar la muestra (utilizar la funcin stem) deL a siguiente secuencia. x4(n) =5* x(n+2)*e^{0.1n}+x(n)+x(2-n), -10 <=n< =10 Para generar y trazar la siguiente secuencia necesitamos generar algunas funciones expuestas anteriormente en el marco terico, se realizara una breve explicacin de las mismas.

13

Ejercicio 4

Primeramente para elaborar para saber si es lineal o no, debemos crear varias funciones las cuales nos van a servir para inicializar y declarar los funcions especiales, variables, multiplicar seales, etc. Creamos la funcin stepseq la cual indica una funcin escalo o paso unitario, esta dispone de 3 valores previamente declarados.

La funcin sigadd permite sumar 2 seales discretas en el dominio del tiempo.

14

La funcin sigmul permite multiplicar 2 seales discretas en el dominio del tiempo.

La funcin sigshift permite desplazar a una seal, sigshift es una seal de desplazamiento

Posterior a la creacin de las funciones necesarias procedemos a crear el cdigo el cual nos permite verificar si la funcin ingresada es lineal o no

15

Aplicando las mismas funciones antes creadas, realizamos el cdigo cara verificar la invariansa del sistema

16

5. ANALISIS DE LOS RESULTADOS

Ejercicio 1

Como podemos observar nuestra grafica obtenida muestra que nuestra funcin en -25 hasta -20 no hay funcin mientras que en -20 a 9.9 nuestra funcin crece y otra vez no existe funcin.

Ejercicio 2 La grafica que logramos analizar segn los parmetros podemos notar que nuestra funcin si es peridica ya que si aumentamos nuestro rango analizar siempre ser el mismo mnimo y mximo de la funcin para este caso lo analizamos de 0 a 21 pero como nuestra funcin pide ser analizada en 3 periodos de la funcin lo analizamos de -21 a 0 y de 20 a 40.

17

Ejercicio 3

Como se puede observar la secuencia se encuentra entre el intervalo de -4 y 4 para otros valores la secuencia es cero, esto es debido a que al realizar las operaciones algunos puntos se anulan tambin se puede notar que hay puntos alternados es decir positivos y negativos

18

Ejercicio 4

Comparando los resultados analticos, con los resultados mostrados en el programa, verificamos y comprobamos que este sistema SI es lineal y es VARIANTE en el tiempo. Con el anlisis en Matlab nos ahorra tiempo y la respuesta es mucho ms eficiente y segura que calculada analticamente

19

You might also like