Está en la página 1de 24

UNIVERSIDAD NACIONAL MAYOR

DE SAN MARCOS
Faculta de Ingeniería Electrónica, Eléctrica y
Telecomunicaciones

Informe Final N°3

TEMA:

Diseño de filtros y ecualizador digital

DOCENTE:

Ing. Sixto Llosa

INTEGRANTES:

Levano Vilca Willy Paolo 15190014

CICLO:

Séptimo

2019 – I
I. OBJETIVO:
Diseñar filtros de respuesta en frecuencia de audio y determinar las características
en el dominio del tiempo y de la frecuencia. A si mismo, diseñar ecualizadores
digitales de audio frecuencia, usando Matlab.

II. PROCEDIMIENTO:

1. Diseñe un ecualizador digital usando el comando ELLIP y grafique las ondas en el


dominio del tiempo y su respectiva transformada de Fourier. dibuje el esquema de
bloques correspondiente del ecualizador resultante.

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')

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('Yule Walk, Butterworth and Chebyshev filters')
figure(4)
plot(ff(2:n),20*log10(h(2:n)))
title('Yule Walk, Butterworth and Chebyshev filters')
xlabel('Frecuency (Hz)')
Ylabel('Magnitude in DB')
3. De acuerdo al ejercicio anterior (1), diseñe un ecualizador digital de cuatro canales,
usando los filtros IIR, si la señal de entrada es
f=sin(2*pi*t*500)+sin(2*pi*t*1500)+sin(2*pi*t*2500)+sin(2*pi*t*3500).

Grafique la onda resultante en cada etapa del ecualizador en el dominio del tiempo y en el
dominio de la frecuencia.

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;

%defino la funcion y ploteo su grafica


f1=sin(2*pi*t*500); f2=sin(2*pi*t*1500); f3=sin(2*pi*t*2500);
f4=sin(2*pi*t*3500);
s=f1+f2+f3+f4;
figure(1)
plot(t,s)
axis([0 0.01 -4 4]);
title('SEÑAL DE ENTRADA VS TIEMPO')
xlabel('tiempo (seg)'), ylabel('f(t)')

%ingresando los parametros del filtro


N=4; %orden del filtro
Rp=0.1;% rizado en la banda de paso en DB
Rs=409;%rizado en la banda de rechazo en DB
% las frecuencias de corte se especificaran para cada filtro

%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');
I. CUESTIONARIO FINAL

1. Explique en detalle la transformada discreta de Fourier DFT.


desarrolle 5 ejemplos de la transformada de funciones discretas y su
aplicación en el procesamiento de señales.

TRANSFORMADA DISCRETA DE FOURIER

Suponiendo que se tiene una señal discreta X[n] periódica (periodo N)


esta señal se puede expresar usando deltas desplazadas, como:

Se puede representar también utilizando exponenciales complejas, ya


que éstas son la base del dominio frecuencial.

En esta representación interesa hallar X[k] y α, esto se realiza de la


siguiente manera:
Aplicando ortogonalidad de funciones complejas, es decir:

Entonces:

Tomando α=1/N y reemplazando s por K resulta:

Esta expresión es la transformada de Fourier en Tiempo Discreto.


En MatLab existe un programa “fftgui.m” que se puede utilizar para
hallar la Transformada Discreta de Fourier.
Entre las diversas aplicaciones de la Transformada Discreta de
Fourier tenemos:
a) La estimación espectral consistente en la detección de señales
enmascaradas por ruidos o interferencias, y con muchos campos
de aplicación como son las comunicaciones digitales, sistemas
radar, control predictivo, etc.
b) La determinación de la salida temporal de un SLIT cuando la
entrada o la respuesta impulsional del sistema son secuencias de
longitud considerable.
c) La identificación de la función de transferencia de sistemas a partir
de su comportamiento frecuencial.
Ejemplos:

1) Transformada de una compuerta

t=[0 0 0 0 1 1 1 1 0 0 0 0];
fftgui(t)
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)
4) Transformada de la función cos[n]

5) Transformada de la función Sinc(n)

t = linspace(-2,2,50);
x = sin(2*pi*t)./(2*pi*t);
fftgui(x)
2. ¿Qué es la transformada rápida de Fourier FFT? Desarrolle 5
ejemplos.

En la fórmula de la Transformada Discreta de Fourier obtener X(k)


para un ‘k’ determinado requiere aproximadamente N sumas
complejas y N productos complejos, ya que:

Para k = 0, 1, ..., N-1. Si lo que se desea es obtener X(0), X(1), ...,


X(N-1) entonces se necesitarán un total de aproximadamente N 2
sumas complejas y N2 productos complejos. Esto quiere decir que los
requerimientos computacionales de la DFT pueden ser excesivos
especialmente si el tamaño de N es grande.

La FFT aprovecha la periodicidad y simetría del factor ‘W’ para el


cálculo del Transformada Discreta de Fourier. La periodicidad de ‘W’
implica:

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.

1) Transformada de la función seno

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')
2) Transformada de la Funcion coseno

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')

3. Explique sobre los fundamento de los filtro digitales FIR y IIR

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:
En la expresión anterior N es el orden del filtro, que también coincide
con el número de términos no nulos y con el número de coeficientes
del filtro. Los coeficientes son bk.
La salida también puede expresarse como la convolución de la señal
de entrada x (n) con la respuesta impulsional h (n):

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.

Donde los a y b son los coeficientes del filtro. El orden es el máximo


entre los valores de M y N.
o Polos y ceros
Este tipo de filtros presenta polos y ceros que determinan la
estabilidad y la causalidad del sistema.
Cuando todos los ceros están en el interior de la circunferencia unidad
se dice que es fase mínima. Si todos están en el exterior es fase
máxima.
Si algún polo está fuera de la circunferencia unidad el sistema es
inestable.
o Características
Las principales diferencias respecto a los filtros FIR es que los IIR
pueden cumplir las mismas exigencias que los anteriores pero con
menos orden de filtro. Esto es importante a la hora de implementar el
filtro, pues presenta una menor carga computacional.
Este tipo de filtros pueden ser inestables, aún cuando se diseñen para
ser estables.
En principio no pueden diseñarse para tener fase lineal pero se
pueden aplicar algunas técnicas como el filtrado bidireccional para
lograrlo.

FOTOS:

También podría gustarte