Professional Documents
Culture Documents
Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
1
Gua de Prcticas
1. Adquisicin de la Seal de Voz en Matlab
___________________________________________________
___________________________________________________
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.
1
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
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?
___________________________________________________________________________________
___________________________________________________________________________________
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 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
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.
function Grab_datos(p)
% Record your voice for 5 seconds.
recObj = audiorecorder(44100, 8, 1);
get(recObj)
disp('Start speaking.')
recordblocking(recObj, 5);
disp('End of Recording.');
wavwrite(myRecording,44100,'pz.wav')
length(myRecording)
plot(myRecording)
wavplay(myRecording,44100)
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,
3
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
y = 0.7*sin(2*pi*15000*t);
figure(2),plot(y)
data= myRecording+y;
plot(n,data)
wavplay(data,44100)
Halle la transformada de Fourier para las seales de las variables myRecording, y, data.
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?
______________________________________________________________________________________
______________________________________________________________________________________
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:
4
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
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.
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.
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.
5
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
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 de Butterworth
Diseo de Chebyshev con rizado en la banda de paso
Diseo de Chebyshev con rizado en la banda atenuada
Diseo 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:
6
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia 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);
7
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
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:
f=f0:fstep:ff;
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.
V. Tarea asignada
8
UCSP - Facultad de Ingeniera Ing. Telecomunicaciones 2011-2
Tratamiento de Seales Multimedia Ebert San Romn Castillo
d. Que orden de filtro sale y cules son los coeficientes 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.
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.