Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
MAESTRÍA EN TELECOMUNICACIONES
PROCESAMIENTO DIGITAL DE SEÑALES
INFORME TAREA N° 01
Realizado por:
o Aldeinda Pérez
Resultados obtenidos
Señales Discretas
5
2
x[n]
-1
-2
-3 -2 -1 0 1 2 3
n
2
w[n]
-2
-4
-6
-3 -2 -1 0 1 2 3
n
(2)
Modelando las ecuaciones (1) y (2) para ambas señales se obtienen los
siguientes resultados
Señales discretas de entrada x(n) y w(n)
2
2
1.5
0
x[n]
-2
0.5
0 -4
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
n n
6 4
4 2
w[n]
2 0
0 -2
-2 -4
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
n n
2
2
1.5
0
x[n]
-2
0.5
0 -4
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
n n
6 4
4 2
w[n]
2 0
0 -2
-2 -4
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
n n
Código generado en Matlab para P1
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Realizado por:
%Aldeinda Perez
%Procesamiento digital de senales / Maestria en Telecomunicaciones
%Tarea 01
%P1: Dadas las senales x y w determinar la parte par e impar de las
secuencias
clear;clc;
n= -3:3;
x=[3,-2,0,1,4,5,2];
w=[-5,4,3,6,-5,0,1];
figure;
subplot(2,1,1);
stem(n,x,'r');
title('Señales Discretas');
ylabel('x[n]');
xlabel('n');
subplot(2,1,2);
stem(n,w,'b');
ylabel('w[n]');
xlabel('n');
figure;
subplot(2,2,1);
stem(n,xp, 'r');
ylabel('x[n]');
xlabel('n');
set(gca,'xtick',n);
title('Parte Par');
subplot(2,2,2);
stem(n,xi, 'r');
xlabel('n');
set(gca,'xtick',n);
title('Parte Impar');
subplot(2,2,3);
stem(n,wp, 'b');
ylabel('w[n]');
xlabel('n');
set(gca,'xtick',n);
subplot(2,2,4);
stem(n,wi, 'b');
xlabel('n');
set(gca,'xtick',n);
PARTE 2. Una señal discreta x(n) es definida como:
Determinar:
Señal Original
0.9
0.8
0.7
0.6
0.5
x[n]
0.4
0.3
0.2
0.1
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
Las partes a) y b) comparadas con la señal original
0.5
x[n]
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
0.8
0.6
x[n]
0.4
0.2
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
Senal X[-n+4]
0
-0.5
x[-n+4]
-1
-1.5
-2
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
d) Bosquejo de la señal x(-2n-4) comparada con la señal original
Señal Discreta Original x[n]
1
0.8
0.6
x[n]
0.4
0.2
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
Senal X[-2n-4]
2
1.5
x[-2n-4]
0.5
0
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
n
%%%%%%%%%%%%%%%%%%%%%%%%%%
%Realizado por:
%Aldeinda Perez
%Procesamiento digital de senales / Maestria en Telecomunicaciones
%Tarea 01
%P2: Disenar la senal discreta indicada y determinar sus valores
%resultantes para los siguientes casos:
%a. Primero duplica x(n) y luego retardar la señal resultante por cuatro
muestras
%b. Primero retarde x(n) por cuatro muestras y luego duplique la señal
resultante
%c. Bosqueje la señal x(-n+4) y compárela con los resultados previos
%d. Bosqueje la señal x(-2n-4) y compárela con los resultados previos
xdoble=2*x;
subplot(4,1,2);
stem(n,xdoble,'b','filled');
title('Señal duplicada 2*x[n]');
ylabel('2x[n]');
xlabel('n');
set(gca,'xtick',n);
grid;
i=a(1);
j=length(b);
k = n1-i-j+1;
retardo = 4;
l = i-1 + retardo;
f = n1-(l+j);
z1 = zeros(1,l);
z2 = zeros(1,f);
xc = horzcat(z1,b);
xd = horzcat(xc,z2);
i=c(1);
j=length(d);
k = n2-i-j+1;
retardo = 4;
l = i-1 + retardo;
f = n2-(l+j);
z3 = zeros(1,l);
z4 = zeros(1,f);
xe = horzcat(z1,b);
xf = horzcat(xe,z2);
xg = 2*xf;
i=c(1);
j=length(d);
k = n2-i-j+1;
retardo = 4;
l = i-1 + retardo;
f = n2-(l+j);
z3 = zeros(1,l);
z4 = zeros(1,f);
xe = horzcat(z1,b);
xh = horzcat(xe,z2);
figure (4);
subplot(2,1,1);
stem(n,x,'r','filled');
title('Señal Discreta Original x[n]');
ylabel('x[n]');
xlabel('n');
set(gca,'xtick',n);
grid;
subplot(2,1,2);
stem(n,xh,'b','filled');
title('Senal X[-2n-4]');
ylabel('x[-2n-4]');
xlabel('n');
set(gca,'xtick',n);
grid;
hold off;
2
x[n1]
-1
-2
1 2 3 4 5 6 7
n1
2
w[n2]
-2
-4
-6
1 2 3 4 5 6 7
n2
Adición y Multiplicación
Adicion X(n1)+W(n2)
8
4
Suma
-2
1 2 3 4 5 6 7
n1
Producto X(n1)+W(n2)
10
0
Producto
-5
-10
-15
-20
1 2 3 4 5 6 7
n2
Caso 2: x[n] > w[n]
4
x[n1]
-2
1 2 3 4 5 6 7 8 9
n1
2
w[n2]
-2
-4
-6
1 2 3 4 5 6 7 8 9
n2
Adición y Multiplicación
Adicion X(n1)+W(n2)
10
5
Suma
-5
-10
1 2 3 4 5 6 7 8 9
n1
Producto X(n1)+W(n2)
15
10
5
Producto
-5
-10
1 2 3 4 5 6 7 8 9
n2
2
x[n1]
-1
-2
1 2 3 4 5 6 7 8 9 10 11
n1
10
5
w[n2]
-5
-10
1 2 3 4 5 6 7 8 9 10 11
n2
Adición y Multiplicación
Adicion X(n1)+W(n2)
10
0
Suma
-5
-10
-15
1 2 3 4 5 6 7 8 9 10 11
n1
Producto X(n1)+W(n2)
20
10
Producto
-10
-20
1 2 3 4 5 6 7 8 9 10 11
n2
Producto = {1,18, -15, -8, 0, 6, -20, 0, 0, 0, 0, 0}
Adición = { -11, -2, 2, 3, 7, -1, 5, 1, 6, 8, 1}
%Realizado por:
%Aldeinda Perez
%Procesamiento digital de senales / Maestria en Telecomunicaciones
%Tarea 01
%P3: Dadas dos secuencias x(n) y w(n) determinar la adicion y la
%multiplicacion considerando que tengan diferentes longitudes
clear
disp ( 'Maestria en Telecomunicaciones ' )
disp ( 'INGRESE EL TAMAÑO DE LA SECUENCIA A :' )
n1=input('=> ' );
for i = 1:n1;
disp ( 'INGRESE LOS ELEMENTOS DEL ARREGLO A :' )
x(i) = input('=> ' );
end
disp ( 'INGRESE EL TAMAÑO DE LA SECUENCIA B :' )
n2=input('=> ' );
for j = 1:n2;
disp ( 'INGRESE LOS ELEMENTOS DEL ARREGLO B :' )
w(j) = input('=> ' );
end
if n1 == n2
sumaC = x+w;
productoC = x.*w;
end
if n1 < n2
d = n2 - n1;
a = zeros(1,d);
x = horzcat(x,a);
sumaC = x+w;
productoC = x.*w;
end
if n2 < n1
d = n1 - n2;
a = zeros(1,d);
w = horzcat(w,a);
sumaC = x+w;
productoC = x.*w;
end
figure;
subplot(2,1,1);
n1 = -n1:n1;
stem(x,'r');
title('Señales X(n1) y W(n2)');
ylabel('x[n1]');
xlabel('n1');
subplot(2,1,2);
stem(w,'b');
ylabel('w[n2]');
xlabel('n2');
figure;
subplot(2,1,1);
n1 = -(n1+n2):(n1+n2);
stem(sumaC, 'r');
title('Adicion X(n1)+W(n2)');
ylabel('Suma');
xlabel('n1');
%set(gca,'xtick',n1);
subplot(2,1,2);
n2 = -(n1*n2):(n1*n2);
stem(productoC, 'r');
title('Producto X(n1)+W(n2)');
ylabel('Producto');
xlabel('n2');
%set(gca,'xtick',n2);
Resultados obtenidos
Secuencia X1 con Numeros Imaginarios
3
-1
imaginario
-2
-3
-4
-5
-6
-8 -6 -4 -2 0 2 4 6 8
real
2
imaginario
-2
-4
-6
-8
-8 -6 -4 -2 0 2 4 6 8 10
real
Suma y multiplicación de las secuencias {x1(n), x2(n)}
2
imaginario
-2
-4
-6
-8
-15 -10 -5 0 5 10 15 20
real
20
10
0
imaginario
-10
-20
-30
-40
-30 -20 -10 0 10 20 30 40 50 60 70
real
Código generado en Matlab para P4
%%%%%%%%%%%%%%%%%%%%%%%%%%
%Realizado por:
%Aldeinda Perez
%Procesamiento digital de senales / Maestria en Telecomunicaciones
%Tarea 01
%P4: Dadas dos secuencias x1(n1) y x2(n2)
%x1[n1] = {1 - j; 0; -2 - 5j; 4 + 3j; 5 - 6j; 5 - j; -7 - 2j; 7}
%x2[n2] = {4 - 7j; 2; 8 - 2j; 2j; 1 - j; 0; -5 - 2j; 9 + j; 4 + 4j; 5 -
j; -8 - 4j; 1 + 7j}
%Implementar una funcion en matlab para calcular x1[n1] + x2[n2] y
x1[n1]*x2[n2]
clear;clc;
n=12;
a1=1-1j;
a2=0+0j;
a3=-2-5j;
a4=4+3j;
a5=5-6j;
a6=5-1j;
a7=-7-2j;
a8=7+0j;
a9=0+0j;
a10=0+0j;
a11=0+0j;
a12=0+0j;
x1 = [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12];
b1=4-7j;
b2=2+0j;
b3=8-2j;
b4=0+2j;
b5=1-1j;
b6=0+0j;
b7=-5-2j;
b8=9+1j;
b9=4+4j;
b10=5-1j;
b11=-8-4j;
b12=1+7j;
x2 = [b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12];
Adicion = x1 + x2;
Producto = x1.*x2;
for i=1:n
a(i)=real(x1(i));
b(i)=imag(x1(i));
end
for i=1:n
c(i)=real(x2(i));
d(i)=imag(x2(i));
end
for i=1:n
e(i)=real(Adicion(i));
f(i)=imag(Adicion(i));
end
for i=1:n
g(i)=real(Producto(i));
h(i)=imag(Producto(i));
end
figure (1)
stem(a,b,'r')
xlabel('real')
ylabel('imaginario')
title('Secuencia X1 con Numeros Imaginarios')
grid on
figure (2)
stem(c,d,'r')
xlabel('real')
ylabel('imaginario')
title('Secuencia X2 con Numeros Imaginarios')
grid on
figure (3)
stem(e,f,'r')
xlabel('real')
ylabel('imaginario')
title('Secuencia Adicion con Numeros Imaginarios')
grid on
figure (4)
stem(g,h,'r')
xlabel('real')
ylabel('imaginario')
title('Secuencia Producto con Numeros Imaginarios')
grid on
PARTE 5: Implemente funciones en MATLAB para extraer la conjugada
simétrica y asimétrica de una secuencia. Considerando casos generales
cuando la función tiene diferentes longitudes o las posiciones de las muestras
tienen diferentes posiciones. Utilice la función implementada para expresar
x1[n] y x2[n] en términos de las conjugadas simétricas y asimétricas
2
x[n]
-2
1 2 3 4 5 6 7
n
2
x[n]
0
1 2 3 4 5 6 7
n
0
x[n]
-2
-4
1 2 3 4 5 6 7
n
4
w[n]
-2
1 2 3 4 5 6 7
n
4
w[n]
-2
1 2 3 4 5 6 7
n
2
w[n]
-2
-4
1 2 3 4 5 6 7
n
wp = { -2 2 -1 6 -1 2 -2}
wi = { -3 2 4 0 -4 -2 3}
Caso 2: x[n] > w[n]
5
x[n]
-5
1 2 3 4 5 6 7 8 9
n
2
x[n]
0
1 2 3 4 5 6 7 8 9
n
0
x[n]
-5
1 2 3 4 5 6 7 8 9
n
5
w[n]
-5
1 2 3 4 5 6 7 8 9
n
-5
1 2 3 4 5 6 7 8 9
n
2
w[n]
-2
-4
1 2 3 4 5 6 7 8 9
n
2
x[n]
-2
1 2 3 4 5 6 7 8 9 10 11
n
2
x[n]
-2
1 2 3 4 5 6 7 8 9 10 11
n
0
x[n]
-1
-2
1 2 3 4 5 6 7 8 9 10 11
n
4
w[n]
-2
1 2 3 4 5 6 7 8 9 10 11
n
-5
1 2 3 4 5 6 7 8 9 10 11
n
5
w[n]
-5
-10
1 2 3 4 5 6 7 8 9 10 11
n
wp = { -4.0 1.5 5.0 2.0 3.0 -5.0 3.0 2.0 5.0 1.5 -4.0}
wi = { -5.0 -6.5 -1.0 1.0 3.0 -3.0 -1.0 1.0 6.5 5.0}
clear
disp ( 'Maestria en Telecomunicaciones ' )
disp ( 'INGRESE EL TAMAÑO DE LA SECUENCIA A :' )
n1=input('=> ' );
for i = 1:n1;
disp ( 'INGRESE LOS ELEMENTOS DEL ARREGLO A :' )
x(i) = input('=> ' );
end
disp ( 'INGRESE EL TAMAÑO DE LA SECUENCIA B :' )
n2=input('=> ' );
for j = 1:n2;
disp ( 'INGRESE LOS ELEMENTOS DEL ARREGLO B :' )
w(j) = input('=> ' );
end
if n1 == n2
xp= 0.5*(x+fliplr(x)); %Formula de la conjugada simetrica
xi= 0.5*(x-fliplr(x)); %Formula de la conjugada asimetrica
wp= 0.5*(w+fliplr(w));
wi= 0.5*(w-fliplr(w));
end
if n1 < n2
d = n2 - n1;
a = zeros(1,d);
x = horzcat(x,a);
xp= 0.5*(x+fliplr(x)); %Formula de la conjugada simetrica
xi= 0.5*(x-fliplr(x)); %Formula de la conjugada asimetrica
wp= 0.5*(w+fliplr(w));
wi= 0.5*(w-fliplr(w));
end
if n2 < n1
d = n1 - n2;
a = zeros(1,d);
w = horzcat(w,a);
xp= 0.5*(x+fliplr(x)); %Formula de la conjugada simetrica
xi= 0.5*(x-fliplr(x)); %Formula de la conjugada asimetrica
wp= 0.5*(w+fliplr(w));
wi= 0.5*(w-fliplr(w));
end
figure (1)
subplot(3,1,1);
n7=length(x);
n7 = -n7:n7;
stem(x, 'b');
ylabel('x[n]');
xlabel('n');
set(gca,'xtick',n7);
title('Señal x(n) Original');
grid on
subplot(3,1,2);
n3=length(xp);
n3 = -n3:n3;
stem(xp, 'r');
ylabel('x[n]');
xlabel('n');
set(gca,'xtick',n3);
title('Conjugada Simétrica de x(n)');
grid on
subplot(3,1,3);
n4 = length(xi);
n4 = -n4:n4;
stem(xi, 'c');
ylabel('x[n]');
xlabel('n');
set(gca,'xtick',n4);
title('Conjugada Asimétrica de x(n)');
grid on
figure (2)
subplot(3,1,1);
n8=length(w);
n8 = -n8:n8;
stem(x, 'b');
ylabel('w[n]');
xlabel('n');
set(gca,'xtick',n8);
title('Señal w(n) Original');
grid on
subplot(3,1,2);
n5 = length(wp);
n5 = -n5:n5;
stem(wp,'r');
ylabel('w[n]');
xlabel('n');
set(gca,'xtick',n5);
title('Conjugada Simétrica de w(n)');
grid on
subplot(3,1,3);
n6 = length(wi);
n6 = -n6:n6;
stem(wi,'c');
ylabel('w[n]');
xlabel('n');
set(gca,'xtick',n6);
title('Conjugada Asimétrica de w(n)');
grid on
0
x(t)
-1
-2
-3
-1 0 1 2 3 4 5
time(sec)
Señal x1(t1)=2*exp((t1/6)-pi) - No Periodica
300
250
200
150
100
50
0
0 5 10 15 20 25 30 35 40 45 50
300
250
200
x1(t1)
150
100
50
0
0 5 10 15 20 25 30 35 40 45 50
time(sec)
Señal x2(t2)=cos(t/8)*cos((t*pi)/8 - No periodica
1
0.8
0.6
0.4
x3(t3)
0.2
-0.2
-0.4
-0.6
-1 0 1 2 3 4 5 6
time(sec)
0
x4(t4)
-1
-2
-3
-4
-5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
time(sec)
%Señal a) x=3*cos((5*t)+(pi/6))
t=-1:0.01:5;
x=3*cos((5*t)+(pi/6));
%Fundamental Period T = 2*pi/w
w=5;
T = 2*pi/w;
figure (1)
%subplot(2,1,1)
%stem(t,x)
%ylabel('x(t)')
%grid on
%subplot(2,1,2)
plot(t,x)
title(['Señal x(T)=3*cos((5*t)+(pi/6)) Periodica con T =',num2str(T)])
xlabel('time(sec)')
ylabel('x(t)')
grid on
%Señal b) x=2*exp((t/6)-pi)
t1=0:2.2:50;
x1=2*exp((t1/6)-pi);
%Fundamental Period T = 2*pi/w
w1=1/6;
T1 = 2*pi/w1;
figure (2)
subplot(2,1,1)
stem(t1,x1)
title(['Señal x1(t1)=2*exp((t1/6)-pi) - No Periodica'])
grid on
subplot(2,1,2)
plot(t1,x1)
xlabel('time(sec)');
ylabel('x1(t1)');
grid on
%Señal c) x=cos(t/8)*cos((t*pi)/8)
t3=-1:0.2:6;
x3=0.5*(cos(t3*((1+pi)/8))+cos(t3*((1-pi)/8)));
%Fundamental Period T = 2*pi/w
w3a=1/8;
w3b=pi/8;
T3a = 2*pi/w3a;
T3b = 2*pi/w3b;
%T3c=lcm(T3a,T3b);
figure (3)
plot(t3,x3)
%subplot(2,1,1)
%stem(t3,x3)
title('Señal x2(t2)=cos(t/8)*cos((t*pi)/8 - No periodica ')
%grid on
%subplot(2,1,2)
xlabel('time(sec)')
ylabel('x3(t3)')
grid on
figure (4)
%subplot(2,1,1)
%stem(t4,x4)
%grid on
%subplot(2,1,2)
plot(t4,x4)
title('x4(t4) = cos(n*pi/2) - sin((pi*n)/8) + 3*cos((pi*n)/4 + pi/3) - No
Periodica')
xlabel('time(sec)');
ylabel('x4(t4)');
grid on
PARTE 7:
Para resolver este problema se requiere aplicar el Teorema del Muestreo
1 𝐹𝐹𝑖𝑖 1
− ≤ 𝑓𝑓𝑖𝑖 = ≤ (e2)
2 𝐹𝐹𝑠𝑠 2
O en radianes
−π ≤ 𝑤𝑤𝑖𝑖 = 2π𝑓𝑓𝑖𝑖 ≤ π
𝐹𝐹𝑆𝑆
F del doblez 𝐹𝐹𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = (e3)
2
Solución:
Parte a)
Aplicando e3
𝐹𝐹𝑆𝑆 8
𝐹𝐹𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = = = 4𝑘𝑘𝑘𝑘𝑘𝑘
2 2
Luego aplicamos e1
8 > 2 ∗ 5 = 10
8<10 Ocurre escalonamiento
Aplicando e4:
Parte c)
Aplicando e3
𝐹𝐹𝑆𝑆 8
𝐹𝐹𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = = = 4𝑘𝑘𝑘𝑘𝑘𝑘
2 2
Luego aplicamos e1
8 > 2 ∗ 9 = 18
8<18 Ocurre escalonamiento
Aplicando e4:
𝐹𝐹𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 = 𝐹𝐹𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 − 𝐾𝐾𝐹𝐹𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 9 − (2) ∗ 4 = 1𝑘𝑘𝑘𝑘𝑘𝑘
PARTE 8:
𝑥𝑥𝑚𝑚𝑚𝑚𝑚𝑚 − 𝑥𝑥𝑚𝑚𝑚𝑚𝑚𝑚 1 1
∆= = 8 =
𝐿𝐿 − 1 2 − 1 255
20
𝐹𝐹𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = = 10𝑘𝑘𝑘𝑘𝑘𝑘
2
REFERENCIAS
Proakis, J., Manolakis, D. (2002). Digital Signal Processing. Prentice Hall. New
Jersey- EEUU.