Está en la página 1de 11

Ecualizador de audio

digital de mltiples bandas

Fernando Gabriel Orge


fernandoorge@hotmail.com
Laboratorio de Procesamiento Digital
Universidad Tecnolgica Nacional Facultad Regional Buenos Aires

Resumen A lo largo de esta presentacin se muestra Del mismo modo que los sistemas analgicos
como puede ser implementado un ecualizador digital de presentan limitaciones fsicas, inherentes a las
mltiples bandas, a travs de estructuras paramtricas,
caractersticas constructivas de los dispositivos utilizados,
tomando como base de ste conocimientos de Ingeniera
los sistemas digitales tambin poseen sus propias
junto con algoritmos simples, como as tambin las
limitaciones, puesto que para que el sistema pueda
respectivas pruebas y resultados obtenidos.
trabajar en tiempo real, es necesario que el procesador
Palabras clave Ecualizador Filtros digitales trabaje a una velocidad mayor que la evolucin misma del
Procesamiento digital de seales sistema. A priori, el tiempo del algoritmo debera ser
menor que el tiempo de muestreo, pero cuando las
I. INTRODUCCIN exigencias algortmicas son mayores (mayor tiempo de
Si se comparase un sistema analgico frente a uno procesamiento/computo) el procesamiento en bloques
digital, podra verse que existe una diferencia fundamental solventa este deficiencia a expensas de una mayor
entre ellos ya que mientras el comportamiento del sistema latencia (retardos temporales producidos por la demora en
analgico radica en la topologa y componentes utilizados la propagacin y transmisin de paquetes) en el sistema.
en l, en el sistema digital el comportamiento queda
II. MARCO TERICO
definido exclusivamente por un algoritmo computacional.
Haciendo a un lado la discusin respecto de que
A. EL SISTEMA DE PROCESAMIENTO DIGITAL DE AUDIO
sistema es mejor, en los sistemas digitales se pueden
Los procesadores de seales digitales (DSPs) son
encontrar algunas ventajas notables en comparacin con
utilizados para el procesamiento de seales de tiempo
sus contrapartidas analgicas, como por ejemplo la
discreto; tanto su arquitectura como su conjunto de
flexibilidad que poseen, puesto que pueden modificarse y
instrucciones estn especialmente diseados para el
actualizarse sin mayores inconvenientes; tambin son
procesamiento en tiempo real de dichas seales. Estos
fcilmente reproducibles, puesto que no dependen de la
dispositivos difieren unos de otros en funcin de quien los
tolerancia de los componentes discretos y/o integrados
produzca. No obstante, existen caractersticas comunes a
utilizados en circuitos analgicos, y son sumamente
todos los procesadores de seales digitales, producto de
confiables gracias a que no envejecen ni sufren desvos
las exigencias computacionales de los algoritmos de
por causas ambientales.

-1-
procesamiento, y dentro del marco de este proyecto de
destacan
1. Operaciones aritmticas optimizadas
2. Aritmtica con saturacin
3. Direccionamiento circular
4. Instruccin MAC (multiply and accumulate)
Pero no solo basta con tener un procesador de seales
digitales. En lo que respecta al sistema de procesamiento
Figura 3: Pre-Amplificador
como unidad indivisible de funcionamiento, es imperioso
En lo que respecta al filtro AntiAlias (solapamiento) se
contar con una etapa previa al procesamiento, de
utiliza una estructura Sallen Key de segundo orden y
acondicionamiento y filtrado de la seal, como as tambin
ganancia unitaria, cuya topologa y respuesta en
con una etapa posterior que pueda filtrar nuevamente la
frecuencia se ven a continuacin
seal y reacondicionarla en caso de ser necesario para
entregarla a destino.

Figura 1: Sistema de procesamiento digital de audio


Como se ha hecho notar, la etapa previa o etapa de
entrada, debe acondicionar la seal a los niveles
esperados por el procesador para su correcto
Figura 4: Filtro Anti-Alias
funcionamiento como as tambin filtrar todas aquellas
frecuencias por encima de la frecuencia mxima de seal
a procesar para evitar el solapamiento espectral como
consecuencia del muestreo de la seal de entrada.

Figura 2: Etapa de entrada

Considerando que el objetivo de este proyecto es


netamente educativo, cabe destacar que si bien la etapa
de acondicinamiento es de suma importancia en el
desarrollo del proyecto y el correcto funcionamiento del Figura 5: Respuesta en frecuencia del filtro Anti-Alias
sistema, sta resulta ser relativamente sencilla Donde a cuestas de una prdida no muy considerable de
ancho de banda se gana en simplicidad de diseo y
facilidad a la hora de la construccin del mismo.
La etapa de salida es muy similar a la etapa de entrada
en este sistema de procesamiento. Lo nico destacable es

-2-
la necesidad de incluir un amplificador difirencial producto stos pueden ser encontrados en varias formas en funcin
de la forma en la que el procesador utilizado entrega la de las necesidades y complejidad de las aplicaciones, pero
seal procesada. en la gran mayora de los productos comerciales se utilizan
Pese a que previo al procesamiento, la seal de filtros sencillos para lograr tal ecualizacin. Para su
entrada es filtrada y es de esperarse que no existan implementacin, se utilizaron ciertos filtros particulares
rplicas en altas frecuencias luego del mismo, es frecuente cuya caracterstica principal es la de no poseer banda de
la inclusin de un filtro AntiAlias en la salida de idnticas atenuacin en comparacin con los filtros tradicionales que
caractersticas al filtro utilizado a la entrada del sistema. suelen utilizarse en mltiples aplicaciones de Ingeniera.
Luego, el amplificador de salida depender Estas estructuras tienen como objetivo fundamental
exclusivamente de la finalidad del proyecto y de lo que se resaltar, o bien atenuar, aquellas frecuencias para las que
desea utilizar como carga terminal. se pretende que acten sin alterar las seales restantes
que se encuentran fuera de su ancho de banda de trabajo.
As entonces, la ecualizacin de las seales de audio, se
lleva a cabo mediante la interconexin serie de estos
Figura 6: Etapa de Salida
filtros, en donde cada uno de ellos se encarga de modificar
Finalmente, el procesador, ncleo de este sistema,
(amplificar/atenuar) las bandas para las cuales fueron
cuenta con ciertos bloques funcionales que en forma
diseados.
conjunta llevan a cabo el muestro, procesamiento y
entrega de la seal. Los conversores analgico-digital y
digital-analgico son los encargados de establecer un
Figura 8: Conexin serie de N filtros
medio de enlace entre el sistema y el exterior, mientras
que el bloque DMA (Direct Access Memory) se ocupa de la
administracin de los datos en memoria de forma tal de
poder liberar al CPU (Central Proccessing Unit) de ciertas
labores a fin de que ste junto con el DSP (Digital Signal
Proccessor) se encarguen exclusivamente de la ejecucin
de los algoritmos de procesamiento.

Figura 9: Respuesta en frecuencia de un banco de cinco filtros

C. ESTRUCTURAS PARAMTRICAS

Una vez definidas las bandas del espectro audible


sobre las cuales actuar con el banco de filtros, se
pretende, a fines prcticos, que los niveles de ganancia de
las estructuras a utilizar puedan ser modificados
Figura 7: Procesador de seales digitales fcilmente. Las estructuras paramtricas permiten realizar
estos cambios deseados, por medio de un nico parmetro
B. ECUALIZACIN Y BANCO DE FILTROS
de control. De esta manera, se logra independizar el nivel
La ecualizacin espectral es uno de los mtodos ms
de ganancia de los filtros de sus respectivas frecuencias
importantes para el procesamiento de seales de audio.
de trabajo (corte o central).

-3-
De este modo, varando el parmetro de control G, para
Filtros Shelving valores mayores que la unidad se obtiene el efecto
Los filtros tipo Shelving son utilizados para trabajar deseado. En siguiente figura se puede apreciar dicho
sobre los extremos de la banda audible, es decir, se efecto,
utilizan como estructuras pasa bajas y pasa altas. Su
caracterstica distintiva es la de trabajar nicamente dentro
del rango de frecuencias para el cual se ha diseado
dejando el resto del espectro audible inalterable.
Para el diseo del filtro pasa bajos, se parte de un filtro
prototipo a frecuencia normalizada con ganancia H0,
H0
H LP ( S ) =
S Figura 10: Respuesta en frecuencia de un filtro Shelving pasa bajas
S 2 + +1 en modo amplificacin o boost mode
Q
Si lo que se busca es atenuar el nivel de seal, en lugar
Para obtener la estructura deseada con el
de amplificarlo, lo que se debe hacer es invertir las
comportamiento adecuado, se deben cumplir dos
singularidades de la estructura diseada, concretamente
coindiciones
se deben intercambiar los polos de la funcin por los ceros
1. Los polos de la funcin deben estar distribuidos
de la misma y viceversa. As entonces, se obtiene la
de forma equiespaciada en el plano para
siguiente estructura,
obtener mxima planicidad en la banda de
S2 + 2 S +1
paso. H SH LP cut ( S ) =
2. Los ceros de la funcin tambin deben estar S 2 + 2G S + G
distruidos de la misma forma. Adicionalmente, Cuyo comportamiento se puede apreciar a continuacin
ser necesario que estos puedan desplazarse
sobre una recta de accin alejndose o
acercndose a los polos, pero conservando su
fase, de forma tal de que la ganancia resultante
del filtro vare.
Estas dos condiciones pueden obtenerse fcilmente
incorporndo una estructura pasa todo al filtro prototipo y
definiendo como parmetro de control de la estructura a G Figura 11: Respuesta en frecuencia de un filtro Shelving pasa bajas
en modo atenuacin o cut mode
= 1 + H0. As entonces,
A partir de estos filtros se obtienen los filtros pasa altas
H0
H SH LP ( S ) = 1 + con el uso de una transformacin conveniente, a saber
S
S 2 + +1 1
Q H LP H HP S =
X
y por lo tanto
donde X es una variable auxiliar para llevar a cabo la
S + 2G S + G
2
H SH LP boost ( S ) = transformacin, cuyo resultado final en funcin de la
S 2 + 2 S +1 variable compleja S es

-4-
GS 2 + 2G S + 1 0G
S2 + S + 0
2
H SH HP boost ( S ) =
S2 + 2 S +1 H ( S ) = 1 + H BP ( S ) =
Q
0
S2 + S + 0
2
Intercambiando las singularidades de lugar
Q
nuevamente, obtenemos el efecto de la atenuacin para
frecuencias altas

S2 + 2 S +1
H SH HP cut ( S ) =
GS 2 + 2G S + 1
Una vez diseados los filtros normalizados, stos son
desnormalizados haciendo un simple cambio de variables,
de acuerdo con,
S Figura 12: Respuesta en frecuencia de filtros Peak pasa bandas a
Sn =
0 frecuencias normalizadas diversas

Obteniendo as los cuatro filtros III. MATERIALES Y MTODOS


LOW PASS SHELVING FILTER
S 2 + 2G 0 S + G 0 A. M APEANDO AL DOMINIO DIGITAL
2
Boost
mode S 2 + 2 0 S + 0
2
A fin de poder implementar un filtro digital, el filtro

S 2 + 2 0 S + 0 diseado en el dominio S debe ser convertido al dominio Z


2

Cut mode
S 2 + 2G 0 S + G 0 con la ayuda de una transformacin adecuada. La
2

transformacin bilineal dada por


2 Z 1
HIGH PASS SHELVING FILTER S=
Ts Z + 1
GS 2 + 2G 0 S + 0
2
Boost
mode S 2 + 2 0 S + 0
2 Resulta sumamente conveniente para los fines prcticos
de esta aplicacin.
S 2 + 2 0 S + 0
2

Cut mode Teniendo en cuenta la deformacin frecuencial,


GS 2 + 2G 0 S + 0
2

comunmente llamada warping, que impone esta


transformacin, se utiliza la tcnica de pre-warping para re-
Filtros Peak
ajustar el filtro de forma tal que el resultado final sea el que
De manera similar a como se disean los filtros
se pretende. As entonces, sabiendo que
Shelving, los filtros Peak, utilizados como estructuras pasa
2 digital Ts
bandas, se disean a partir de un filtro prototipo analgica = tan
normalizado Ts 2
H0 Definiendo como variable auxiliar a
S
H BP ( S ) =
Q digital Ts
S K = tan
S 2 + +1 2
Q
Para filtros de estructura directa forma II traspuesta,
El cual, tras las transformaciones pertinentes adquiere
cuya respuesta en frecuencia discreta tiene la forma
la siguiente estructura

-5-
b0 + b1 Z 1 + b2 Z 2 se obtienen los siguientes coeficientes
H (Z ) =
1 + a1 Z 1 + a 2 Z 2

Figura 13: Diseo de filtros paramtricos para el banco de filtros ecualizadores

La implementacin final puede verse en el anexo


B. IMPLEMENTACIN DE LOS FILTROS
correspondiente.
Termiando el proceso de diseo y con los
coeficientes de los filtros digitales listos para ser C. PRUEBAS

utilizados, la implementacin de stos resulta sencilla, Para evaluar el desempeo de los filtros se hicieron
pues dichos coeficientes son funcin de la frecuencia de dos pruebas. Ambas constaron en la ecualizacin de una
trabajo, como as tambin del nivel de ganancia (o grabacin de guitarra. En ellas se busc destacar los
atenuacin) deseada. efectos de atenuacin y amplificacin de los filtros
Para el caso de los filtros pasa banda la estructura de diseados.
los respectivos filtros digitales depender tambin del
IV. RESULTADOS
factor de selectividad estipulado.
As entonces, haciendo una analoga matemtica, Prueba primera
puede decirse que cada uno de los filtros es una funcin En la siguiente figura se muestra una representacin
de mltiples variables. Ms an, resulta evidente, al temporal de la seal grabada como as tambin su
considerar el concepto matemtico de funcin, la representacin en el dominio de las frecuencias
posibilidad de implementar estos filtros en forma complejas, obtenida por medio de la Transformada
computacional, como funciones de mltiples parmetros, Rpida de Fourier.
dadas segn la siguiente tabla
DIGITAL FILTER
Shelving
ShelvingLP(fo,fs,GdB)
Low Pass
Shelving
ShelvingHP(fo,fs,GdB) Figura 14: Grabacin de guitarra nmero uno
High Pass
Peak Con las pruebas lo que se busc fue anular cada una
PeakBP(fo,fs,Q,GdB)
Band Pass
de las regiones de mayor densidad espectral (de
De donde fo es la frecuencia de trabajo del filtro, fs la
acuerdo a la figura 14, en un entorno a los 1000 Hz y la
frecuencia de muestro, GdB es la parmetro de control
regin por debajo de los 300Hz), por separado y luego
de la ganancia (o atenuacin) y Q la selectividad de los
los dos en simultneo.
filtros pasa banda.
El resultado obtenido fue el siguiente,

-6-
Figura 15: Resultados de la prueba nmero uno

En cada una de las columnas se puede apreciar las efectuarse a partir de los filtros diseados. Partimos
representaciones temporales de las seales y su entonces de una nueva grabacin en la que se observ
respectiva representacin en el dominio de las cierta actividad espectral en torno a determinadas
frecuencias complejas, respectivamente. La fila primera frecuencias, a saber, 300 Hz, 700 Hz, 1000Hz y 1300Hz,
corresponde a la grabacin original, destacada aproximadamente (ver figura 16). Se ajustaron los filtros
previamente, en tanto que la fila segunda y la tercera de forma tal de poder acentuar tres de estas cuatro
corresponden a los resultados de las pruebas de frecuencias centrales, 700 Hz, 1000Hz y 1300Hz, y
anulacin espectral por separadas entorno a una luego se observaron los cambios en la representacin
frecuencia central de aproximadamente 1000 Hz y por espectral de las seales obtenidas. En las filas segunda,
debajo de una frecuencia de corte de 300 Hz, tercera y cuarta se pueden ver cada uno de los efectos
respectivamente. Finalmente, en ltima fila se pueden buscados para las frecuencias de trabajo, en tanto que
apreciar ambos efectos simultneamente. en la primera fila, se encuentra la grabacin original para
Prueba segunda poder contrastar con ellas.
El objetivo de la segunda prueba fue destacar los
efectos de las posibles amplificaciones que pueden

Figura 16: Resultados de la prueba nmero dos

-7-
tiempo de procesamiento, y considerando que la idea
V. CONCLUSIONES
ulterior de este proyecto es la implementacin fsica del
Si bien es cierto que los efectos de la ecualizacin mismo sobre una plataforma no muy costosa (ni muy
son evidentes, tambin es cierto que los filtros pueden potente), es imperioso establecer una relacin de
ser de mayor calidad an, no obstante, las mejoras en la compromiso, entre la calidad de los filtros, la calidad del
calidad del audio no seran tan notorias, puesto que al audio y las consecuentes exigencias a la arquitectura del
momento de ecualizar una grabacin sonora, como por procesador en cuestin.
ejemplo una cancin, se podra decir que uno rompe
con la armona inherente a dicha cancin y el sonido
VI. REFERENCIAS
resultante no siempre es del todo agradable. Udo Zlzer. Digital Audio Signal Processing Second
Ms an, un aumento en el orden de los filtros dara Edition. Editorial Wiley
como resultado filtros an ms selectivos, pudiendo Udo Zlzer. DAFX: Digital Audio Effects Second
stos trabajar ms exclusivamente dentro del rango de Edition. Editorial Wiley
frecuencias que se pretende sin afectar las frecuencias Alan V. Oppenheim, Alan S. Willsky. Signal and
circundantes como consecuencia del pobre roll-off de Systems. Editorial Prentice Hall
los filtros actuales. Sin embargo, filtros de mayor orden Damin Craimen, Ricardo Armentano. Anlisis de
conllevan un mayor gasto computacional y un mayor Sistemas Lineales. Editorial CEIT

-8-
Anexo A Implementacin de los filtros digitales
Shelving Low Pass Filter

function [num,den] = ShelvingLP(fo,fs,GdB)


K = tan(pi()*fo/fs);
if ((-1 < GdB) && (GdB < 1))
GdB = 1;
end
if GdB >= 1 %boost mode
G = 10^(GdB/20);
b0 = (G*K^2 + sqrt(2*G)*K + 1) / (K^2 + sqrt(2)*K + 1);
b1 = (2*G*K^2 - 2) / (K^2 + sqrt(2)*K + 1);
b2 = (G*K^2 - sqrt(2*G)*K + 1) / (K^2 + sqrt(2)*K + 1);
a0 = 1;
a1 = (2*K^2 - 2) / (K^2 + sqrt(2)*K + 1);
a2 = (K^2 - sqrt(2)*K + 1) / (K^2 + sqrt(2)*K + 1);
num = [b0 b1 b2];
den = [a0 a1 a2];
end
if GdB <= -1 %cut mode
G = 10^(abs(GdB)/20);
b0 = (K^2 + sqrt(2)*K + 1) / (G*K^2 + sqrt(2*G)*K + 1);
b1 = (2*K^2 - 2) / (G*K^2 + sqrt(2*G)*K + 1);
b2 = (K^2 - sqrt(2)*K + 1) / (G*K^2 + sqrt(2*G)*K + 1);
a0 = 1;
a1 = (2*G*K^2 - 2) / (G*K^2 + sqrt(2*G)*K + 1);
a2 = (G*K^2 - sqrt(2*G)*K + 1) / (G*K^2 + sqrt(2*G)*K + 1);
num = [b0 b1 b2];
den = [a0 a1 a2];
end

-9-
Anexo A Implementacin de los filtros digitales
Shelving High Pass Filter

function [num,den] = ShelvingHP(fo,fs,GdB)


K = tan(pi()*fo/fs);
if ((-1 < GdB) && (GdB < 1))
GdB = 1;
end
if GdB >= 1 %boost mode
G = 10^(GdB/20);
b0 = (K^2 + sqrt(2*G)*K + G) / (K^2 + sqrt(2)*K + 1);
b1 = (2*K^2 - 2*G) / (K^2 + sqrt(2)*K + 1);
b2 = (K^2 - sqrt(2*G)*K + G) / (K^2 + sqrt(2)*K + 1);
a0 = 1;
a1 = (2*K^2 - 2) / (K^2 + sqrt(2)*K + 1);
a2 = (K^2 - sqrt(2)*K + 1) / (K^2 + sqrt(2)*K + 1);
num = [b0 b1 b2];
den = [a0 a1 a2];
end
if GdB <= -1 %cut mode
G = 10^(abs(GdB)/20);
b0 = (K^2 + sqrt(2)*K + 1) / (K^2 + sqrt(2*G)*K + G);
b1 = (2*K^2 - 2) / (K^2 + sqrt(2*G)*K + G);
b2 = (K^2 - sqrt(2)*K + 1) / (K^2 + sqrt(2*G)*K + G);
a0 = 1;
a1 = (2*K^2 - 2*G) / (K^2 + sqrt(2*G)*K + G);
a2 = (K^2 - sqrt(2*G)*K + G) / (K^2 + sqrt(2*G)*K + G);
num = [b0 b1 b2];
den = [a0 a1 a2];
end

- 10 -
Anexo A Implementacin de los filtros digitales
Peak Band Pass Filter

function [num,den]= PeakBP(fo,fs,Q,GdB)


K = tan(pi()*fo/fs);
if ((-1 < GdB) && (GdB < 1))
GdB = 1;
end
if GdB >= 1 %boost mode
G = 10^(GdB/20);
b0 = (Q*K^2 + G*K + Q) / (Q*K^2 + K+Q);
b1 = (2*Q*K^2 - 2*Q) / (Q*K^2 + K+Q);
b2 = (Q*K^2 - G*K + Q) / (Q*K^2 + K+Q);
a0 = 1;
a1 = (2*Q*K^2 - 2*Q) / (Q*K^2 + K+Q);
a2 = (Q*K^2 - K + Q) / (Q*K^2 + K+Q);
num = [b0 b1 b2];
den = [a0 a1 a2];
end
if GdB <= -1 %cut mode
G = 10^(abs(GdB)/20);
b0 = (Q*K^2 + K + Q) / (Q*K^2 + G*K+Q);
b1 = (2*Q*K^2 - 2*Q) / (Q*K^2 + G*K+Q);
b2 = (Q*K^2 - K + Q) / (Q*K^2 + G*K+Q);
a0 = 1;
a1 = (2*Q*K^2 - 2*Q) / (Q*K^2 + G*K+Q);
a2 = (Q*K^2 - G*K + Q) / (Q*K^2 + G*K+Q);
num = [b0 b1 b2];
den = [a0 a1 a2];
end

- 11 -