Está en la página 1de 16

Alumno: Olanda Nuez Ricky

UCSM-FCIFF-PPIE
PROCESAMIENTO DIGITAL DE SEALES
PRIMERA PRCTICA
SEALES Y SISTEMAS EN MATLAB

1. OBJETIVOS
Conocer la forma de representacin de las seales discretas
Conocer las funciones implementadas sobre seales discretas

2. MARCO TERICO

2.1 Seal

Una seal es una portadora fsica de informacin (adquirida por algn sistema de medicin
o sensado), que dependen de la naturaleza de la informacin (mientras una seal de audio
es presin de aire, una imagen es una onda de luz). Pueden ser representadas
matemticamente como una funcin de una o ms variables, que suelen depender del
tiempo.

2.2 Seales discretas

Una seal x[n] en tiempo discreto, es una funcin de una variable independiente entera
(nmero de muestra), es decir est definida solo para valores enteros del argumento


Seal discreta
Las seales discretas ms usadas son:


Alumno: Olanda Nuez Ricky






III. ACTIVIDADES

Para los ejercicios siguientes:
Indicar los comandos de MatLab a utilizar
Consignar las tabulaciones y las grficas obtenidas para las funciones construidas

Grficos Bsicos 2D

1. Construir la grfica siguiente

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

Alumno: Olanda Nuez Ricky



2. Cambiar el comando plot por el comando stem, que sucedi con la grafica?

3. Colquele ttulo y nombre a los ejes de la grfica, usando title, ylabel, xlabel



Impulso unitario
4. Usando el editor de MatLab crear la funcin, comente cada lnea


function[x,n]=impseq(n0,n1,n2)
%Generacion x(n) = delta(n-n0); n1<=n<=n2
%[x,n]=impseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)==0];
stem(n,x);


se crea una function llamada impsseq y se ingresan los valores (n0,n1,n2) y nos da como
resultado funcion (x,n)
function[x,n]=impseq(n0,n1,n2)

Alumno: Olanda Nuez Ricky
n tomara valores desde n1 hasta n2 iterativamente
n=[n1:n2];

siempre que n-n0 sea igual a 0 nos dara un impulso en n0
x=[(n-n0)==0];

graficar impulso
stem(n,x);

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

impseq(8,2,10)

ans =

Columns 1 through 7

0 0 0 0 0 0 1 0 0



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

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

>> impseq(6,0,8)

ans =

Columns 1 through 7

0 0 0 0 0 0 1 0 0
Alumno: Olanda Nuez Ricky




6. Agregar el comando grid on.




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

function[x,n]=impseq(n0,n1,n2,n3)
n=[n1:n2];
x=[(n-n0)==0];
x=x*n3;
stem(n,x);

impseq(6,0,8,2)

ans =

Columns 1 through 7

0 0 0 0 0 0 2 0 0
Alumno: Olanda Nuez Ricky



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

function[x,n]=impseq(n0,n1,n2,n3)
n=[n1:n2];
x=[(n-n0)==0];
x=x*n3;
stem(n,x);

impseq(5,-5,15,-4)

ans =

Columns 1 through 7

0 0 0 0 0 0 0 0 0 0 -4 0 0 0
Columns 15 through 21

0 0 0 0 0 0 0

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








Alumno: Olanda Nuez Ricky




















-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Alumno: Olanda Nuez Ricky





10. Agregar leyenda al grfico usando el comnado legend


Escaln unitario
11. Usando el editor de MatLab crear la funcin, comente cada lnea




function[x,n]=stepseq(n0,n1,n2)
%Generacion x(n) = u(n-n0); n1<=n<=n2
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
-5 0 5 10 15
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0


muestras
Alumno: Olanda Nuez Ricky
%[x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)>=0];
stem(n,x);

se crea una function llamada stepseq y se ingresan los valores (n0,n1,n2) y nos da como
resultado funcion (x,n)
function[x,n]=stepseq(n0,n1,n2)

n tomara valores desde n1 hasta n2 iterativamente
n=[n1:n2];

siempre que n-n0 sea mayor e igual a 0 nos dara un impulso en n0
x=[(n-n0)>=0];

graficar impulso
stem(n,x);

>> stepseq(5,0,10)

ans =

Columns 1 through 7

0 0 0 0 0 1 1

Columns 8 through 11

1 1 1 1




12. Utilice la funcin para genera un escaln a partir de n=5 visualizando entre -2 y 10 el
nmero de muestras, colocar los nombres y leyendas respectivas

function[x,n]=stepseq(n0,n1,n2)
%Generacion x(n) = u(n-n0); n1<=n<=n2
%[x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
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
Alumno: Olanda Nuez Ricky
x=[(n-n0)>=0];
stem(n,x);
legend('leyenda');


stepseq(5,-2,10)

ans =

Columns 1 through 7

0 0 0 0 0 0 0

Columns 8 through 13

1 1 1 1 1 1

13. 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,n3)
%Generacion x(n) = u(n-n0); n1<=n<=n2
%[x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)>=0];
x=x*n3;
stem(n,x);
legend('leyenda');


>> stepseq(5,-2,10,4)

ans =

Columns 1 through 7

0 0 0 0 0 0 0

-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
periodo de muestreo
a
m
p
l
i
t
u
d
escalon unitario


impulsos
Alumno: Olanda Nuez Ricky
Columns 8 through 13

4 4 4 4 4 4


14. Repita 12 para generar un escaln de amplitud -2 a partir de n=4 visualizando muestras
entre -2 y 15

function[x,n]=stepseq(n0,n1,n2,n3)
%Generacion x(n) = u(n-n0); n1<=n<=n2
%[x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)>=0];
x=x*n3;
stem(n,x);
legend('leyenda');

>> stepseq(4,-2,15,-2)

ans =

Columns 1 through 7

0 0 0 0 0 0 -2

Columns 8 through 14

-2 -2 -2 -2 -2 -2 -2

Columns 15 through 18

-2 -2 -2 -2
-2 0 2 4 6 8 10
0
0.5
1
1.5
2
2.5
3
3.5
4


leyenda
Alumno: Olanda Nuez Ricky


Exponencial
Una secuencia exponencial responde a la expresin:

x[n] = C z^n Donde C y z son, en general, nmeros complejos.

15. Construya las siguientes exponenciales
% Exponencial
n1=0;n2=20;
n=[n1:n2];
x=0.5.^n;
stem(n,x);




% Exponencial
n = 0:0.1:10;
x=0.5.^n;
stem(n,x);

-2 0 2 4 6 8 10 12 14 16
-2
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0


leyenda
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
Alumno: Olanda Nuez Ricky

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.9.^n; define un vector con componentes 0.9.^(0.1), 0.9.^(0.2), 0.9.^(0.3), etc.
>> n = 0:0.1:10;
>> x=0.9.^n;
>> stem(n,x);


% Exponencial
n = 0:20;
x=5.^n;
stem(n,x);



%Exponencial Compleja
n1=0;n2=10;
n=[n1:n2];
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
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2 4 6 8 10 12 14 16 18 20
0
1
2
3
4
5
6
7
8
9
10
x 10
13
Alumno: Olanda Nuez Ricky
x=exp((2+3j)*n);
stem(n,x);



Uso del comando subplot
El comando subplot nos permite desplegar en pantalla varias grficas. subplot(m,n,a) 'm' y 'n' son
una matriz que representa las cantidades de grficas que se van desplegar; 'a' indicara el lugar que
ocupara la grfica en el subplot.

16. Crear un programa en matlab donde grafique solo la parte real y la parte imaginaria por
separado; usando subplot, de cualquier exponencial compleja

Seal senoidal
17. Graficar la siguiente seal senoidal








18. Graficar la siguiente seal senoidal, observe que la suma tambin es peridica






0 1 2 3 4 5 6 7 8 9 10
-2
-1
0
1
2
3
4
5
6
7
8
x 10
7
0 10 20 30 40 50 60
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
%Seal Senoidal
n1=0;n2=60;
n=[n1:n2];
x=2*sin(0.2*pi*n+pi/5);
stem(n,x);
%Seal Senoidal
n1=0;n2=120;
n=[n1:n2];
x=2*cos(0.2*pi*n+pi/5)+sin(0.5*pi*n);
stem(n,x);
Alumno: Olanda Nuez Ricky


CUESTIONARIO FINAL

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

cos(2n/16)

>> n1=0;n2=120;
>> n=[n1:n2];
>> x=cos(2*pi*n/16);
>> stem(n,x);



cos(2n2/16)


cos(2n4/16)



cos(2n8/16)
cos(2n12/16)

2. Forme y grafique el muestreo de las siguientes seales usando una razn de muestreo de l0 Hz
(10 muestras por segundo). Incluya las graficas en su reporte:
a. y1 = cos(6t);
b. y2 = 3exp(-4t)*cos(5t);
0 20 40 60 80 100 120
-3
-2
-1
0
1
2
3
0 20 40 60 80 100 120
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Alumno: Olanda Nuez Ricky
c. sume un ruido escalado a 0.2 en y1. (use la funcin randn, y escriba help randn si no
sabe cmo usarla).


CONCLUSIONES

Emita al menos cinco conclusiones en torno al manejo de seales en MatLab

También podría gustarte