Está en la página 1de 9

PDS FIEE UNI

PROBLEMA 1

Se tiene un sistema lineal por lo tanto cumple el principio de superposicin (escalamiento


y aditividad); es decir, si se expresa x3[n] como:

X3[n] = X1[n] -2X2[n] Y3[n] = Y1[n] 2Y2[n]

Con lo cual se pasa a utilizar MATLAB:

clc; clear all; close all;


n = -5:5;
%.definicin de x[n]
x1 = n.*(n==1) + n.*(n==2) + (n-2).*(n==3);
x2 = 0.5*n.*(n==1) + (n-1).*(n==2);
x3 = x1 - 2*x2;
%.definicin de y[n]
y1 = n.*(n==1) + (n-1).*(n==2) + (n-4).*(n==3) + (n-5).*(n==4);
y2 = 0.5*n.*(n==1) + 0.5*(n-1).*(n==2) + (n-4).*(n==3);
y3 = y1 - 2*y2;
subplot(2,3,1)
stem(n,x1,'b.','MarkerSize',17)
title('x1[n]','fontsize',16)
axis([-5 5 0 2])
subplot(2,3,2)
stem(n,x2,'b.','MarkerSize',17)
title('x2[n]','fontsize',16)
axis([-5 5 0 2])
subplot(2,3,3)
stem(n,x3,'b.','MarkerSize',17)
title('x3[n]=x1[n]-2x2[n]','fontsize',16)
axis([-5 5 0 2])
subplot(2,3,4)
stem(n,y1,'b.','MarkerSize',17)
title('y1[n]','fontsize',16)
axis([-5 5 -2 2])
subplot(2,3,5)
stem(n,y2,'b.','MarkerSize',17)
title('y2[n]','fontsize',16)
axis([-5 5 -2 2])
subplot(2,3,6)
stem(n,y3,'b.','MarkerSize',17)
title('y3[n]=y1[n]-2y2[n]','fontsize',16)
axis([-5 5 -2 2])
Se obtiene X3[n] = [n - 3] - [n - 4]
PROBLEMA 2

Dado que es un sistema invariante en el tiempo se tiene que cuando:

X2[n] = X[n n0] Y2[n] = Y[n n0]


Pero del grfico se observa:

X2[n] = X1[n - 2] Y2[n] = Y1[n - 2]

Con lo cual se pasa a utilizar MATLAB:

clc; clear all; close all;


n = -5:5;
%.Definicion de x
x1 = (n-1).*(n==2);
x2 = (n+1).*(n==0);
%.Definicion de y
y1 = 0.5*n.*(n==1) + (n-1).*(n==2);
y2 = 0.5*(n+2).*(n==-1) + (n+1).*(n==0);
subplot(2,2,1)
stem(n,x1,'b.','MarkerSize',17)
title('x1[n]=x2[n-2]','fontsize',16)
axis([-5 5 0 2])
subplot(2,2,2)
stem(n,x2,'b.','MarkerSize',17)
title('x2[n]','fontsize',16)
axis([-5 5 0 2])
subplot(2,2,3)
stem(n,y1,'b.','MarkerSize',17)
title('y1[n]=y2[n-2]','fontsize',16)
axis([-5 5 0 2])
subplot(2,2,4)
stem(n,y2,'b.','MarkerSize',17)
title('y2[n]','fontsize',16)
axis([-5 5 0 2])
Se obtiene y2[n] = [n ] + 0.5*[n + 1]
PROBLEMA 6

A partir de la ecuacin en diferencias de la reverberacin:

y[n] = x[n] + ay[n-D]; D=t*fs

Se obtiene su transformada Zeta como:

a) Se nota mnima diferencia para fs1=7kHz ya que se acerca a la fs original=8kHz;


Para el caso de fs2, se distingue las palabras pero con dificultad.

[voicedata,fs]=wavread('Voice.wav');
fs1=7000;
fs2=4000;
%reproduccion a 7kHz
soundsc(voicedata,fs1)
%reproduccion a 4kHz
soundsc(voicedata,fs2)

b) La calidad de audio varia muy poco, se escucha un reverberacin corta.

[voicedata,fs]=wavread('Voice.wav');
t1=0.05; D1=t1*fs; a=0.7;
%Para t=50ms
yrev1=filter(1,[1 zeros(1,D1-1) -a],voicedata);
soundsc(yrev1,fs);

c) Se escucha una reverberacin de duracin mayor que la anterior a t=50ms

[voicedata,fs]=wavread('Voice.wav');
t2=0.1; D2=t2*fs; a=0.7;
%Para t=100ms
yrev2=filter(1,[1 zeros(1,D2-1) -a],voicedata);
soundsc(yrev2,fs);

d) Se escucha una reverberacin ms larga que las dos anteriores


[voicedata,fs]=wavread('Voice.wav');
t3=0.5; D3=t3*fs; a=0.7;
%Para t=500ms
yrev3=filter(1,[1 zeros(1,D3-1) -a],voicedata);
soundsc(yrev3,fs);

e) Para un t=500ms la voz suena ms natural


PROBLEMA 7

clear all;clc;close all;


b=[0.18 0.1 0.3 0.1 0.18];
a=[1 -1.15 1.5 -0.7 0.25];
n=0:100;
nconv=0:200;
u=ones(1,101);
h=impz(b,a,n);
yf=filter(b,a,u);
yconv=conv(h,u);
yd=filter(h,1,u);
subplot(2,2,1)
stem(n,h)
title('Respuesta al impulso h')
subplot(2,2,2)
stem(n,yf)
title('Respuesta al escalon filter(b,a,x)')
subplot(2,2,3)
stem(nconv,yconv)
title('conv(h,x)')
subplot(2,2,4)
stem(n,yd)
title('filter(h,1,x)')

Observaciones:

a) Tanto filter(b,a,x) como filter(h,1,x) son iguales puesto que la respuesta al impulso
h describe al sistema (b,a) y ante el escaln se obtiene la misma salida
b) Filter(h,i,x) no considera las condiciones iniciales, si se introduce las condiciones
iniciales, h seria distinto y se observara un transitorio al inicio de h.
PROBLEMA 8:

OPERADOR SOBEL

Usado para la deteccin de bordes, son operadores direccionales que solo detectar
aquellos bordes perpendiculares a la direccin del filtro:

Sobel en x Sobel en y

-1 0 1 -1 -2 -1
-2 0 2 0 0 0
-1 0 1 1 2 1

Del problema se define hx = h1; hy = h2 con lo cual se procede a usar MATLAB:

clc; clear all;


%.Lectura de la imagen ubicada en el path de Matlab
imdata = imread('Lenna.png');
%.Conversion a escala de grises para apreciar mejor el efecto
imdatabw = rgb2gray(imdata);
%.Sobel hx & hy
hx = [1 0 -1; 2 0 -2; 1 0 -1];
hy = hx';
%.Filtrado con hx
Lennax = filter2(hx,imdatabw);
%.Filtrado con hy
Lennay = filter2(hy,imdatabw);
%.Filtrado en XY
Lennaxy = Lennax + Lennay;
%.Muestra del efecto Sobel con hx
figure(1)
subplot(1,2,1)
imshow(imdatabw)
title('Lenna Escala de Grises','fontsize',16)
xlabel('Presencia de bordes Horizontales','fontsize',16)
subplot(1,2,2)
imshow(Lennax)
title('Lenna Filtrado con h1','fontsize',16)
xlabel('Ausencia de bordes Horizontales','fontsize',16)
%.Muestra del efecto Sobel con hy
figure(2)
subplot(1,2,1)
imshow(imdatabw)
title('Lenna Escala de Grises','fontsize',16)
xlabel('Presencia de bordes Verticales','fontsize',16)
subplot(1,2,2)
imshow(Lennay)
title('Lenna Filtrado con h2','fontsize',16)
xlabel('Ausencia de bordes Verticales','fontsize',16)
%.Efecto Sobel en XY
figure(3)
subplot(1,2,1)
imshow(imdatabw)
title('Lenna Escala de Grises','fontsize',16)
xlabel('Bordes Verticales y Horizontales','fontsize',16)
subplot(1,2,2)
imshow(Lennaxy)
title('Lenna Filtrado en XY','fontsize',16)
xlabel('Bordes Verticales y Horizontales','fontsize',16)

a) Resultado de aplicar h1:

Se observa que los bordes horizontales como en el labio y hombro desaparecen


respecto a la imagen original; es decir, solo detecta los bordes con componente
vertical cuya direccin es perpendicular a la direccin del filtro: h1 = hx

Para una mejor apreciacin se puede acceder al archivo Sobel_Lenna.m


b) Resultado de aplicar h2:

Se observa que los bordes verticales como en el fondo y el cabello desaparecen


respecto a la imagen original; es decir, solo detecta los bordes con componente
horizontal cuya direccin es perpendicular a la direccin del filtro: h2 = hy

Para una mejor apreciacin se puede acceder al archivo Sobel_Lenna.m

c) Finalmente, se muestra el filtrado total que detecta todos los bordes:

También podría gustarte