Informe Final 1
Informe Final 1
Informe Final 1
INTEGRANTE:
AREQUIPA – 2015
UCSM-FCIFF-PPIE
PROCESAMIENTO DIGITAL DE SEÑALES
PRIMERA PRÁCTICA
SEÑALES Y SISTEMAS EN MATLAB
1. OBJETIVOS
Conocer la forma de representación de las señales discretas
Conocer las funciones implementadas sobre señales discretas
Implementar operaciones con señales discretas
2. MARCO TEÓRICO
2.1 Señal
Una señal es una portadora física de información (adquirida por algún sistema de medición
o sensado), que dependen de la naturaleza de la información (mientras una señal de audio
es presión de aire, una imagen es una onda de luz). Pueden ser representadas
matemáticamente como una función de una o más variables, que suelen depender del
tiempo.
Una señal x[n] en tiempo discreto, es una función de una variable independiente entera
(número de muestra), es decir está definida solo para valores enteros del argumento
Señal discreta
Las señales discretas más usadas son:
2.3 Operaciones sobre señales discretas
2.3.1 Desplazamiento
Una señal 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 retrazo del origen (flecha) de la señal en k unidades de tiempo. Por el
contrario si k es negativo, el desplazamiento temporal resulta en un adelanto del origen
(flecha) de la señal en |k| unidades de tiempo.
Esta operación es de gran utilidad en el tratamiento de señales discretas en donde son hay
que remplazar a la variable independiente n por – n. El resultado de esta operación es un
pliegue o una reflexión de la señal con respecto al origen de tiempo n = 0, es decir,
y(n) = x(− n)
2.3.3 Escalado
Una tercera modificación de la variable independiente implica remplazar a n por μn, siendo
μ un entero. Se conoce a esta modificación de la base como escalado temporal o
submuestreo
y(n) = x(µn) –∞<n<∞
El escalado de amplitud de una señal por una constante A se obtiene multiplicando el valor
de cada muestra de la señal por la constante. Así, obtenemos
2.3.5 Suma
La suma de dos señales x1(n) y x2(n) es una señal y(n) cuyo valor en cualquier instante es
igual a la suma de los dos valores en ese instante de las dos señales de partida, es decir
El producto de dos señales x1(n) y x2(n) es una señal y(n) cuyo valor se define
análogamente en cada instante de tiempo como
2.3.7 Convolución
a) Conmutativas
b) Asociativa
c) Distributiva
III. ACTIVIDADES
Gráficos Básicos 2D
3. Colóquele título y nombre a los ejes de la gráfica, usando title, ylabel, xlabel
y = [0 1 2 3 4];
x = [1 3 -1 2.5 2];
subplot(2,1,1),plot(y,x),
title('grafica analogicas'),
ylabel('amplitud'),
xlabel('tiempo')
subplot(2,1,2),stem(y,x),
title('graficas discretas'),
ylabel('amplitud'),
xlabel('tiempo')
grafica analogicas
3
2
amplitud
-1
0 0.5 1 1.5 2 2.5 3 3.5 4
tiempo
graficas discretas
3
2
amplitud
-1
0 0.5 1 1.5 2 2.5 3 3.5 4
tiempo
Impulso unitario
4. Usando el editor de MatLab crear la función, comente cada línea
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);
function[x,n]=impseq(n0,n1,n2)
n=[n1:n2];% esta linea da un parametro de tiempo para poder visualizar la muestra
x=[zeros(size(n))];x(n0-n1+1)=1%en esta linea hace que pongamos cero y uno segun requiera
stem(n,x);% no da la grafica en muestras
function[x,n]=impseq(n0,n1,n2)%n=5,n1=0,n2=10
n=[n1:n2];
x=[zeros(size(n))];x(n0-n1+1)=1
stem(n,x),grid on;
>> impseq(5,0,10)
x=
0 0 0 0 0 1 0 0 0 0 0
ans =
0 0 0 0 0 1 0 0 0 0 0
>>
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
7. Modifique la función para darle al pulso una amplitud A, donde A sería el cuarto
parámetro de entrada
function[x,n]=impseq(n0,n1,n2,A)%n=5,n1=0,n2=10,A
n=[n1:n2];
x=[zeros(size(n))];x*A(n0-n1+1)=1
stem(n,x),grid on;
-0.5
-1
-1.5
-2
-2.5
-3
-3.5
-4
-4.5
-5
-6 -4 -2 0 2 4 6 8 10 12
Escalón unitario
11. Usando el editor de MatLab crear la función, comente cada línea
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];
x=[(n-n0)>=0];
stem(n,x);
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];
x=[zeros(1,n0-n1),ones(1,n2-n0+1)];
stem(n,x);
12. Utilice la función para genera un escalón a partir de n=4 visualizando entre -5 y 10 el
número de muestras, colocar los nombres y leyendas respectivas
function[x,n]=stepseq(n0,n1,n2) %n0=4,n1=-5,n2=10
%Generacion x(n) = u(n-n0); n1<=n<=n2
%[x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[zeros(1,n0-n1),ones(1,n2-n0+1)];
stem(n,x);
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 0 5 10
Exponencial
Una secuencia exponencial responde a la expresión:
% Exponencial
n1=0;n2=15;
n=[n1:n2];
x=0.25.^n;
stem(n,x);
% Exponencial
n = 0:0.1:10;
x=0.25.^n;
stem(n,x);
El comando n = 0:0.1:10; define el vector con componentes de rango de 0 a 10 en pasos de 0.1; La
función x = 0.25^n; define un vector con componentes 0.25.^(0.1), 0.25.^(0.2), 0.25.^(0.3), etc.
% Exponencial
n = 0:15;
x=5.^n;
stem(n,x);
%Exponencial Compleja
n1=0;n2=10;
n=[n1:n2];
x=exp((1+2j)*n);
stem(n,x);
Señal senoidal
14. Graficar la siguiente señal senoidal
%Señal Senoidal
n1=0;n2=50;
n=[n1:n2];
x=2*sin(0.2*pi*n+pi/4);
stem(n,x);
15. Graficar la siguiente señal senoidal, observe que la suma también es periódica
%Señal Senoidal
n1=0;n2=120;
n=[n1:n2];
x=2*cos(0.25*pi*n+pi/5)+sin(0.5*pi*n);
stem(n,x);
Suma de señales
x1=sin((2*pi.*nx1)/5);n1=-20;n2=20;nx1=n1:n2;
x2=2*(0.2.^nx2);n3=-10;n4=30;nx2=n3:n4;
function[x,n]=suma(x1,n1,n2,x2,n3,n4);
%x1=sin((2*pi.*nx1)/5);n1=-20;n2=20;nx1=n1:n2;
%x2=2*(0.2.^nx2);n3=-10;n4=30;nx2=n3:n4;
n0=min(n1,n3);
n5=max(n2,n4);
n=n0:n5;
x1=[zeros(1,n1-n0) x1 zeros(1,n5-n2)];
x2=[zeros(1,n3-n0) x2 zeros(1,n5-n4)];
x=x1+x2;
stem(x,n);
30
25
20
15
10
-5
-10
-15
-20
-5 0 5 10 15 20
6
x 10
n1=-10;n2=30;
n=[n1:n2];
n0=1%asumimos n0;
x1=2*zeros(size(n+3));
x1(n0-n1+1)=1;
x2=[zeros(1,n0-n1) ones(1,n2-n0+1)];
sum=x1+x2;
mul=conv(x1,x2);
stem(n,sum)
2
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
-10 -5 0 5 10 15 20 25 30
Convolución
1.5
0.5
-0.5
-1
-1.5
-2
0 10 20 30 40 50 60 70 80 90
CUESTIONARIO FINAL
1. Crear un programa en matlab donde se grafiquen las siguientes ondas: (use subplot)
cos(2πn/16)
cos(2πn2/16)
cos(2πn4/16)
cos(2πn8/16)
cos(2πn12/16)
n=0:1:45;
y1=cos(2*pi*n/16);
y2=cos(2*pi*n*2/16);
y3=cos(2*pi*n*4/16);
y4=cos(2*pi*n*8/16);
y5=cos(2*pi*n*12/16);
subplot(5,1,1),plot(n,y1)
subplot(5,1,2),plot(n,y2)
subplot(5,1,3),plot(n,y3)
subplot(5,1,4),plot(n,y4)
subplot(5,1,5),plot(n,y5)
1
0
-1
0 5 10 15 20 25 30 35 40 45
1
0
-1
0 5 10 15 20 25 30 35 40 45
1
0
-1
0 5 10 15 20 25 30 35 40 45
1
0
-1
0 5 10 15 20 25 30 35 40 45
1
0
-1
0 5 10 15 20 25 30 35 40 45
CONCLUSIONES
Al muestrear las señales podemos darles los diferentes puntos y ver por donde pasan
exactamente gracias a que estos se muestran como puntos en las gráficas y ver todo
lo que les pasa y tratarlas.
La práctica nos ayudo mucho a ver como muestrear las señales poder darles unos
intervalos y trabajar sobre ellos, es así que podemos desarrollar mas cosas gracias a
la herramienta que nos ofrece matlab.
A las señales que les hicimos los análisis , pudimos sacar las grafica de cada una de
ellas para que después podamos muestrearlas, podemos muestrearlas con varios
valores pero podemos tener un cierto error.
Con las señales muestreadas, podemos ver si tiene alguna interrupción en su forma,
y así poder filtrarla como los ecos de una radio podemos tomar un eco y aplicarle un
pasa banda y eliminar lo demás que no nos sirve.
La práctica nos ayudo mucho a ver como muestrear las señales poder darles unos
intervalos y trabajar sobre ellos, es así que podemos desarrollar mas cosas gracias a
la herramienta que nos ofrece matlab.