You are on page 1of 11

UNIVERSIDAD VERACRUZANA

FACULTAD DE INGENIERÍA ELECTRONICA Y COMUNICACIONES


REGIÓN POZA RICA – TUXPAN

PROCESAMIENTO ANALOGICO DE SEÑALES

CATEDRATICO: M.C. Miguel Ángel Rojas Hernández

DISSEÑO DE FILTROS DIGITALES


PRACTICA: FILTRADO DE NOTAS MUSICALES MEDIANTE UN
FILTRO BUTTERWORTH

ALUMNO: CLEMENTE MUÑOZ JUAREZ

POZA RICA, VER. A 01 DE ABRIL DE 2011


FILTRADO DE NOTAS MUSICALES MEDIANTE UN FILTRO BUTTERWORTH

INTRODUCCION

Los filtros son sistemas que se diseñan principalmente para eliminar ciertas componentes no deseadas de una
señal. Existen muños tipos de filtros dependiendo de su clasificación, por ejemplo, si clasificamos a los filtros en
términos de la banda de frecuencia que puede pasar veremos que se clasifican de la siguiente manera:

 Pasabajas: deja pasar frecuencias por debajo de una frecuencia de corte y elimina las mayores que la
frecuencia de corte.
 Pasaaltas: deja pasar las frecuencias mayores que una frecuencia de corte y elimina las menores.
 Pasabanda deja pasar las frecuencias dentro de una banda especificada y elimina las demás.
 Parabanda elimina las frecuencias dentro de una banda especificada y deja pasar todas las demás.

Pasabajas Pasaaltas Pasabanda Parabanda

Las figuras anteriores muestran la función de transferencia de los filtros ideales. Los filtros ideales permiten
el paso de ciertas frecuencias y eliminan completamente otras.

Pero en la realidad no es posible construir estos tipos de filtros debido a que no contamos con componentes
tan precisos que logren hacer el filtrado ideal. Por tal motivo los filtros cuentan con tres fases o regiones del
filtrado;
 En la banda de paso contiene frecuencias que pasan a través del filtro sin ser modificadas.
 En la banda de transición contiene frecuencias entre la frecuencia de corte y la
 banda de rechazo o detención contiene todas las frecuencias que serán eliminadas.

Practica:
FILTRADO DE NOTAS MUSICALES MEDIANTE UN FILTRO BUTTERWORTH

Objetivos:
 Generación de notas musicales (Do, Re, Mi, Fa, Sol, La, Si)
 Graficacion de las notas musicales generadas.
 Sumar todas las notas musicales generadas y graficar los contenidos de frecuencias.
 Diseñar un filtro separacanales que me permita filtras ciertas frecuencias y que suprima las frecuencias
no deseadas.
 Filtrar la señal y graficar el contenido de frecuencia.
 Evaluar los resultados.

BOSQUEJO GENERAL DEL DESAROOLLO DE LA PRÁCTICA


Sabemos que las notas musicales son señales sinusoidales donde la frecuencia de la onda determina el sonido
de la escala; por lo tanto pueden ser generadas a través de MATLAB.

Lo primero que haremos es generar las señales de las notas musicales siguientes: Do, Re, Mi, Fa, Sol, La, Si.

Después sumaremos todas las señales generadas para formar una solo señal que contenga todas las frecuencias
de las notas musicales. Una vez generada la señal, procederemos a diseñar el filtro separacanales especificando
que señales queremos que pase y que señales queremos que las suprima.

Una vez generado el filtro, haremos pasar la señal a través del filtro y nuevamente haremos pruebas para
comprobar que la señal haya sido filtrada correctamente.

DESARROLLO DE LA PRACITCA
Esta tabla representa las frecuencias (en hertzios) de todas las notas musicales que pueden ser reproducidas por
cualquier instrumento o voz (dentro de los parámetros normales, sin considerar los casos excepcionales). Cada
columna representa una de las 12 notas y cada fila una de las 9 octavas.
Frecuencias (en hertzios) de las notas musicales

Oc. 0 Oc. 1 Oc. 2 Oc. 3 Oc. 4 Oc. 5 Oc. 6 Oc. 7 Oc. 8

Do 32,70 65,41 130,81 261,63 523,25 1046,50 2093,00 4186,01

Do# 34,65 69,30 138,59 277,18 554,37 1108,73 2217,46

Re 36,71 73,42 146,83 293,66 587,33 1174,66 2349,32

Re# 38,89 77,78 155,56 311,13 622,25 1244,51 2489,02

Mi 41,20 82,41 164,81 329,63 659,26 1318,51 2637,02

Fa 43,65 87,31 174,61 349,23 698,46 1396,91 2793,83

Fa# 46,25 92,50 185,00 369,99 739,99 1479,98 2959,96

Sol 49,00 98,00 196,00 392,00 783,99 1567,98 3135,96

Sol# 51,91 103,83 207,65 415,30 830,61 1661,22 3322,44

La 27,50 55,00 110,00 220,00 440,00 880,00 1760,00 3520,00

La# 29,14 58,27 116,54 233,08 466,16 932,33 1864,66 3729,31

Si 30,87 61,74 123,47 246,94 493,88 987,77 1975,53 3951,07

Para desarrollar esta práctica decidí usar las frecuencias de la octava 6 para generar las notas musicales
elementales que se muestran resaltadas en el cuadro de arriba.

Generando las señales sinusoidales:

Do=sin (2*pi*fDo*t)
Re=sin (2*pi*fRe*t)
Mi=sin (2*pi*fMi*t)
Fa=sin (2*pi*fFa*t)
Sol=sin (2*pi*fSol*t)
La=sin (2*pi*fLa*t)
Si=sin (2*pi*fSi*t)

Generaremos la señal total (Ft) sumando todas y cada una de las señales.

Ft=Do + Re +M i + Fa + Sol + La + Si

Ahora tenemos una señal que contiene más de una frecuencia, siendo específicamente 7 frecuencias que
corresponden a la de las notas musicales.
Ahora vamos a proceder a diseñar nuestro filtro. Las frecuencias que quiero que se eliminen son: Re, Sol y La.

Para lograr lo anterior tenemos que diseñar nuestro filtro con las siguientes características:

Frecuencia de corte pasabajas=1100 Hz

Frecuencia de corte pasabanda izquierdo=1270 Hz

Frecuencia de corte pasabanda derecho=1500 Hz

Frecuencia de corte pasaaltas=1890 Hz

1270 Hz 1500 Hz 1890 Hz

1100 Hz
RESULTADOS

Con el software de MATLAB logramos obtener los siguientes resultados:


funcion seno de la nota Do funcion seno de la nota Re
1 1 1
funcion seno de la nota Do funcion seno de la nota Re
1 1 1

0.5 0.5 0.5


0.5 0.5 0.5
magnitud

magnitud

magnitud
0 0 0
magnitud

magnitud

magnitud
0 0 0

-0.5 -0.5 -0.5

-0.5 -0.5 -0.5

-1 -1 -1
0 0.01 0.02 0.03 0.04 0.05 0 0.01 0.02 0.03 0.04 0.05 0
-1 tiempo en segundos -1 tiempo en segundos -1
0 0.01 0.02 0.03 0.04 0.05 0 0.01 0.02 0.03 0.04 0.05
tiempo en segundos tiempo en segundos
funcion seno de la nota Fa funcion seno de la nota Sol
1 1 1
funcion seno de la nota Fa funcion seno de la nota Sol
1 1 1

0.5 0.5 0.5

0.5 0.5 0.5


magnitud

magnitud

magnitud
0 0 0
magnitud

magnitud

magnitud
0 0 0

-0.5 -0.5 -0.5

-0.5 -0.5 -0.5

-1 -1 -1
0 0.01 0.02 0.03 0.04 0.05 0 0.01 0.02 0.03 0.04 0.05 0
-1 tiempo en segundos -1 tiempo en segundos -1
0 0.01 0.02 0.03 0.04 0.05 0 0.01 0.02 0.03 0.04 0.05
tiempo en segundos tiempo en segundos
-1 -1
5 0 0.01 0.02 0.03 0.04 0.05 0 0.01 0.02 0.03 0.04 0.05
tiempo en segundos tiempo en segundos

funcion senoseno
funcion de lade
nota Sol Mi
la nota funcion seno de la nota La
1 1 1

0.5 0.5 0.5


magnitud

magnitud
magnitud

0 0 0

-0.5 -0.5 -0.5

-1 -1 -1
50.05 0 0 0.010.01 0.020.02 0.030.03 0.040.04 0.050.05 0 0.01 0.02 0.03 0.04 0.05
tiempo en segundos
tiempo en segundos tiempo en segundos

funcion seno de la nota La


Una vez sumada todas las señales de las notas musicales obtenemos la siguiente señal y su contenido de
1
frecuencias. Aquí en el diagrama de abajo podemos observar que efectivamente nuestra señal está formada por
las 7 frecuencias de las notas musicales.
0.5
suma de las notas musicales contenido de frecuencias de la señal
8 140
magnitud

0
6 120

-0.54 100

2 80
-1
magnitud

0.05 0 0.01 0.02 0.03 0.04 0.05


tiempo en segundos
0 60

-2 40

-4 20

-6 0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 800 1000 1200 1400 1600 1800 2000 2200
tiempo en segundos frecuencia (Hz)
Diseñando nuestro filtro queda como lo muestra la figura siguiente. Podemos observar que las frecuencias de
corte corresponden a las especificadas.
filtros para separar canales
1.4

1.2

0.8
magnitud

0.6

0.4

0.2

0
0 500 1000 1500 2000 2500 3000 3500 4000
Hz

Una vez que nuestra señal pasa a través del filtro obtenemos el siguiente resultado. Aquí podemos observar
que efectivamente nuestro filtro ha suprimido las frecuencias especificadas y ha dejado pasar las frecuencias
correctas.

señal filtrada por el filtro separacanales contenido de frecuencias de la señal filtrada


4 80

3 70

2 60

1 50
magnitud

0 40

-1 30

-2 20

-3 10

-4 0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 800 1000 1200 1400 1600 1800 2000 2200
tiempo frecuencia (Hz)
Conclusiones
Los filtros ideales no existen debido a que no son posibles construirlos en la realidad. Por lo tanto los filtros
cuentan con tres bandas para realizar el proceso de filtrado:

Banda de paso.- permite el paso de todas las frecuencias

Banda de transición.- está comprendida entre la banda de rechazo y la banda de paso. Entre más chico se la
banda de paso mejor es la calidad de filtrado.

Banda de supresión o de rechazo.-comprende todas las frecuencias que serán eliminadas o suprimidas.

Cuando nos encontramos con una señal que tiene varios contenidos de frecuencias y que además esas
frecuencias se encuentran cerca una de la otra, es difícil lograr filtrar perfectamente una señal debido a la
existencia de la banda de transición ya que no existen filtros ideales.

Durante el diseño de nuestro filtro me di cuenta que conforme se aumenta el orden del filtro disminuye la
banda de transición.

Una vez diseñado el filtro con los parámetros adecuados fue posible filtrar la señal correctamente y lograr
obtener los resultados esperados.

“nuestra señal ha sedo filtrado con éxito”

Anexo

Código del programa

%generación de notas musicales. la frecuencia de las notas musicales están


%dadas en Hz. generaremos las notas musicales siguientes: Do=1046.50;
%Re=1174.66; Mi=1318.51; Fa=1396.91; Sol=1567.98; La=1760.00; Si=1975.53
%declaración de las frecuencias de trabajo de las notas musicales
fDo=1046.50;
fRe=1174.66;
fMi=1318.51;
fFa=1396.91;
fSol=1567.98;
fLa=1760.00;
fSi=1975.53;
fs=8192; %frecuencia de muestreo
t=0:1/fs:0.1; %intervalo de tiempo
%Generación de la señal de la nota Do
Do=sin(2*pi*fDo*t);
figure(1); subplot(2,3,1);plot(t,Do); grid on
title ('funcion seno de la nota Do'), xlabel('tiempo en segundos'),
ylabel('magnitud');

%Generacion de la señal de la nota Re


Re=sin(2*pi*fRe*t);
subplot(2,3,2);plot(t,Re); grid on;
title ('funcion seno de la nota Re'), xlabel('tiempo en segundos'),
ylabel('magnitud');

%Generacion de la señal de la nota Mi


Mi=sin(2*pi*fMi*t);
subplot(2,3,3);plot(t,Mi); grid on
title ('funcion seno de la nota Mi'), xlabel('tiempo en segundos'),
ylabel('magnitud');

%Generacion de la señal de la nota Fa


Fa=sin(2*pi*fFa*t);
subplot(2,3,4);plot(t,Fa); grid on
title ('funcion seno de la nota Fa'), xlabel('tiempo en segundos'),
ylabel('magnitud')

%Generacion de la señal de la nota Sol


Sol=sin(2*pi*fSol*t);
subplot(2,3,5);plot(t,Sol); grid on
title ('funcion seno de la nota Sol'), xlabel('tiempo en segundos'),
ylabel('magnitud');

%Generacion de la señal de la nota La


La=sin(2*pi*fLa*t);
subplot(2,3,6);plot(t,La); grid on
title ('funcion seno de la nota La'), xlabel('tiempo en segundos'),
ylabel('magnitud');

%Generacion de la señal de la nota Si


Si=sin(2*pi*fSi*t);

%graficacion de la suma de las notas musicales


Ft=Do+Re+Mi+Fa+Sol+La+Si;
%sound(Ft,fs);
figure (2); subplot(1,2,1); plot(t,Ft); grid on
title ('suma de las notas musicales'), xlabel('tiempo en segundos'),
ylabel('magnitud');

% Graficar el contenido de frecuencias en función de Hz.


Y=fft(Ft,512);
%power espectrum,
Pyy=Y.*conj(Y)/512;
%grafica 80 puntos
f=fs*(50:130)/512;
subplot(1,2,2); plot(f,Pyy(50:130)); grid on;
title('contenido de frecuencias de la señal')
xlabel('frecuencia (Hz)')
%
%generacion del filtro de separacion de canales

T=1/fs; %tiempo de muestreo


fn=fs/2; %frecuencia de Nyquist
f1n=1100/fn; %corte pasabajas normalizado
f2n=1270/fn; %corte pasabanda izquirdo normailizado
f3n=1500/fn; %corte pasabanda derecho normalizado
f4n=1890/fn; %corte pasaaltas normalizado
%
[B1,A1]=butter(30,f1n);
[B2,A2]=butter(10,[f2n,f3n]);
[B3,A3]=butter(20,f4n,'high');
%
[H1,wT]=freqz(B1,A1,200);
[H2,wT]=freqz(B2,A2,200);
[H3,wT]=freqz(B3,A3,200);
%
hertz=wT/(2*pi*T);
figure(3)
plot(hertz,abs(H1),hertz, abs(H2),hertz,abs(H3));
title('filtros para separar canales');
xlabel('Hz'), ylabel('magnitud'),grid on

%salida de la señal filtrada


S1= filter(B1,A1,Ft);
S2= filter(B2,A2,Ft);
S3= filter(B3,A3,Ft);
ST=S1+S2+S3;
sound(S1,fs);
sound(S2,fs);
sound(S3,fs);
figure(4)
subplot(1,2,1); plot(t,ST); grid on;
title('señal filtrada por el filtro separacanales');
xlabel('tiempo'); ylabel('magnitud');
% Graficar el contenido de frecuencias en Hz de la señal filtrada.
Y1=fft(ST,512);
%power espectrum,
Pyy1=Y1.*conj(Y1)/512;
%grafica 80 puntos
f1=fs*(50:130)/512;
subplot(1,2,2); plot(f1,Pyy1(50:130)); grid on;
title('contenido de frecuencias de la señal filtrada')
xlabel('frecuencia (Hz)')