Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab N°3 DISEÑO DE FILTROS Y ECUALIZADOR DIGITAL - PEREYRA PELÁEZ OSCAR ABEL
Lab N°3 DISEÑO DE FILTROS Y ECUALIZADOR DIGITAL - PEREYRA PELÁEZ OSCAR ABEL
ELÉCTRICA Y DE TELECOMUNICACIONES
CÓDIGO: 15190023
TELECOMUNICACIONES
HORARIO: LUNES 9 am – 12 pm
I. OBJETIVO:
1. MATLAB
2. PC Pentium II-actual.
III. PROCEDIMIENTO:
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)+SF1(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE FOURIER');
[b,a]=ellip(4,0.1,40,[100 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)+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)+SF3(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE FOURIER');
[b,a]=ellip(4,0.1,40,[3500 4500]*.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)+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);
ZF5=fft(zf5,513);
w=(0:255)/256*(Fs/2);
figure(15)
plot(w,abs([S5(1:256)+ZF5(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE FOURIER');
2. verificar la respuesta en frecuencia de otros filtros: modificar sus
variables como ancho de banda, amplitud o atenuación de los 4 filtros.
f=[0 .4 .4 .6 .6 1];
H=[0 0 1 1 0 0];
fs=1000;%assumed sampling rate
fhz=f*fs/2;
figure(1)
plot(fhz,H), title('Desired Frecuency Response')
xlabel('Frecuency (Hz)'), ylabel('Magnitude')
N=8;
[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 Desired Frecuency Response')
xlabel('Frecuency (Hz)'), ylabel('Magnitude')
El ancho de banda de cada filtro es: Y los amplificadores tienen una ganancia de:
H1(f) = [0.1 1]KHz G1 = 0.3
H2(f) = [1 2]KHz G2 = 1.5
H3(f) = [2 3]KHz G3 = 0.1
H4(f) = [3 4]KHz G4 = 0.8
Fs=8000;%FMAX=3500hZ
t=(1:8000)/Fs;
%Filtro f1
BW1=[100 1000]*2/Fs; % ancho de banda normalizado respecto a la
freq de Nyquist
[b,a]=ellip(N,Rp,Rs,BW1); %FILTRO ELIPTICO
[H,w]=freqz(b,a,512); %respuesta en frecuencia del filtro
H=H*0.3; %ganancia del filtro
figure(2)
plot(w*Fs/(2*pi),abs(H));
title('RESPUESTA EN FRECUENCIA DEL FILTRO 1')
xlabel('FRECUENCIA (Hz)'), ylabel('GANANCIA')
sf1=filter(b,a,s); %filtra el contenido de "s" con lo descrito por los
vectores b y a
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)+SF1(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE
FOURIER');
%Filtro f2
BW2=[1000 2000]*2/Fs;
[b,a]=ellip(N,Rp,Rs,BW2);
[H,w]=freqz(b,a,512);
H=H*1.5;
figure(5)
plot(w*Fs/(2*pi),abs(H));
title('RESPUESTA EN FRECUENCIA DEL FILTRO 2')
xlabel('FRECUENCIA (Hz)'), ylabel('GANANCIA')
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)+SF2(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE
FOURIER');
%Filtro f3
BW3=[2000 3000]*2/Fs;
[b,a]=ellip(N,Rp,Rs,BW3);
[H,w]=freqz(b,a,512);
H=H*0.1;
figure(8)
plot(w*Fs/(2*pi),abs(H));
title('RESPUESTA EN FRECUENCIA DEL FILTRO 3')
xlabel('FRECUENCIA (Hz)'), ylabel('GANANCIA')
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)+SF3(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE
FOURIER');
%Filtro f4
BW4=[3000 3999]*2/Fs;
[b,a]=ellip(N,Rp,Rs,BW4);
[H,w]=freqz(b,a,512);
H=H*0.8;
figure(11)
plot(w*Fs/(2*pi),abs(H));
title('RESPUESTA EN FRECUENCIA DEL FILTRO 4')
xlabel('FRECUENCIA (Hz)'), ylabel('GANANCIA')
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)+SF4(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE
FOURIER');
%ECUALIZADOR
zf5=0.3*sf1+1.5*sf2+0.1*sf3+0.8*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);
ZF5=fft(zf5,513);
w=(0:255)/256*(Fs/2);
figure(15)
plot(w,abs([S5(1:256)+ZF5(1:256)]));
xlabel('FRECUENCIA (HZ)'); ylabel('MAG. DE TRANSF. DE
FOURIER');
IV. CUESTIONARIO FINAL
Entonces:
2) Transformada de un impulso
>> t=[0 0 0 0 0 1 0 0 0 0 0]
fftgui(t)
3) Transformada de la función sin[n]
>> t=-10:10;
x=sin(x);
fftgui(x)
>> t = linspace(-2,2,50);
x = sin(2*pi*t)./(2*pi*t);
fftgui(x)
Y su simetría implica:
La FFT descompone la DFT de N puntos en transformadas más
pequeñas. Una DFT de N puntos es descompuesta en dos DFT’s de
(N/2) puntos. Cada DFT de (N/2) puntos se descompone a su vez en
dos DFT’s de (N/4) puntos y así sucesivamente. Al final de la
descomposición se btienen (N/2) DFT´s de 2 puntos cada una. La
transformada más pequeña viene determinada por la base de la FFT.
Para una FFT de base 2, N debe ser una potencia de 2 y la
transformada más pequeña es la DFT de 2 puntos. Para implementar
la FFT se puede utilizar el comando ‘fft’ de Matlab.
Se muestran los siguientes ejemplos.
>> t=0:0.001:1;
>> x=sin(2*pi*100*t);
>> Y=fft(x,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1000*(0:255)/512;
>> plot(f,Pyy(1:256))
>> xlabel('frecuencia (Hz)')
>> ylabel('Magnitud de TF')
>> t=0:0.001:1;
>> x=cos(2*pi*100*t);
>> Y=fft(x,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1000*(0:255)/512;
>> plot(f,Pyy(1:256))
>> xlabel('frecuencia (Hz)')
>> ylabel('Magnitud de TF')
3) Transformada de una compuerta
>> t=0:0.001:1;
>> x=heaviside(t+0.01)-heaviside(t-0.01);
>> Y=fft(x,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1000*(0:255)/512;
>> plot(f,Pyy(1:256))
>> xlabel('frecuencia (Hz)')
>> ylabel('Magnitud de TF')
4) Transformada
>> t=0:0.001:1;
>> x=sin(2*pi*100*t)+sin(2*pi*20*t);
>> Y=fft(x,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1000*(0:255)/512;
>> plot(f,Pyy(1:256))
>> xlabel('frecuencia (Hz)')
>> ylabel('Magnitud de TF')
5) Transformada
>> t=0:0.001:1;
>> x=cos(2*pi*250*t)+cos(2*pi*100*t)+cos(2*pi*150*t);
>> Y=fft(x,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1000*(0:255)/512;
>> plot(f,Pyy(1:256))
>> xlabel('frecuencia (Hz)')
>> ylabel('Magnitud de TF')
o Filtro FIR
FIR es un acrónimo en inglés para Finite Impulse Response o
Respuesta finita al impulso. Se trata de un tipo de filtros digitales en el
que, como su nombre indica, si la entrada es una señal impulso, la
salida tendrá un número finito de términos no nulos.
o Expresión matemática
Para obtener la salida sólo se basan en entradas actuales y
anteriores. Su expresión en el dominio n es:
o Polos y ceros
Estos filtros tienen todos los polos en el origen, por lo que son
estables. Los ceros se presentan en pares de recíprocos si el filtro se
diseña para tener fase lineal.
o Características
Los filtros FIR tienen la gran ventaja de que pueden diseñarse para
ser de fase lineal, lo cual hace que presenten ciertas propiedades en
la simetría de los coeficientes. Este tipo de filtros tiene especial interés
en aplicaciones de audio. Además son siempre estables.
Por el contrario también tienen la desventaja de necesitar un orden
mayor respecto a los filtros IIR para cumplir las mismas
características. Esto se traduce en un mayor gasto computacional.
o Filtro IIR
IIR es una sigla en inglés para Infinite Impulse Response o Respuesta
infinita al impulso. Se trata de un tipo de filtros digitales en el que,
como su nombre indica, si la entrada es una señal impulso, la salida
tendrá un número infinito de términos no nulos, es decir, nunca vuelve
al reposo.
o Expresión matemática
La salida de los filtros IIR depende de las entradas actuales y
pasadas, y además de las salidas en instantes anteriores. Esto se
consigue mediante el uso de realimentación de la salida.