Sie sind auf Seite 1von 9

UCSP - Facultad de Ingeniera Ing.

Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

PRIMERA UNIDAD: PRODUCCIN DEL HABLA Y SU PERCEPCIN AUDITIVA

1
Alumno(s):

Gua de Prcticas
1. Adquisicin de la Seal de Voz en Matlab

Grupo: ___________

Nota:

___________________________________________________ ___________________________________________________

I. Objetivos
Aprender a utilizar el toolbox de Adquisicin de Datos en Matlab. Reconocer la forma de la seal de voz grficamente. Ver las herramientas y utilidades que posee el software en particular el filtrado de la seal de voz para eliminar cualquier tipo de interferencia.

II. Contenido terico


Captulo 1: Produccin del habla y su percepcin auditiva El Toolbox de Adquisicin de Datos de Matlab es una coleccin de Archivos M de funciones y archivos MEX (librera propietaria de Matlab). El toolbox tambin incluye variaos grupos de (DLLs) llamadas adaptadores, los que nos permite interactuar con diferentes tipos de hardware, el propsito de este toolbox es proveer de herramientas y recursos necesarios para medir y analizar los fenmenos fsicos que provienen del hardware. La figura 1 describe 2 caractersticas importantes en un sistema de Adquisicin de Datos: 1. La seal en si es la representacin de la entrada al sensor, acondicionada, digitalizada en binario para que la computadora puede procesarla para extraer la informacin mas significativa. En nuestro caso, los diferentes niveles de sonido son adquiridos desde el micrfono, amplificados, digitalizados por la tarjeta de sonido y guardados en el workspace de MATLAB para su subsecuente anlisis de su contenido. 2. Los datos generados en el computador son convertidos a su representacin analgica y son los actuadores en nuestro sistema. Por ejemplo, un vector de datos del workspace de MATLAB es convertido a su representacin analgica por la tarjeta de sonido y emitido por medio de los parlantes.

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

Figura 1. Sistema de Adquisicin de Datos.

III. Cuestionario previo


a. Describa por lo menos 3 sensores y actuadores que se puedan digitalizar mediante el sistema de adquisicin de datos de Matlab. ___________________________________________________________________________________ ___________________________________________________________________________________ b. Describa brevemente los siguiente tipos de filtros, Filtro Pasabajos, Filtro Pasaaltos, Filtro Rechazabanda y filtro Pasabanda? ___________________________________________________________________________________ ___________________________________________________________________________________ c. Cmo se realiza un filtro digital? ___________________________________________________________________________________ ___________________________________________________________________________________

IV. Equipos y materiales


Laboratorio: Electrnica y Comunicaciones Equipos y dispositivos: 1 Computador Personal 1 Micrfono 1 Auricular Software: Matlab, con Toolbox de Adquisicin de Datos

V. Actividades 2

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

1. Actividad: Adquisicin de Data en Matlab


A. La adquisicin de Datos en Matlab se lleva a cabo por el Data Acquisition Toolbox , el cual vamos a usar para poder guardar nuestra seal de voz por un periodo de 1 segundo y con una frecuencia de muestreo de 8000 Hz, mediante un nico canal. Antes de correr el siguiente archivo M, compruebe que el micrfono esta conectado y funcionando en la computadora.

Archivo M function Grab_datos(p) fs = 8000; w1 = analoginput('winsound'); chan = addchannel(w1,1); duration = 1; % one second acquisition set(w1,'SampleRate',fs) ActualRate = get(w1,'SampleRate'); set(w1,'SamplesPerTrigger',ActualRate*duration) set(w1,'TriggerChannel',chan) set(w1,'TriggerType','Software') set(w1,'TriggerCondition','Rising') set(w1,'TriggerConditionValue',-0.014) start(w1) data = getdata(wi); wavwrite(data,8000,'pz.wav') length(data) plot(data) delete(w1) clear w1

B. La siguiente etapa en la adquisicin de datos es reconocer nuestra seal grabada por el archivo M anterior, para eso ejecute el siguiente comando.

wavplay(data,8000)
Con la cual escucharemos la seal de audio grabada anteriormente, ahora cree una seal sinusoidal con una frecuencia de 15 KHz, con una amplitud pico a pico de 1 V. la cual se debe de aadir a nuestra seal original,

n=linspace(0,2,16000); y=sin(2*pi*15000*n); figure(2),plot(n,y) data2=data'+y; plot(n,data2)

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

Escuche la seal creada, que diferencia nota respecto a la anterior.

wavplay(data2,8000)
Preguntas: a. Explicar qu ocurre si se reproduce data a una frecuencia superior o inferior a la grabada?

wavplay(data,2000) wavplay(data,16000)
______________________________________________________________________________________ ______________________________________________________________________________________ b. Busque en la ayuda el comando wavread, para que sirve? ______________________________________________________________________________________ ______________________________________________________________________________________

2 Actividad: Filtros en Matlab


Uno de los problemas ms frecuentes en la Ingeniera de Telecomunicaciones es la necesidad de separar diferentes componentes en frecuencia de una seal. A este proceso se le denomina filtrado y se llama filtro al subsistema encargado de realizar dicha tarea. Seran innumerables las diferentes aplicaciones de los filtros. Habitualmente se emplean para tareas tales como la eliminacin de ruido o interferencias, en procesos de modulacin y demodulacin de seales, en la limitacin del ancho de banda de seales, etc. Independientemente de su funcin, a la hora de introducir un filtro en un sistema de cualquier tipo, es necesario conocer de antemano las especificaciones que dicho filtro debe poseer. Una vez conocidas stas, se procede a disear el filtro apropiado. Por ltimo, dicho filtro sera construido o programado (dependiendo de si se trata de un filtro analgico o digital) e insertado en el punto apropiado del sistema.

A. Filtros Digitales.
Un filtro no es ms que un sistema lineal e invariante en el tiempo. Por tanto, es posible asociar a un filtro los diferentes conceptos ya conocidos para este tipo de sistemas: respuesta impulso h[n], o funcin de transferencia H(z), habitualmente Pues bien, entendemos por diseo de un filtro las operaciones necesarias para llegar a obtener la funcin de transferencia H(z) del filtro. H(z) se expresa de la forma siguiente:

Donde m es el orden del numerador y n el orden del denominador. Pues bien, disear un filtro equivale a determinar los valores de n, m y los coeficientes b1...bm+1 y a1...an+1. Por tanto, ese va a ser el objetivo.

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

B. Plantilla de especificaciones
Para disear los filtros, debemos partir de una serie de especificaciones (debemos tener claro qu misin deber cumplir el filtro). Estas se representan habitualmente en una plantilla, tal y como muestra la figura 2.

Figura 2. Plantilla De Especificaciones de un filtro pasabajos

En la plantilla anterior podemos distinguir los cuatro parmetros de inters: fp Frecuencia de final de la banda de paso (pass-band) fs Frecuencia de inicio de la banda atenuada (stop-band) Rp Rizado mximo que vamos a permitir en la banda de paso (en dB) Rs Atenuacin mnima que deseamos en la banda atenuada (en dB)

La zona entre fp y fs es la banda de transicin del filtro. Ntese, adems, que el valor mximo del filtro es 1, de forma que se trata de un filtro pasivo (no amplifica ninguna frecuencia, simplemente atena unas ms que otras). Esto no es ninguna limitacin ya que siempre es posible conectar a la entrada o a la salida del filtro un amplificador. La zona rayada en la plantilla es la zona en la que el filtro no puede entrar. Aceptaremos por tanto el filtro si cae en la zona en blanco. Por ejemplo, para la plantilla anterior seran filtros vlidos los que tuviesen respuestas como las que muestra la figura 3.

Figura 3. Filtros validos para una Plantilla De Especificaciones de un filtro pasabajos

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

C. Seleccin de la tcnica de diseo


Aunque no vamos a entrar en detalles sobre cada una de ellas, es bueno saber que existen diferentes tcnicas de diseo de filtros. Entre las ms habituales encontramos las siguientes: Diseo Diseo Diseo Diseo de Butterworth de Chebyshev con rizado en la banda de paso de Chebyshev con rizado en la banda atenuada de Cauer o de filtros elpticos

nicamente como referencia podemos ver en la tabla siguiente algunas de las propiedades de cada una de las tcnicas de diseo anteriores:

D. Diseo de filtros
Definiremos en primeros lugares algunos aspectos generales que es necesario conocer antes de proceder al diseo. En MatLab, las especificaciones se traducen casi de forma directa. Es necesario conocer siempre cuatro parmetros: Wp, Ws, Rp y Rs donde Rp y Rs son las atenuaciones en banda de paso y en banda atenuada, tal y como hemos definido anteriormente y Wp, Ws son las frecuencias "normalizadas". Para "normalizar" dichas frecuencias es necesario saber cual es la frecuencia de muestreo que vamos a utilizar para las simulaciones. Si denominamos fsim a dicha frecuencia (el inverso del tamao de paso que establecemos en la simulacin), la relacin entre Wp, Ws y las frecuencias fp, fs son muy sencillas, tal y como muestra la tabla siguiente:

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

La obtencin de la frecuencia normalizada y del orden del filtro necesario es un paso previo a la obtencin de los coeficientes del filtro. Dependiendo del tipo de tcnica se usar una de las siguientes funciones: Mtodo de Butterworth [N,Wn]=buttord(Wp,Ws,Rp,Rs); Mtodo de Chebychev I [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs); Mtodo de Chebychev II [N,Wn]=cheb2ord(Wp,Ws,Rp,Rs); Mtodo de Cauer [N,Wn]=ellipord(Wp,Ws,Rp,Rs);

Esto nos devolver N (orden del filtro a disear) y Wn (frecuencia normalizada) para el mtodo seleccionado. Una vez conocido el orden y la frecuencia normalizada, el siguiente y ltimo paso es obtener los coeficientes del filtro. Para ello utilizaremos una de las siguientes funciones, dependiendo del mtodo de diseo seleccionado: Mtodo de Butterworth Filtros paso bajo y paso banda [b,a]=butter(N,Wn); Mtodo de Chebychev I Filtros paso bajo y paso banda [b,a]=cheby1(N,Rp,Wn); Mtodo de Chebychev II Filtros paso bajo y paso banda [b,a]=cheby2(N,Rs,Wn); Mtodo de Cauer Filtros paso bajo y paso banda [b,a]=ellip(N,Rp,Rs,Wn); Esto nos devolver a y b para el mtodo seleccionado. El contenido de estos vectores son los coeficientes del filtro ordenados en potencias descendentes de z, tal y como aparece en la descripcin de la funcin de transferencia:

E. Verificacin del Diseo


Es posible verificar directamente en MatLab si un filtro cumple o no las especificaciones que se le hayan impuesto. Para ello basta con definir un vector de frecuencias que vaya desde f0 (la frecuencia inicial que nos interese) hasta ff (la frecuencia final que nos interese, siempre teniendo en cuenta que ff<<fsim/2). Para definir este vector haremos:

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

f=f0:fstep:ff; Donde fstep es el paso entre frecuencias. Ahora calculamos la respuesta del filtro para cada una de las frecuencias anteriores mediante: H=freqz(b,a,f,fsim); siendo b y a los coeficientes del filtro obtenidos en el diseo y fsim la frecuencia que usaremos para la simulacin. H resultar en un vector conteniendo la respuesta en frecuencia (mdulo y fase) para cada una de las frecuencias contenidas en f. Por ltimo, para ver el resultado podemos ordenar a Matlab que dibuje el mdulo del filtro diseado: plot(f,abs(H)); Con lo que resulta posible observar el diseo y ver si verifica o no correctamente las especificaciones. Si se desea, tambin se puede ver la respuesta del filtro en decibelios: plot(f,20*log10(abs(H))); lo que probablemente facilite (utilizando la funcin zoom si es preciso) comprobar que el filtro cumple las especificaciones sealadas. Realice el filtrado de la seal mediante el comando filter

V. Tarea asignada
1. Diseo de un filtro pasabajos para limpiar nuestro sistema de Voz corrupto a. Grafique su seal de voz adquirida en el espectro de frecuencia. Utilice el comando fft(). b. Grafique su seal de voz distorsionada en el espectro de frecuencia. Que diferencias existen con el espectro de frecuencias del paso a. c. Disee un filtro paso bajo Chevysheb con las siguientes caractersticas: Atenuacin (o rizado) mximo en la banda de paso: 1 dB Atenuacin (o rizado) mnimo en la banda atenuada: 40 dB Frecuencia de final de la banda de paso: 8000 Hz Frecuencia de inicio de la banda atenuada: 10000 Hz La frecuencia de simulacin a utilizar es 70000 Hz

d. Que orden de filtro sale y cules son los coeficientes del filtro? e. Grafique la funcin de trasferencia del filtro f. Filtre la seal de voz distorsionada, Este filtro ha sido capaz de solucionar el problema de distorsin y recuperar la seal de voz original?. Verifique en el espectro de frecuencia si se soluciono el problema, de no ser as ajuste los parmetros del filtro para eliminar la distorsin.

UCSP - Facultad de Ingeniera Ing. Telecomunicaciones Tratamiento de Seales Multimedia

2011-2 Ebert San Romn Castillo

2. Filtre la seal de la voz con Ruido producida en la primera seccin para que solo este presente el tono de 12 KHz ? Verifique el funcionamiento y grafique la respuesta del tipo de filtro diseado.

Das könnte Ihnen auch gefallen