PROCESAMIENTO DE DATOS DIGITALES
LABORATORIO Nº3
PROFESOR DEL CURSO A CARGO
JIMENEZ TINTAYA CESAR
ESTUDIANTE
TURIN ROBLES JEAN DEYBY (14130104)
ESCUELA ACADEMICA-PROFESIONAL
FISICA
SEMESTRE
2019-II
Lunes 14 de octubre del 2019
Antes de iniciar debemos tener las siguientes funciones guardadas en la
dirección de trabajo:
Impulso unitario: d.m
function d=d(t)
d=0.*(t<-eps)+1.*(t>-eps&t<eps)+0.*(t>eps);
end
Escalón unitario: u.m
function u=u(t)
u=1.*(t>=0);
end
1. Sea: x(n)=δ(n)+2δ(n-1)-δ(n-3) y h(n)=2δ(n+1) +2δ(n-1)
Calcule y haga la gráfica de cada una de las siguientes convoluciones
(usar el comando “stem” en Matlab):
a. y1(n)=x(n)*h(n)
t=-[Link];
xt=d(t)+2*d(t-1)-d(t-3);
ht=2*d(t+1) + 2*d(t-1);
y1=conv(xt,ht);
stem(y1), grid on
b. y2(n) = x(n+2)*h(n)
t=-[Link];
xt=d(t+2)+2*d(t+1)-d(t-1);
ht=2*d(t+1) + 2*d(t-1);
y2=conv(xt,ht);
stem(y2), grid on
c. y3(n) = x(n)*h(n+2)
t=-[Link];
xt=d(t)+2*d(t-1)-d(t-3);
ht=2*d(t+3) + 2*d(t+1);
y3=conv(xt,ht);
stem(y3), grid on
2. Calcular la convolución entre el siguiente par de señales:
a) 𝑥(𝑛) = (0.5)𝑛 𝑢(𝑛 − 4) ℎ(𝑛) = 4𝑛 𝑢(2 − 𝑛)
t=[Link];
xt=((0.5).^(t)).*u(t-4);
ht=(4.^(t)).*u(2-t);
c1=conv(xt,ht);
stem(c1), grid on
b) 𝑥(𝑛) = 𝑢(−𝑛) − 𝑢(−𝑛 − 2) ℎ(𝑛) = 𝑢(𝑛 − 1) − 𝑢(𝑛 − 4)
t=-[Link];
xt=u(-t)-u(-t-2);
ht=u(t-1)-u(t-4);
c2=conv(xt,ht);
stem(c2), grid on
c) 𝑥(𝑛) = 𝑢(𝑛) ℎ(𝑛) = (0.5)−𝑛 𝑢(−𝑛)
t=-[Link];
xt=u(t);
ht=((0.5).^(-t)).*u(-t);
c3=conv(xt,ht);
stem(c3), grid on
d) 𝑥(𝑡) = 𝑒 −𝑎𝑡 𝑢(𝑡) ℎ(𝑡) = 𝑒 −𝑎𝑡 𝑢(𝑡)
t=0:0.05:1;
xt=(exp(-2*t)).*(u(t));
ht=(exp(-2*t)).*(u(t));
c4=conv(xt,ht);
plot(c4), grid on
3.
a. Escribir la ecuación en diferencias que relaciona la entrada con la
salida para el sistema de la figura mostrada, donde:
h_1 (n)=βδ(n-1)
h_2 (n)=e^α δ(n)
[𝑥(𝑛) + 𝑥(𝑛) ∗ ℎ1 (𝑛)] ∗ ℎ2 (𝑛) = 𝑦(𝑛)
[𝑥(𝑛) + 𝑥(𝑛) ∗ 𝛽𝛿(𝑛 − 1)] ∗ 𝑒 𝛼 𝛿(𝑛) = 𝑦(𝑛)
[𝑥(𝑛) + 𝛽𝑥(𝑛 − 1)] ∗ 𝑒 𝛼 𝛿(𝑛) = 𝑦(𝑛)
𝑥(𝑛) ∗ 𝑒 𝛼 𝛿(𝑛) + 𝛽𝑥(𝑛 − 1) ∗ 𝑒 𝛼 𝛿(𝑛) = 𝑦(𝑛)
𝑒 𝛼 𝑥(𝑛) + 𝛽𝑒 𝛼 𝑥(𝑛 − 1) = 𝑦(𝑛)
𝑒 𝛼 [𝑥(𝑛) + 𝛽𝑥(𝑛 − 1)] = 𝑦(𝑛)
b. Hallar α y β, de tal forma que la salida sea el promedio entre la
entrada en el instante n y la entrada en el instante n-1.
Aquí nos piden que:
1
[𝑥(𝑛) + 𝑥(𝑛 − 1)] = 𝑦(𝑛)
2
Teniendo:
𝑒 𝛼 [𝑥(𝑛) + 𝛽𝑥(𝑛 − 1)] = 𝑦(𝑛)
Entonces:
1
[𝑥(𝑛) + 𝑥(𝑛 − 1)] = 𝑒 𝛼 [𝑥(𝑛) + 𝛽𝑥(𝑛 − 1)] = 𝑦(𝑛)
2
Por lo que nos queda:
1
𝑒𝛼 = 2 y 𝛽 = 1
Quedando finalmente:
𝛼 = −0.693
𝛽=1
4. Dada la siguiente ecuación en diferencias: y(n) =-ay(n-1) + bx(n) +
cx(n-1), realizar una representación en diagrama de bloques.
𝑦(𝑛) = −𝑎𝑦(𝑛 − 1) + 𝑏𝑥(𝑛) + 𝑐𝑥(𝑛 − 1)
Donde:
- Amplificadores: a, b y c
- Retardo: D
5. Realizar en Matlab la convolución del siguiente par de señales:
𝑥(𝑛) = (−1)𝑛 (𝑢(𝑛) − 𝑢(−𝑛 − 8))
ℎ(𝑛) = 𝑢(𝑛) − 𝑢(𝑛 − 8)
Graficar la señal resultante: y(n)=〖x(n)〗^* h(n). Usar el comando
“stem” en Matlab.
t=[Link];
xt=((-1).^(t)).*(u(t)-u(-t-8));
ht=u(t)-u(t-8);
y=conv(xt,ht);
stem(y), grid on
6. Considere un sistema lineal e invariante en el tiempo, casual, cuya
entrada x(n) y salida y(n) están relacionadas por la ecuación de
diferencias:
𝑦(𝑛) = 0.25𝑦(𝑛 − 1) + 𝑥(𝑛)
Determine en forma analítica (mediante el método de recurrencia)
y(n) si x(n) =δ(n-1).
Grafique en Matlab la salida y(n), use el comando “stem”.
La ecuación tiene la forma:
𝑦(𝑛) = 0.25𝑦(𝑛 − 1) + 𝛿(𝑛 − 1)
Por dato:
𝑌(0) = 0
1
𝑌(1) = 𝑦(0) + 𝛿(0) → 𝑦(1) = 1
4
1 1
𝑌(2) = 𝑦(1) + 𝛿(1) → 𝑦(1) =
4 4
1 1 2
𝑌(3) = 𝑦(2) + 𝛿(2) → 𝑦(1) = ( )
4 4
1 1 3
𝑌(4) = 𝑦(3) + 𝛿(3) → 𝑦(2) = ( )
4 4
Donde obtenemos:
1 (𝑛−1)
𝑦(𝑛) = ( ) 𝑢(𝑛 − 1)
4
Usando la transformada de Fourier discreta:
t=[Link];
xt=d(t-1);
ht=((0.25).^(t-1)).*u(t-1);
y=conv(xt,ht);
stem(y), grid on
7. Considere los siguientes puntos:
t= [0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y= [0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
a) Haga una gráfica de la curva t vs y.
t= [0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y= [0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
plot(t,y,'o')
b) Haga una interpolación polinomial cúbica para una frecuencia
de muestreo Fs=10Hz. Grafique.
t=[0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y=[0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
Fs=10;
ti=0:1/Fs:3.5*pi;
y1=interp1(t,y,ti,'pchip');
plot(ti,y1,'r')
c) Haga una interpolación por splines para una frecuencia de
muestreo Fs=10Hz. Grafique.
t=[0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y=[0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
Fs=10;
ti=0:1/Fs:3.5*pi;
y2=interp1(t,y,ti,'spline');
plot(ti,y2,'b')
d) Grafique la función senoidal para una frecuencia de muestreo
Fs=10Hz. Grafique.
t=[0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y=[0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
Fs=10;
ti=0:1/Fs:3.5*pi;
y3=sin(ti);
plot(ti,y3,'k'), grid on
e) Grafique (b), (c) y (e) en una misma ventana.
t=[0 1.5708 3.1416 4.7124 6.2832 7.8540 9.4248 10.9956];
y=[0 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000];
Fs=10;
ti=0:1/Fs:3.5*pi;
y1=interp1(t,y,ti,'pchip');
hold on
plot(ti,y1,'r')
y2=interp1(t,y,ti,'spline');
hold on
plot(ti,y2,'b')
y3=sin(ti);
hold on
plot(ti,y3,'k'), grid on, zoom xon
Rojo=interpolación pchip(cubic)
Azul=interpolación spline
Negro=función seno
f) ¿Qué tipo de interpolación le parece mejor?
La interpolación cubic (pchip) tiene una forma más recta es decir no muy
precisa en la forma del seno, pero siempre está en dentro del rango de la
función seno, por otro lado, la interpolación splines tiene una forma más
acorde a la función seno, pero en la primera parte de la función sale del rango
en el que se encuentra.