Vous êtes sur la page 1sur 12

DISEO E IMPLEMENTACION DE UN EQUALIZADOR PARAMETRICO

DIGITAL EN EL PDS TMS320C6713.


Sandoval Go Jess1, Lujn Ramrez Carlos A.1, Hernndez Bentez J. Agustn1, Chan
Mex Alejandro2
Instituto Tecnolgico de Mrida.
sandoval@itmerida.mx, clujan@itmerida.mx, jhernand72@yahoo.com.mx,
alex_gio_296@hotmail.com
1

Profesores de tiempo completo del ITM

Alumno Tesista de Ingeniera Electrnica del ITM.

RESUMEN
En el presente documento se describen los principales aspectos del diseo de un ecualizador
paramtrico de audio digital de 10 bandas. Los filtros que forman parte del ncleo del ecualizador
son tipo shelving y peaking. La respuesta en ganancia, la frecuencia de corte ( fecuencia de paso)
y ancho de banda y la frecuencia central pueden ajustarse independientemente variando los
parmetros K, y en cada uno de los filtros. Se usa el software Matlab para realizar las pruebas
de su desempeo. Se muestra adicionalmente una gua para la implementacin del mismo en el
PDS TMS320C6713 de Texas Instruments.
ABSTRACT
In this paper, main items to design 10 bands parametric equalizer for audio signals are described.
Shelving and peaking filters are equalizer cores. Gain response, cut frequency (or pass frequency)
and bandwidth, and central frequency, can be adjusted varying, independently, the parameters K,
y in each of filters. Matlab is used to carry out equalizer performance's tests. In addition, shows
equalizer implementation's in the TMS320C6713, a digital signal processing of Texas Instruments.
1. INTRODUCCIN
Con el uso cada vez ms frecuente de un equipo de cmputo (ordenadores de escritorio y/o
porttiles, smartphones, PDAs, tablets PC, estc;) para realizar las actividades diarias, tanto en el
hogar como en el trabajo, se requiere del empleo de herramientas que puedan ser ejecutadas a
travs de algn equipo antes mencionado; de sta manera la tarea es realizada de una forma
rpida y los resultados obtenidos poseen una buena presentacin que pueden ser guardados para
futuras referencias.
En las pruebas de laboratorio son necesarias las caractersticas antes mencionadas, as surge la
necesidad de un ecualizador de audio porttil para realizar pruebas en audio, ya que un equipo con
las prestaciones equivalentes es de costo y tamao elevados.
Esto se logra con la implementacin de un programa de cmputo que sea capaz de comportarse
como un ecualizador paramtrico de 10 bandas realizado a partir de filtros digitales, implementado
a travs del lenguaje de Matlab.El diseo del ecualizador se limita a la elaboracin de los clculos
y modelado matemticos para la elaboracin del programa computo, sin embargo establece las
bases para que pueda ser implementado en dispositivos de uso especfico como Procesadores
Digitales de Seal (TMS320C6713).
El diseo del ecualizador se realiza a partir del anlisis de los filtros que forma parte de su ncleo,
siguiendo con la aproximacin de los resultados obtenidos al modelo real del ecualizador en base a
sus respuestas globales del sistema. Con esto se obtiene los comportamientos tanto, individual (de

cada una de las etapas), como global de todo el sistema; as como su respuesta en ganancia;
respuesta en frecuencia: respuesta al impulso y respuesta al escaln; y su respuesta en fase.
2. FILTROS.
Los filtros tienen dos usos: separacin y restauracin de seales. La separacin de seales es
necesaria cuando una seal ha sido contaminada con interferencia, ruido, u otras seales. La
restauracin de seales es empleada cuando una seal ha sido distorsionada de alguna manera.
Por ejemplo, una grabacin de audio hecha con un equipo de mala calidad podra ser filtrada para
representar mejor el sonido.[7]
2.1. Filtros digitales.
Los filtros que forman parte del ncleo del ecualizador son los llamados filtros digitales. Los filtros
digitales pueden ser de dos tipos:
1. filtros con respuesta finita al impulso (FIR, por sus siglas en ingls), que se obtienen al
convolucionar la seal de entrada con la respuesta al impulso de un filtro digital, tambin son
conocidos como filtros kernel. [7]
2. filtros con respuesta infinita al impulso (IIR, por sus siglas en ingls), que son una extensin de
los filtros kernel, los filtros, tambin llamados recursivos, estn definidos por un conjunto de
coeficientes (de recursin) que modifican la seal retroalimentada del filtro kernel y da como
resultado una respuesta al impulso compuesta de senoides que decaen exponencialmente en
amplitud. [7]
Dependiendo de la aplicacin, se elegir el tipo de filtro ya que, los filtros kernel (FIR) a pesar de
su precisin son ms lentos al ejecutarse computacionalmente que los filtros recursivos (IIR). [7]
En esta aplicacin en particular se eligi el uso de los filtros recursivos (IIR), ya que su empleo es a
travs de un ordenador, que es un equipo de uso general; los filtros kernel se recomiendan cuando
se disponga de equipos de uso especfico, tales como DSPs FPGAs que cuenten con la
arquitectura para manejar punto flotante.
2.1.1 Filtros recursivos bsicos.
Los ecualizadores se obtienen a partir de filtros digitales bsicos; stos se basan en las
caractersticas que heredan de los diseos analgicos (pasivos y/o activos), que obtienen al
digitalizarse por medio de tcnicas como la Transformacin Bi-Lineal (BLT, por sus siglas en
ingls).
1. Filtro digital IIR de paso bajo de primer orden.
2. Filtro digital IIR de paso alto de primer orden.
3. Filtro digital IIR de paso de banda de segundo orden.
4. Filtro digital IIR de rechazo de banda de segundo orden.
3. ECUALIZADORES.
Los ecualizadores (del ingls equalizers, tambin traducidos a veces como igualadores) son filtros
destinados a compensar irregularidades en la respuesta en frecuencia de determinados
componentes o sistemas. [6]
Un ecualizador es un filtro de orden superior (sistema compuesto por filtros conectados en serie
cascada y/o paralelo) con parmetros ajustables que permiten modificar las caractersticas de

cada componente en frecuencia (amplitud, frecuencia, fase, ancho de banda, etc.) dentro del
espectro de otro sistema.
Existen varios tipos de ecualizadores nombrados de acuerdo a las prestaciones que brindan, la
forma en que se controlan y en funcin de su recubrimiento (respuesta global en frecuencia del
sistema dependiendo su interconexin en cascada o paralelo), tales ecualizadores se llaman:
controles de tono, semi-paramtricos, paramtricos, grficos y paragrficos.
Los ecualizadores paramtricos se diferencian de los anteriores en que en general tienen menos
bandas, pero de frecuencia ajustable. Esto implica la posibilidad de ubicar en forma precisa un
defecto acstico (por ejemplo una resonancia) y corregirlo. Para lograr mayor versatilidad tambin
es posible ajustar el ancho de banda, y, por supuesto, la ganancia (como en los ecualizadores
grficos). Una de las aplicaciones ms interesantes de los ecualizadores paramtricos es la
eliminacin de acoples. Otras aplicaciones pueden ser eliminar zumbidos de lnea cuyo origen es
difcil de detectar, o resaltar frecuencias especficas que son excesivamente absorbidas. [5]
3.1 Ecualizadores digitales.
Varios tipos de filtros son empleados para modificar la respuesta en frecuencia de una grabacin o
de un canal de monitoreo. Una de tales filtros, llamado filtro shelving , provee amplificacin (boost)
o atenuacin (cut) en la respuesta en frecuencia desde el principio hasta el final de un rango de
audio frecuencia si afectar la respuesta en frecuencia del resto dentro de un espectro de audio,
como se muestra en la figura. Los filtros peaking son utilizados para ecualizaciones en la banda
media y son diseados para tener una respuesta pasa banda para proveer una amplificacin o una
respuesta rechaza banda para proveer una atenuacin. [4]
Un ecualizador digital tpico consiste de una cascada de un filtro shelving de baja frecuencia, un
filtro shelving de alta frecuencia, y tres o ms filtros peaking con parmetros modificables para
proporcionar el ajuste de la respuesta en frecuencia global del ecualizador sobre un amplio rango
de frecuencias en el espectro de audio. En un ecualizador parametrico, cada parmetro individual
de sus filtros pueden ser variados independientemente sin afectar los parmetros de los otros
filtros dentro del ecualizador. [8]
3.2 Estructuras.
Para poder implementar el ecualizador a travs de un programa de cmputo ya sea para un
ordenador un procesador de seales conviene elegir una estructura para realizar el algoritmo de
los filtros digitales: un diagrama a bloques o un conjunto de ecuaciones que indican la secuencia
de los clculos para ser interpretados en la secuencia de los datos de entrada. [3]
Desde el punto de vista prctico, las diferentes estructuras exhibirn diferentes caractersticas de
ruido, y las respuestas mostrarn diferentes sensibilidades hacia el coeficiente de cuantizacin. [2]
Los coeficientes del filtro pueden ser directamente identificados a partir de la ecuacin diferencial
que describe al filtro digital. Estas estructuras pueden implementarse de una manera directa y
eficiente en procesadores programables. [3]
Los Filtros de Forma Directa II, tambin son conocidos como Filtros Cannicos Directos, tienen el
mnimo nmero de retardos. [3]
La Forma Directa II mostrada en la figura 1 es una de las estructuras mas utilizadas. Esta requiere
la mitad de los elementos de retardo con respecto a la Forma Directa I. [1]

Figura 1: Estructura de un filtro IIR de la Forma Directa II.


Los Filtros en Cascada (figura 2) son realizados como una conexin en serie de secciones de
primer y segundo orden. Cada seccin puede ser realizada como Forma Directa I, Forma Directa II,
o cualquier otro tipo. [3]

Figura 2. Estructura en Cascada de un filtro IIR.


4. DISEO DE UN ECUALIZADOR PARAMTRICO EN MATLAB.
Un ecualizador de orden superior se obtiene al conectar en cascada, al menos, un filtro de primer
orden con un filtro de segundo orden.
El diseo en particular es un ecualizador de 1 octava, cuyas frecuencias centrales corresponden a
31.25, 62.5, 125, 250, 500, 1000, 2000, 4000, 8000 y 16000 Hz, respectivamente, consta de un
ecualizador tipo shelving de paso bajo (con fC = 31.25 Hz), un ecualizador tipo shelving de paso
alto (con fP = 16000 Hz) y ocho ecualizadores tipo peaking (con f0s = 62.5, 125, 250, 500, 1000,
2000, 4000, 8000 respectivamente).
Dado que el lmite superior del rango de la respuesta auditiva para el ser humano, el cual es de
Fmx = 20 kHz; se puede obtener la frecuencia de muestreo FS = 44100 Hz (calidad CD de audio)
cumpliendo con la condicin de la tasa de muestreo de Nyquist previniendo los efectos del aliasing.
Las funciones de transferencia del filtro shelving, tanto de baja como de alta frecuencia, se
obtienen a partir de la funcin de transferencia allpass (pasa todo) de primer orden A(z),
correspondientes a la suma de las funciones de transferencia de los filtros IIR bsicos de paso bajo
y paso alto, respectivamente:

z 1
A1 ( z )
1 z 1

(1)

Dando como resultado las funciones de transferencia de un filtro shelving para bajas frecuencias:

GL ( z )

K
1
[1 A1 ( z )] [1 A1 ( z )]
2
2

(2)

Figura 3. Filtro shelving de Baja-Frecuencia.

Y un filtro shelving para altas frecuencias:

GH ( z )

1
1 A1 ( z) K 1 A1 ( z)
2
2

(3)

Figura 4. Filtro Shelving de Alta Frecuencia.

Donde el parmetro en la ecuacin 1 controla la frecuencia de corte C ( frecuencia de paso


P) en rad / s:

cos c
y el parmetro K en la ecuacin 1 y ecuacin 2 controla la ganancia y esta dada por:
2

G20/ 2
para i = 1,,10.
K i 10

(4)

Donde G es la ganancia de amplitud en dB.

Gain Response (dB)

Gain Response (dB)


10

K = 3.5

12

K = 2.5

Gain (dB)

K = 1.5

Gain (dB)

K = 2.5

5
0 K = 1.0
K = 0.5
-5

K = 1.5

2
K=1

0
-2

-2

10

K = 0.7

-4

-10 K = 0.25

K = 0.5

-6
-1

10
Normalized Frequency ( rad/sample)

10

-2

10

10
Normalized Frequency ( rad/sample)

(a)

(b)
K = 2.5

K = 3.5
12

7
5

Gain (dB)

Gain (dB)

K = 3.5

10

1
-1 -2
10

-1

10
Normalized Frequency ( rad/sample)
(a)

(c)

10

-2 -2
10

-1

10
Normalized Frequency ( rad/sample)
(a)

10

(d)

Figura 5. Respuestas en Ganancia del Filtro Shelving: (a) de baja frecuencia variando K con el
valor fijo de ; (b) de alta frecuencia variando K con el valor fijo de ; (c) de baja frecuencia
variando con el valor fijo de K; (c) de alta frecuencia variando con el valor fijo de K;
La funcin de transferencia allpass Aj(z) de segundo orden es obtenida de la combinacin de las
funciones de transferencia de los filtros bsicos de paso de banda y rechazo de banda:

Aj z

j j 1 j z 1 z 2
para j = 2,,9;
1 j 1 j z 1 j z 2

(5)

Figura 6. Filtro peaking / notch.


Donde el parmetro en la ecuacin 5 controla el ancho de banda bW (en rad / s).

1 sin bWj
cos bWj

para j = 2,,9;

(6)

El parmetro en la ecuacin 5 controla la frecuencia central 0 (en rad / s):

j cos 0 j , para

j = 2,,9;

(7)

Dando como resultado una funcin de transferencia de segundo orden, tanto de paso de banda
como de rechazo de banda:

G j ( z)

K
1 A j ( z) 1 1 A j ( z) para j = 2,,9;
2
2

(8)

Y como en el caso de la funcin de transferencia de primer orden, el parmetro K en la ecuacin 8


controla la ganancia en amplitud en dB.

Gain Response (dB)


12

K
K
K
K
K

Gain (dB)

=
=
=
=
=

3.5
2.0
1.0
0.7
0.5

-2

-7
0

0.2
0.4
0.6
0.8
Normalized Frequency ( rad/sample)

(a)

Gain Response (dB)

Gain Response (dB)


12

10

10

Gain (dB)

Gain (dB)

12

6
4
2

6
4
2

0
-2
0

0.2
0.4
0.6
0.8
Normalized Frequency ( rad/sample)

-2
0

0.2
0.4
0.6
0.8
Normalized Frequency ( rad/sample)

(b)

(c)

Figura 7. Respuestas en ganancia de un filtro peaking / notch: (a) variando K con los valores fijos
de y ; (b) variando con los valores fijos de y K; (c) variando con los valores fijos de y K;
4.1 Implementacin del ecualizador paramtrico en el PSD TMS320C6713.
La implementacin del ecualizador paramtrico de 10 bandas se realiza en el procesador digital de
seales TMS320C6713 de Texas Instruments, basada en el algoritmo IIR.c [1], el cual se
desarrolla bajo el lenguaje de programacin C.
Cuadro 1: Programa en Lenguaje C de filtros con respuesta infinita al impulso (IIR) usando
secciones de segundo orden conectados en forma de Cascada. (Eq.c).
//Eq.c filtro con respuesta infinita al impulso en conexin en cascada con secciones de segundo
orden en Forma Directa II.
#include "DSK6713_AIC23.h" //codec-DSK archivo de soporte
Uint32 fs=DSK6713_AIC23_FREQ_44KHZ; //establece tiempo de muestreo
#include "coeficientes.cof" // fichero de coeficientes
short dly[stages][2] = {0}; //registro de los elementos de retardo por cada etapa
interrupt void c_int11() //servicio de interrupcin
{
short i, input;
int un, yn;
input = input_sample(); //entrada para la primera etapa
for (i = 0; i < stages; i++) //iteracin para cada etapa
{
un = ((input) - (a[i][0] * dly[i][0]) - (a[i][1] * dly[i][1]));
yn = (((b[i][0] * un) >>15) + (b[i][1] * dly[i][0]) + (b[i][2] * dly[i][1]));

dly[i][1] = dly[i][0]; //actualiza elementos de retardo


dly[i][0] = un >>15;; //actualiza elementos de retardo
input = yn; //salida intermedia->entrada en la prxima etapa
}
output_sample((short)yn); //salida final, resultado para tiempo n
return; //retorno desde la rutina de interrupcin
}
void main()
{
comm_intr(); //inicializar DSK, codec, McBSP
while(1); //lazo infinito
}

Cuadro 2: Fichero obtenido del ecualizador paramtrico de 10 bandas diseado con Matlab
(coeficientes.cof).
//coeficientes.cof coeficientes del ecualizador paramtrico de 10 bandas con un factor de
ganancia en amplitud de 12 dB.
#define stages 9 //nmero de etapas de segundo orden
int b[stages][3]= { //coeficientes del numerador.
{8246 -8101

0}, //b10, b11, b12 para la etapa 1

{8227 -16360 8134}, //b20, b21, b22 para la etapa 2


{8261 -16335 8077}, //b30, b31, b32 para la etapa 3
{8330 -16281 7962}, //b40, b41, b42 para la etapa 4
{8466 -16159 7735}, //b50, b51, b52 para la etapa 5
{8734 -15858 7287}, //b60, b61, b62 para la etapa 6
{9252 -15041 6421}, //b70, b71, b72 para la etapa 7
{10228 -12645 4790}, //b80, b81, b82 para la etapa 8
{11977 -5784 1868}, //b90, b91, b92 para la etapa 9
{15884 -4661

0} };//b100, b101, b102 para la etapa 10

int a[stages][2]= { //coeficientes del denominador.

{-8156

0}, //a11, a12 para la etapa 1

{-16360 8169}, //a21, a22 para la etapa 2


{-16335 8146}, //a31, a32 para la etapa 3
{-16281 8100}, //a41, a42 para la etapa 4
{-16159 8008}, //a51, a52 para la etapa 5
{-15858 7829}, //a61, a62 para la etapa 6
{-15041 7481}, //a71, a72 para la etapa 7
{-12645 6826}, //a81, a82 para la etapa 8
{-5784 5653}, //a91, a92 para la etapa 9
{ 3031

0} };//a101, a102 para la etapa 10

El fichero coeficientes.cof se genera a partir de los coeficientes obtenidos del ecualizador


paramtrico de 10 bandas diseado con Matlab.
5. PRUEBAS Y RESULTADOS.
La implementacin del ecualizador paramtrico de 10 bandas en Matlab genera un banco de filtros
de orden 18 (10 etapas) conectados en cascada, que consta de 2 etapas de primer orden (filtro
shelving de baja frecuencia y filtro shelving de alta frecuencia) y 8 etapas de segundo orden (filtros
peaking / notch), estable y con respuesta en fase: no lineal.

La fase de prueba del diseo de ecualizador paramtrico de 10 bandas es realizada con la ayuda
de Matlab. A continuacin se muestran las grficas de las respuestas globales de magnitud y de
fase del ecualizador paramtrico de 10 bandas.
Magnitude Response (dB)
2

Magnitude (dB)

1.8
1.6
1.4
1.2
1
0.8
-2

10

-1

10

10
Frequency (kHz)

10

Figura 8. Respuesta global en magnitud del ecualizador paramtrico de 10 bandas.

Phase Response

Phase (degrees)

-5 -2
10

10
Frequency (kHz)

Figura 9. Respuesta global en fase del ecualizador paramtrico de 10 bandas.


Magnitude Response (dB)
1
0.9

Magnitude (dB)

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

-2

10

-1

10
10
Frequency (kHz)

10

Figura 10. Respuesta global en magnitud del ecualizador paramtrico de 10 bandas en


conexin en forma de Cascada por etapas en secciones de segundo orden.
La prueba que se realiza a la implementacin del ecualizador paramtrico de 10 bandas en el
TMS320C6713 es una prueba dinmica que consta de introducir una seal de entrada compuesta
de una mezcla de 10 senoides (tonos) cuya frecuencia corresponde a cada frecuencia central de
cada una de las bandas del ecualizador, obteniendo a la salida una atenuacin amplificacin en
ganancia de cada uno de los tonos.
6. CONCLUSIONES.
Se dise un ecualizador paramtrico de 10 bandas a partir de filtros con respuesta infinita al
impulso. Esto se logra en base al anlisis de los filtros digitales simples: paso-bajo, paso-alto, paso
de banda y rechazo de banda; cuyas respuestas en frecuencia nacen de los diseos analgicos
(vlvulas, circuitos pasivos y circuitos activos), que al combinarse por medio de sus funciones de
transferencia dan como resultado filtros ms complejos que dan lugar a ecualizadores bsicos
tanto de primer orden (filtros shelving de baja y alta frecuencia) como de segundo orden (filtros
peaking: paso de banda y rechazo de banda filtros notch) que a su vez son el ncleo del
ecualizador paramtrico.
El ecualizador paramtrico como sistema, se obtiene con la conexin de los ecualizadores bsicos
de primer y segundo orden en forma de cascada. La implementacin en Matlab se realiza por
medio de la conexin de etapas de segundo orden empleando la Forma Directa II. Dando como
resultado un ecualizador paramtrico de 10 bandas de orden 18 (2 secciones de primer orden:
ecualizador tipo shelving de baja frecuencia y ecualizador tipo shelving de alta frecuencia; y 8
secciones de segundo orden: ecualizadores tipo peaking paso de banda / rechazo de banda).

REFERENCIAS.
[1] R. Chassaing, Digital signal processing and applications with the c6713 and c6416 dsk. (John
Wiley and Sons, Inc. Hoboken. New Jersey. E.U.A), 518, (2005).
[2] D. F. Elliott, Hanbook of digital signal processing: engineering applications. (Academia Press,
Inc. San Diego, California. E.U.A), 999, (1987).
.
[3] M. D. Lutovac, D. V. Tosic, B. L. Evans, Filter desing for signal processing: Using matlab and
matemtica., (Pearson Education, INC. Upper Saddle River, New Jersey, E.U.A), 800, (2002).
[4] S. K. Mitra, Digital signal processing: Acomputer-based approach, (McGraw-Hill.New York,
E.U.A), 866, (2001).
[5] F. Miyara, Acstica y sistemas de sonido, (CETEAR. Rosario, Argentina), 164, (2001)
[6] F. Miyara, Filtros activos, (Universidad Nacional de Rosario. Rosario, Argentina), 115, (2004).
[7] S. W. Smith, The scientists and engineers guide to digital signal processing, (California
Technical Publishing. San Diego, California, E.U.A), 650, (1999).
[8] H. V. Sung, Journal of Science: Mathematics-Physics. Tomo XXII, Nmero 1, (2006). Pags 4753

Vous aimerez peut-être aussi