You are on page 1of 4

En los humanos, el rango audible de frecuencias de las seales de audio (msica) va desde 20 a

20. Se asume que el ancho de banda es de 20 . Se quiere convertir una seal de audio a

un formato digital para ser grabada en un CD que opera a una tasa de muestreo de 44.1 . Se

necesita disear un filtro anti aliasing antes del muestreo, el cual debe tener una banda de paso

hasta 20 KHz y una respuesta de fase lineal, por esta razn el diseo se realizar mediante una

aproximacin Butterworth.

Es muy usual que cuando se programa en Matlab se use las siguientes lneas para garantizar que el

workspace este totalmente limpio as mismo el command window:

clc
clear all
close all

Como primer paso es grabar una parte de una seal de audio en un archivo con extensin .wav, y despus

abrir un nuevo New Script y cargar la seal en Matlab, este paso lo hacemos con el comando wavread y

definida mediante una variable, y adems graficamos la seal entrante, de la siguiente forma:

y=wavread('audio.wav')
plot(y)

Recordemos que la seal lleva el nombre de audio en un formato .wav.

En el Segundo Paso se asignan las especificaciones de dicha seal. De la siguiente forma:

fm=44100; %frecuencia de muestreo


fc=20000; %frecuencia de corte
sound(y,fm) %reproduccin del sonido a la frecuencia

La seal grficamente de audio de entrada es como se ve de la siguiente forma: (Ver Figura 1).
Figura 1. Seal del audio de entrada

Durante este paso como ya se tiene la seal guardada en una variable a la que llamamos y, lo que se hace
ahora es pasar una seal que tengo en tiempo pasarla a su frecuencia para permitir un anlisis mucho ms
fcil, primero pasamos a frecuencia de la siguiente forma:

fm=44100; %frecuencia de muestreo


fnyquist=(fm/2) %frecuencia de Nyquist
fc=20000; %frecuencia de corte
wn=(fc/fnyquist) %vector de frecuencia
sound(y,fm) %reproduccin del sonido a la frecuencia

Se toma el rango de muestreo en el que se desea hacer dicha modulacin y la frecuencia con la que se va a
tomar la muestra. Cuando se estn haciendo tomas de muestras es importante usar y tener en cuenta el
teorema de Nyquist para hacer dicho muestreo.
El ejercicio plantea se necesita disear un filtro anti aliasing antes del muestreo, el cual debe tener una

banda de paso hasta 20 KHz y una respuesta de fase lineal, por esta razn el diseo se realizar mediante

una aproximacin Butterworth, para ello los sistemas electrnicos utilizan filtros FIR o cualquiera

dependiendo del ruido que desean eliminar.

Para ello Matlab permite crear filtros virtuales que hacen este procedimiento de la siguiente forma:

[b,a]=butter(2,.907); % Bandpass digital filter design

h=fvtool(b,a); % permite ver todas las caractersticas de un filtro a partir de


los vectores b y a

[h,f]=freqz(b,a,[],44100); % calcula la respuesta en frecuencia de un sistema

[num,den]=butter(1,wn); % Bandpass digital filter design

plot(f,abs(h)); % grfica la funcin

grid on % grilla del grfico

Para nuestro caso como se trata de una seal de audio, definimos que el filtro sea un pasa bajo y que deje

pasar las frecuencias entre el rango de 0 a 20 KHz, ya que las frecuencias estn en 20 Hz y los 20 KHz.

Dando como resultado como podemos observar en la Figura 2 y 3.

You might also like