Sie sind auf Seite 1von 6

13

Laboratorio 7 PDS con la tarjeta de sonidos y Matlab


El objetivo de esta sesi on de laboratorio es mostrar que con algunos recursos de c omputo muy comunes se pueden implantar y probar algunos algoritmos de procesamiento digital de se nales.

13.1.

Introducci on

Una estaci on de trabajo, o laboratorio, para el procesamiento digital de se nales incluir a al menos: Una tarjeta de adquisici on de datos con puertos de entrada/salida anal ogicos, con opciones para selecci on de tasa de muestreo a gusto de el usuario, ganancia programable, y alta capacidad de almacenamiento (memoria). Unidad de procesamiento para la implantaci on de algoritmos de PDS, y Program atica (software) de desarrollo. Se puede decir que es necesario: una computadora, una tarjeta DSP y programas de c omputo. En casi cualquier computadora personal se tiene disponible una tarjeta de sonido. Tambi en se pueden encontrar programas de c omputo para grabar y reproducir se nales de audio. Usualmente, este programa viene inclu do en Windows c , Linux, y dem as sistemas operativos. Algunos sistemas multimedia incluyen un programa para desplegar y editar estas se nales de audio 227

228

DE DATOS 13.2. TARJETA DE ADQUISICION

usando diferentes formatos est andar como: wav, VOC, mp3, entre otros. Estos programas de c omputo pueden incluir diferentes opciones de despliegue en el dominio temporal, o en el dominio de la frecuencia, esto u ltimo en dos y tres dimensiones. La tarjeta de sonido proveer a la circuiter a (hardware) necesaria para la adquisici on de datos, usualmente con una resoluci on de 16 bits, con entrada/salida mono/estereo. Algunos programas para edici on de archivos de audio, gratuitos (freeware) o de bajo costo (shareware), se pueden encontrar en internet. Algunos son muy sosticados. Una opci on es Cool95, llamado anteriormente CoolEdit. Una versi on m as actual es el programa de c omputo Audacity. Para completar la estaci on de laboratorio esta sosticada circuiter a debe ser complementada con Matlab que proveer a el ambiente de desarrollo para los algoritmos de PDS. Si se desea tambi en se puede trabajar con alguna otra versi on de acceso libre como Scilab, Octave, entre otras.

13.2.

Tarjeta de adquisici on de datos

Se puede usar la tarjeta de sonido para registrar (grabar) se nales anal ogicas en el intervalo de frecuencias de 0-11 kHz, o superiores. Esto signica que las se nales no necesariamente son se nales de audio. Estas pueden ser se nales provenientes de una gran variedad de sensores o transductores y para una gran variedad de experimentos. Si se desea, se pueden usar se nales de audio disponibles en el sistema, como los archivos WAV que aparecen bajo el subdirectorio Windows.

13.3.

Filtrado

Bajo el ambiente de Matlab se probar a el efecto de diferentes dise nos de ltros digitales. Filtro Pasa-bajas. Dise ne un ltro el ptico con las siguientes especicaciones: frecuencia de corte de 1 kHz con -0.5 dB de rizo, atenuaci on en la banda de rechazo de 40 dB a 2 kHz y frecuencia de muestreo de 11.025 kHz. Antes de comenzar, se lee el archivo de la se nal de audio a ser ltrada, al hacer eso se puede recuperar la frecuencia de muestreo, tal como fue grabada. Esta frecuencia de muestreo ser a empleada en el dise no del ltro digital. Una vez que haya encontrado el orden n del ltro, escriba (note que n debe haber sido denida previamente): Ejercicio 13.1 [sig,Fs] = wavread(c:\cursopds\clau2.wav); esct = [1:length(sig)]/Fs; plot(esct,sig) [num,den] = ellip(n,.5,40,1000/(Fs/2)); [h,fr] = freqz(num,den,200,Fs);
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

13.3. FILTRADO

229

semilogx(fr,20*log10(abs(h))) (El archivo .wav para este ejercicio puede ser cualquier archivo disponible en el sistema, pero es recomendable que no sea muy grande. Este debe tener una duraci on entre uno y cinco segundos, con una frecuencia de muestreo de 11,025 Hz. Aqu se supone que el archivo de sonido ha sido colocado en el directorio c:\cursopds.) N otese la muy estrecha banda de transici on del ltro. Analice y explique cu al es el sentido o la acci on de cada l nea. Ejercicio 13.2 Ahora, genere una versi on ltrada de la se nal de audio escribiendo: sigfil = filter(num,den,sig); Ejercicio 13.3 Ahora se puede reproducir la se nal original y la se nal ltrada usando: sound(sig,Fs) despu es de eso, sound(sigfil,Fs) El efecto del ltrado es claramente audible; se puede tambi en hacer una inspecci on visual del procesamiento efectuado sobre la se nal de entrada. Si traza la gr aca de los vectores sig y sigfil obtendr a una representaci on en el dominio temporal de ambas se nales. Eso equivale, en cierto modo, a tener un osciloscopio. Trace las gr acas de sig y sigfil. Ejercicio 13.4 Una mejor elecci on es usar una representaci on en el dominio de la frecuencia, en cuyo caso se espera ver m as claramente el efecto del ltrado sobre el contenido de frecuencia de la se nal. N = 512; escf = (0:(N/2)-1)/(N/2)*Fs/2; fft1 = 20*log10(abs(fft(sig,N))); plot(escf,fft1(1:N/2)) figure fft2 = 20*log10(abs(fft(sigfil,N))); plot(escf,fft2(1:N/2)) Recu erdese que la se nal puede ser cualquier se nal del mundo real proveniente de un micr ofono o de alg un proyecto de instrumentaci on personal. Ejercicio 13.5 Filtro pasa-altas (FPA) Dise ne y pruebe un ltro el ptico pasa-altas con las siguientes especicaciones: frecuencia de corte de 1.5 kHz con 0.5 dB de rizo, atenuaci on en la banda de rechazo de 40 dB a 500 Hz. Si lo desea puede emplear la n anterior.
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

230

13.4. ALGUNOS EFECTOS DE SONIDO

[num2,den2] = ellip(n,.5,40,1500/(Fs/2),high); [h,fr] = freqz(num2,den2,200,Fs); semilogx(fr,20*log10(abs(h))) sighi = filter(num2,den2,sig); sound(sig,Fs) sound(sighi,Fs) Obs ervese el efecto del ltro en el dominio de la frecuencia, como se hizo a ntes. Ejercicio 13.6 Filtro pasa-banda (FPB) Pruebe un ltro pasa-banda con f1 = 500 Hz, flow = 1000, fup = 2000, y f2 = 3000 Hz. Rizo en la banda de paso de 0.5 dB y atenuaci on en la banda de rechazo de 40 dB. Escuche el efecto del ltro sobre el archivo de voz. Ejercicio 13.7 Filtro Rechazo de banda (FRB) Finalmente, pruebe un ltro rechazo de banda con f1 = 500 Hz, flow = 1000, fup = 2000, y on en la f2 = 3000 Hz; con un rizo en la banda de paso de 0.5 dB y atenuaci banda de rechazo de 40 dB.

13.4.

Algunos efectos de sonido

Ejercicio 13.8 Para escuchar algunos efectos divertidos sobre el archivo de voz, introduzca lo siguiente: siginv = sig(length(sig):-1:1); sound(siginv,Fs) Suena a algo as como: Ich weise nicht Deutsch sprechen !, cierto?

13.5.

Un poco de reverberaci on

Reverberaci on es el resultado de muchas reexiones de sonido que ocurren en un cuarto. Esto puede ser modelado usando algoritmos digitales que intentan imitar las reverberaciones del cuarto usando principalmente dos tipos de ltros RII. Uno de estos ltros es el ltro en peine (comb lter), y el otro es el ltro pasa-todo (all-pass lter).

13.5.1.

Filtro digital pasa-todo

Ejercicio 13.9 Introduzca las siguientes instrucciones: num = [0.5;zeros(400,1);1]; den = [1;zeros(400,1);.5]; echo = filter(num,den,sig);
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

DE SENALES 13.6. GENERACION sound(echo,Fs) num = [0.5;zeros(2000,1);1]; den = [1;zeros(2000,1);.5]; echo = filter(num,den,sig); sound(echo,Fs)

231

Investigue por qu e se le llama ltro pasa-todo y qu e sentido tiene aplicar un ltro as .

13.6.

Generaci on de se nales

Es posible generar casi cualquier se nal y enviarla a trav es de la tarjeta de sonido en la misma manera que se reproducen los archivos WAV. La se nal generada puede ser el resultado de un algoritmo de procesamiento digital de se nales, como la transformada r apida de Fourier (FFT), o cualquier otra operaci on, ya que la se nal es justamente una secuencia de n umeros en un vector. Ejercicio 13.10 El siguiente es un simple ejemplo: Fs = 8000; delta_t = 1/Fs; dur = 1; tt = 0:delta_t:dur; frec1 = 300; x1 = cos(2*pi*frec1*tt); sound(x1,Fs) frec2 = 1000; x2 = cos(2*pi*frec2*tt); sound(x1,Fs) xs = x1+x2; sound(xs,Fs) Finalmente, seleccione una salida de 7000 Hz, frec3 = 7000; x3 = cos(2*pi*frec3*tt); sound(x3,Fs) Compare este sonido con x2 sound(x2,Fs) Explique qu e sucede con el sonido de 7000 Hz.
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

232

BIBLIOGRAF IA

Bibliograf a
[1] The Student Edition of Matlab, Version 5 Users Guide. The MathWorks, Inc., Prentice Hall, Upper Sadle River, NJ 07458, (1997).

G. Miramontes, ISBN 968-5923-15-9

Pr acticas de Laboratorio

Das könnte Ihnen auch gefallen