Está en la página 1de 17

UNIVERSIDAD NACIONAL DE SAN AGUSTN

FACULTAD DE INGENIERA DE PRODUCCIN Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS








FINAL LABORATORIO N 1
CURSO:
PROCESAMIENTO DIGITAL DE SEALES

PROFESORA:
LUCY DELGADO


ALUMNA:
VERA CERVANTES, MARIA LUISA


AREQUIPA - PERU
2014



UNAS FIPS EPIS
PROCESAMIENTO DIGITAL DE SEALES
PRIMERA PRCTICA
SEALES Y SISTEMAS EN MATLAB

III. ACTIVIDADES

Grficos Bsicos
1. Construir la grfica siguiente

x = [1 3 0.5 2.5 2];
y = [0 1 2 3 4];
plot(x,y)

2. Cambiar el comando plot por el comando stem, reconozca el tipo de seales graficada en ambos
casos, indique que representa la segunda seal

0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
3.5
4


0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
3.5
4
Impulso unitario
3. Usando el editor de MatLab crear la funcin, comente cada lnea
function[x,n]=impseq1(n0,n1,n2) % defino la funcion
n=[n1:n2]; %creo el vector de un n1 a un n2
x=[(n-n0)==0]; %si n menos n0 es cero entonces almaceno un true en
x que es un 1
stem(n,x); %muestro la grafca con un strem(que grafica sin
correlacionarlos)


function[x,n]=impseq2(n0,n1,n2) %defino la funcion
n=[n1:n2]; %creo el vector de un n1 a un n2
x=zeros(size(n)); %creo otro vector de un n1 a un n2 con valores de cero
x(n0-n1+1)=1; % y en esa poscicion(n0-n1+1) se almacena el 1
stem(n,x); %muestro la grafca con un strem(que grafica sin
correlacionarlos)


4. Utiliza la funcin para genera un impulso en n=5 visualizando entre -2 y 8 el nmero de muestras

impseq2(5,-2,8)



-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-2 -1 0 1 2 3 4 5 6 7 8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
5. Agregar el comando grid on.
>> n=[-2:8];
>> x=[(n-5)==0];
>>stem(n,x);
>>gridon

6. Modifique la funcin para darle al pulso una amplitud A, donde A sera el cuarto parmetro de
entrada

function[x,n]=impseq2(n0,n1,n2,A) %defino la funcion
n=[n1:n2]; %creo el vector de un n1 a un n2
x=zeros(size(n)); %creo otro vector de un n1 a un n2 con valor de cero
x(n0-n1+1)=A; % y en esa poscicion(n0-n1+1) se almacena el 1
stem(n,x); %muestro la grafca con un strem(que grafica sin
correlacionarlos)
grid on




7. Repita 5 considerando un pulso de amplitud 4 en n=5 visto de -5 a 15

>> n=[-5:15];
>> x=[(n-5)==0];
>> x=(x*4);
>>stem(n,x)



8. Modifique las propiedades del grfico en trminos de colores y smbolo (genere al menos tres
variantes.



















-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4
>>stem(n,x,'+g')



>>stem(n,x,'oy')



>>stem(n,x,':r')





-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4
-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4
-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4
9. Agregar leyenda al grfico usando el comando legend
>>stem(n,x,'+g')
legend data1

>>stem(n,x,'oy')
>>legend data1

>>stem(n,x,':r')
>>legend data1





-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4


data1
-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4


data1
-5 0 5 10 15
0
0.5
1
1.5
2
2.5
3
3.5
4


data1
Escaln unitario

10. Usando el editor de MatLab crear la funcin, comente cada lnea


function[x,n]=stepseq(n0,n1,n2) %defino la funcin
n=[n1:n2]; %creo el vector de un n1 a un n2
x=[(n-n0)>=0];
stem(n,x); %muestro la grafica con un strem(que grafica sin
correlacionarlos)
grid on % pone el grid en la grafica

11. Utilice la funcin para genera un escaln a partir de n=4 visualizando entre -2 y 8 el nmero de muestras,
colocar los nombres y leyendas respectivas.
>> stepseq(4,-2,8)


12. Modifique la funcin para darle al escaln una amplitud A, donde A sera el cuarto parmetro de entrada

function[x,n]=stepseq(n0,n1,n2,A) %defino la funcion
n=[n1:n2]; %creo el vector de un n1 a un n2
x=[(n-n0)>=0];
x=x*A;
stem(n,x); %muestro la grafca con un strem(que grafica sin
correlacionarlos)
grid on % pone el grid en la grafica


-2 -1 0 1 2 3 4 5 6 7 8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Escaln unitario
t imagen 9
f
(
n
)


Muestreo


13. Repita 12 para generar un escaln de amplitud -4 a partir de n=4 visualizando muestras entre -2 y 15
>> stepseq(4,-2,15,-4)


Exponencial
14. Construya las siguientes exponenciales, identifique en cada caso si es unipolar o bipolar, creciente o
decreciente
n1=-20;n2=20;%valores de los rangos
n=[n1:n2];%vector n con dimensiones de n1 a n2
x=0.25.^n;%es importante el . para cada valor, funcion
stem(n,x);

Es un unipolar decresiente.
o
n = 0:0.1:10;% n es un vector con componentes de rango de 0 a 10
x=0.25.^n;% funcion exponencial
stem(n,x);% grafica sin correlacion
-2 0 2 4 6 8 10 12 14 16
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Escalon Unitario agregando A
t
f
(
n
)


Muestreo
0 2 4 6 8 10 12 14 16 18 20
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Es un unipolar decresiente.
El comando n = 0:0.1:10; define el vector con componentes de rango de 0 a 10 en pasos de 0.1; La funcin x
= 0.25.^n; define un vector con componentes 0.25.^(0.1), 0.25.^(0.2), 0.25.^(0.3), etc.

n = 0:10;
x=-5.^n;
stem(n,x);

Unipolar decresiente
n1=-100;n2=100;
n=[n1:n2];
x=exp((2+3j)*n);
stem(n,x)

Bipolar

0 1 2 3 4 5 6 7 8 9 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1 2 3 4 5 6 7 8 9 10
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
x 10
6
-100 -80 -60 -40 -20 0 20 40 60 80 100
-16
-14
-12
-10
-8
-6
-4
-2
0
2
4
x 10
84
n1=-100;n2=100;
n=[n1:n2];
x=exp((0.2+0.3*j)*n);
stem(n,x);


Bipolar

Uso del comando subplot
15. Crear un programa en matlab donde grafique la seal, la parte real, la parte imaginaria, el mdulo
y la fase por separado; usando subplot, de cualquier exponencial compleja, usar los comnados real,
imag, abs, phase

>>n=0:10
>>X=(0.5+2*j). ^n
Extraer la parte imaginaria y la parte real, modulo y fase de X

-100 -80 -60 -40 -20 0 20 40 60 80
-1.5
-1
-0.5
0
0.5
1
x 10
8
function[]=funsubplot()
n=[0:10];
x=exp((2+(3*i))*n);

subplot(2,2,1)
stem(n,real(x));
title('Parte real')
xlabel('X')
ylabel('Y')

subplot(2,2,2)
stem(n,imag(x));
title('Parte imaginaria')
xlabel('X')
ylabel('Y')

subplot(2,2,3);
stem(n,abs(x));
title('Parte abs')
xlabel('X')
ylabel('Y')

subplot(2,2,4);
stem(n,phase(x));
title('PARTE PHASE')
xlabel('X')
ylabel('Y')



0 5 10
-2
0
2
4
6
8
x 10
7
PARTE REAL
X
Y
0 5 10
-6
-4
-2
0
2
x 10
8
PARTE IMAGINARIA
X
Y
0 5 10
0
2
4
6
x 10
8
PARTE ABS
X
Y
0 5 10
-2
0
2
4
PARTE PHASE
X
Y
Seal senoidal
16. Graficar la siguiente seal senoidal, identifique el periodo discreto
n1=0;n2=60;
n=[n1:n2];
x=2*sin(0.2*pi*n+pi/3); %sin(frecuencia+ desface)
stem(n,x);

El periodo discreto es aproximadamente 20
17. Graficar la siguiente seal senoidal, observe que la suma tambin es peridica, identifique el
periodo
n1=0;n2=100;
n=[n1:n2];
x=2*sin(0.2*pi*n+pi/5)+sin(0.5*pi*n);
stem(n,x);

Su periodo es de 20


0 10 20 30 40 50 60
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0 10 20 30 40 50 60 70 80 90 100
-3
-2
-1
0
1
2
3
CUESTIONARIO FINAL

1. Crear un programa en matlab donde se grafiquen las siguientes ondas: (use subplot), que observa

cos(2n/32)
cos(2n2/32)
cos(2n4/32)
cos(2n8/32)
cos(2n12/32)

function grafCoseno
n1=0; n2=60;
n=[n1:n2];
x=cos(2*pi*n/32);
subplot(5,1,1)
stem(n,x)
xlabel('X')
ylabel('Y')
title('FUNCION COSENO 1')

x=cos(2*pi*2*n/32);
subplot(5,1,2)
stem(n,x)
xlabel('X')
ylabel('Y')
title('FUNCION COSENO 2')

x=cos(2*pi*4*n/32);
subplot(5,1,3)
stem(n,x)
0 10 20 30 40 50 60
-1
0
1
X
Y
FUNCION COSENO 1
0 10 20 30 40 50 60
-1
0
1
X
Y
FUNCION COSENO 2
0 10 20 30 40 50 60
-1
0
1
X
Y
FUNCION COSENO 3
0 10 20 30 40 50 60
-1
0
1
X
Y
FUNCION COSENO 4
0 10 20 30 40 50 60
-1
0
1
X
Y
FUNCION COSENO 5
xlabel('X')
ylabel('Y')
title('FUNCION COSENO 3')

x=cos(2*pi*8*n/32);
subplot(5,1,4)
stem(n,x)
xlabel('X')
ylabel('Y')
title('FUNCION COSENO 4')

x=cos(2*pi*12*n/32);
subplot(5,1,5)
stem(n,x)
xlabel('X')
ylabel('Y')
title('FUNCION COSENO 5')


2. Forme y grafique el muestreo de las siguientes seales usando una razn de muestreo de l0 Hz (10
muestras por segundo). Incluya las grficas en su informe
a. y1 = 2sen(6t):
t = [0:10];
r = 2*sin(6*t);
stem(t,r);

b. y2 = 3exp(-2t)*cos(2t);
t = [0:10];
r=3.*exp(-2.*t).*cos(2*t);
stem(t,r);

0 1 2 3 4 5 6 7 8 9 10
-2
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0 1 2 3 4 5 6 7 8 9 10
-0.5
0
0.5
1
1.5
2
2.5
3
c. sume un ruido escalado a 0.2 en y1. (use la funcin randn, y escriba help randn si no sabe
cmo usarla).
t=[0:10];
r = cos(6*t)+ 0.2.*randn(size(t));
stem(t,r)


CONCLUSIONES
Emita al menos cinco conclusiones en torno al manejo de seales en MatLab:
El comando subplot nos permite desplegar en pantalla varias grficas
Una seal x[n] en tiempo discreto est definida solo para valores enteros del argumento.
Nos ayudado las implementaciones de las funciones de se;ales hacindolo mas rpido y fcil
Las graficas nos sirven para ver los errores
Poder representar cualquier seal discreta real


0 1 2 3 4 5 6 7 8 9 10
-1.5
-1
-0.5
0
0.5
1
1.5