You are on page 1of 3

Universidad Latina de Panam Ingeniera en Telecomunicaciones

Materia Procesamiento de Seales

Profesor Ing. Salvador E. Vargas

Integrantes Ortega Edgardo 8-876-811

Portocarrero Silvia 3-732-613 Salinas ngel Sasso Ivn 2-730-1325 4-770-447

Objetivo
Utilizar el programa MATLAB y sus comandos de creacin de filtros para la elaboracin de un ecualizador digital de seis canales que vaya desde los 30 Hz hasta 18 kHz.

Introduccin
Un ecualizador es un dispositivo que procesa las seales de audio modificando el contenido en las frecuencias cambiando las amplitudes de sus coeficientes lo que da como resultado en diferentes volmenes para cada frecuencia. En este trabajo se trabaj un ecualizador de 6 bandas con filtros Butterworth pasabanda.

Frecuencias escogidas
Nuestro ecualizador debe de ir desde los 30 Hz hasta 18 kHz, Tomando en cuenta que los ecualizadores profesionales cuentan con al menos diez bandas (31, 63, 125, 250, 500, 1000, 2000, 4000, 8000 y 16000 Hz), realizamos un ajuste y dividimos las frecuencias de la siguiente manera.

Nmero de Banda 1 2 3 4 5 6

Sonido Bajos Bajos Medios Medios Altos Altos

Frecuencia 30 Hz-300 Hz 300 Hz -600 Hz 600 Hz -1000 kHz 1000 kHz -5000 kHz 5000 kHz -10000 kHz 10000 kHz -18000 kHz

Cdigo de programacin en MATLAB


[y,Fs,NBits]=wavread('matlabtest3.wav');% permite leer el archivo wav, nos brinda la informacin de frecuencia de muestreo y el nmero de bits que lo componen Fs % usa la frecuencia de muestreo que obtuvimos anteriormente [B1,A1]=butter(3,[1.36e-3 1.36e-2]); % aqu definimos los valores de las frecuencias que deseamos, este valor se encuentra en los corchetes, va de 30 a 300 [B2,A2]=butter(3,[1.36e-2 27.2e-3]); % la frecuencia del filtro es de 300 a 600 [B3,A3]=butter(3,[27.2e-3 45.3e-3]); % la frecuencia del filtro es de 600 a 1000 [B4,A4]=butter(3,[45.3e-3 226.8e-3]); % la frecuencia del filtro es de 1000 a 5000 [B5,A5]=butter(3,[226.8e-3 453.5e-3]); % la frecuencia del filtro es de 5000 a 10000 [B6,A6]=butter(3,[453.5e-3 816.3e-3]); % la frecuencia del filtro es de 10000 a 18000 Y1 = filter(B1,A1,y); % este comando da el resultado de filtrar la muestra de audio con los valores del primer filtro Y2 = filter(B2,A2,y); % este comando da el resultado de filtrar la muestra de audio con los valores del segundo filtro Y3 = filter(B3,A3,y); % este comando da el resultado de filtrar la muestra de audio con los valores del tercer filtro Y4 = filter(B4,A4,y); % este comando da el resultado de filtrar la muestra de audio con los valores del cuarto filtro Y5 = filter(B5,A5,y); % este comando da el resultado de filtrar la muestra de audio con los valores del quinto filtro Y6 = filter(B6,A6,y); % este comando da el resultado de filtrar la muestra de audio con los valores del sexto filtro % en esta parte tenemos los resultados del filtrado, aqu configuraremos nuestro ecualizador multiplicando por mltiplos mayores que 1 para aumentar la frecuencia del filtro deseado Z1= Y1*2; % se multiplica por 2 para aumentar los bajos Z2= Y2*5; % se multiplica por 5 para aumentar los bajos Z3= Y3*5; % se multiplica por 5 para aumentar los medios Z4= Y4*5; % se multiplica por 5 para aumentar los medios Z5= Y5*20; % se multiplica por 20 para aumentar los altos Z6= Y6*20; % se multiplica por 20 para aumentar los altos M= (Z1+Z2+Z3+Z4+Z5+Z6); % en esta parte se realiza la suma de las configuraciones previamente hechas para tener una nica salida A= max(abs(M)); % se busca el mximo valor absoluto de los dos canales de audio que componen la muestra B= max(A); % muestra el mximo valor de estos dos canales F= M/B; % para evitar distorsiones y cortes en el audio final se normaliza dividiendo la seal entre e mximo valor de ambos canales sound (F,Fs) % por ultimo reproducimos el resultado con la frecuencia de muestreo obtenida al principio

You might also like