You are on page 1of 3

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS LABORATORIO DE

INTRODUCCIÓN A LAS

FACULTA DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA


TELECOMUNICACIONES

GUÍA 4
DISEÑO DE FILTROS Y ECUALIZADOR DIGITAL

I. OBJETIVO
Diseñar filtros de respuesta en frecuencia de audio y determinar sus características en
el dominio del tiempo y de la frecuencia. Asimismo, diseñar ecualizadores digitales de
audio frecuencia usando MATLAB.

II. PROCEDIMIENTO

1. Diseñe un ecualizador digital usando el comando ELLIP y grafique la señal resultante en el


dominio del tiempo y su respectiva transformada de Fourier.

Fs=8000;
t=(1:8000)/Fs;
f1=sin(2*pi*t*500); f2=sin(2*pi*t*1500); f3=sin(2*pi*t*3000);
f4=sin(2*pi*t*4000);
s=f1+f2+f3+f4;
figure(1)
plot(t,s)
axis([0 0.01 -4 4]);
[b,a]=ellip(4,0.1,40,[100 1000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(2)
plot(w*Fs/(2*pi),abs(H));
sf1=filter(b,a,s);
figure(3)
plot(t,sf1);
xlabel('tiempo(seg)');ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S1=fft(s,513);
SF1=fft(sf1,513);
w=(0:255)/256*(Fs/2);
figure(4)
plot(w,abs(S1(1:256)),w,abs(SF1(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
%
[b,a]=ellip(4,0.1,40,[1000 2000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(5)
plot(w*Fs/(2*pi),abs(H));
sf2=filter(b,a,s);
figure(6)
plot(t,sf2);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S2=fft(s,513);
SF2=fft(sf2,513);
w=(0:255)/256*(Fs/2);
figure(7)
plot(w,abs(S2(1:256)),w,abs(SF2(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
[b,a]=ellip(4,0.1,40,[2500 3500]*2/Fs);
[H,w]=freqz(b,a,512);
figure(8)
plot(w*Fs/(2*pi),abs(H));
sf3=filter(b,a,s);
figure(9)
plot(t,sf3);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S3=fft(s,513);
SF3=fft(sf3,513);
w=(0:255)/256*(Fs/2);
figure(10)
plot(w,abs(S3(1:256)),w,abs(SF3(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
%
Fs=10000;
[b,a]=ellip(4,0.1,40,[3500 4000]*2/Fs);
[H,w]=freqz(b,a,512);
figure(11)
plot(w*Fs/(2*pi),abs(H));
sf4=filter(b,a,s);
figure(12)
plot(t,sf4);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S4=fft(s,513);
SF4=fft(sf4,513);
w=(0:255)/256*(Fs/2);
figure(13)
plot(w,abs(S4(1:256)),w,abs(SF4(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
%
zf5=0.8*sf1+0.5*sf2+0.2*sf3+0.4*sf4;
figure(14)
plot(t,zf5);
xlabel('Tiempo (seg)'); ylabel('Forma de onda vs Tiempo')
axis([0 0.01 -4 4]);
S5=fft(s,513);
SF5=fft(zf5,513);
w=(0:255)/256*(Fs/2);
figure(15)
plot(w,abs(S5(1:256)),w,abs(SF5(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
w=(0:255)/256*(Fs/2);
figure(16)
plot(w,abs(S5(1:256))+abs(SF5(1:256)));
xlabel('Frecuencia (Hz)'); ylabel('Mag. de Transf. de Fourier');
%%
%
2. Verificar la respuesta en frecuencia de otros filtros.

% Verificar la respuesta en frecuencia de otros filtros.


%
f=[0 .4 .4 .6 .6 1];
H=[0 0 1 1 0 0 ];
fs=1000;
fhz=f*fs/2;
figure(1)
plot(fhz,H), title('Respuesta en frecuencia deseada');
axis([0,500,0,1.1])
xlabel('Frecuencia (Hz) '),
ylabel('Magnitud')
N=8;
%[b,a] = yulewalk(N,f,H)
[Bh,Ah]=yulewalk(N,f,H)
n=256;
hh=freqz(Bh,Ah,n);
hy=abs(hh);
ff=fs/(2*n)*(0:n-1);
figure(2)
plot(fhz,H,ff,hy)
title('Actual vs Respuesta en frecuencia deseada')
xlabel('Frecuencia (Hz) '),
ylabel('Magnitud')
N=4;passband=[.4 .6];ripple=.1;
[Bb,Ab]=butter(N,passband);
[Bc,Ac]=cheby1(N,ripple,passband);
h=[abs(hh) abs(freqz(Bb,Ab,n)) abs(freqz(Bc,Ac,n))];
figure(3)
plot(ff,h)
title('Filtros Yulewalk, Butterworth y Chebyshev')
figure(4)
plot(ff(2:n),20*log10(h(2:n,:)))
title('Filtros Yule Walk, Butterworth y Chebyshev')
xlabel('Frecuencia (Hz)'),
ylabel('Magnitud en dB')

You might also like