Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Guía de Prácticas
1. Adquisición de la Señal de Voz en Matlab
___________________________________________________
___________________________________________________
I. Objetivos
Aprender a utilizar el toolbox de Adquisición de Datos en Matlab.
Reconocer la forma de la señal de voz gráficamente.
Ver las herramientas y utilidades que posee el software en particular el filtrado de la señal de
voz para eliminar cualquier tipo de interferencia.
1
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
a. Describa por lo menos 3 sensores y actuadores que se puedan digitalizar mediante el sistema de
adquisición 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 Micrófono
1 Auricular
Software:
Matlab, con Toolbox de Adquisición de Datos
2
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
V. Actividades
A. La adquisición de Datos en Matlab se lleva a cabo por el Data Acquisition Toolbox , el cual
vamos a usar para poder guardar nuestra señal de voz por un periodo de 1 segundo y con
una frecuencia de muestreo de 44100 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 señal de audio grabada anteriormente, ahora cree una señal
sinusoidal con una frecuencia de 15 KHz, con una amplitud pico a pico de 1 V. la cual se
debe de añadir a nuestra señal original,
3
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
wavplay(data,44100)
Halle la transformada de Fourier para las señales 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,22000)
wavplay(data,16000)
______________________________________________________________________________________
______________________________________________________________________________________
b. ¿Busque en la ayuda el comando wavread, para que sirve?
______________________________________________________________________________________
______________________________________________________________________________________
A. Filtros Digitales.
Un filtro no es más 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 función de transferencia H(z), habitualmente
4
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
Pues bien, entendemos por “diseño de un filtro” las operaciones necesarias para llegar a
obtener la función 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, “diseñar 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 diseñar los filtros, debemos partir de una serie de especificaciones (debemos tener claro
qué misión 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 transición del filtro. Nótese, además, que el valor máximo
del filtro es 1, de forma que se trata de un filtro pasivo (no amplifica ninguna frecuencia,
simplemente atenúa unas más que otras). Esto no es ninguna limitación 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 serían filtros
válidos los que tuviesen respuestas como las que muestra la figura 3.
5
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
Aunque no vamos a entrar en detalles sobre cada una de ellas, es bueno saber que existen
diferentes técnicas de diseño de filtros. Entre las más habituales encontramos las siguientes:
Diseño de Butterworth
Diseño de Chebyshev con rizado en la banda de paso
Diseño de Chebyshev con rizado en la banda atenuada
Diseño de Cauer o de filtros elípticos
Únicamente como referencia podemos ver en la tabla siguiente algunas de las propiedades de
cada una de las técnicas de diseño anteriores:
D. Diseño de filtros
Definiremos en primeros lugares algunos aspectos generales que es necesario conocer antes de
proceder al diseño. En MatLab, las especificaciones se traducen casi de forma directa. Es
necesario conocer siempre cuatro parámetros: 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 tamaño de paso que establecemos en la
simulación), la relación entre Wp, Ws y las frecuencias fp, fs son muy sencillas, tal y como
muestra la tabla siguiente:
6
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
La obtención de la frecuencia normalizada y del orden del filtro necesario es un paso previo a la
obtención de los coeficientes del filtro. Dependiendo del tipo de técnica se usará una de las
siguientes funciones:
• Método de Butterworth
» [N,Wn]=buttord(Wp,Ws,Rp,Rs);
• Método de Chebychev I
» [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);
• Método de Chebychev II
» [N,Wn]=cheb2ord(Wp,Ws,Rp,Rs);
• Método de Cauer
» [N,Wn]=ellipord(Wp,Ws,Rp,Rs);
Esto nos devolverá N (orden del filtro a diseñar) y Wn (frecuencia normalizada) para el método
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
método de diseño seleccionado:
• Método de Butterworth
Filtros paso bajo y paso banda
» [b,a]=butter(N,Wn);
• Método de Chebychev I
Filtros paso bajo y paso banda
» [b,a]=cheby1(N,Rp,Wn);
• Método de Chebychev II
Filtros paso bajo y paso banda
» [b,a]=cheby2(N,Rs,Wn);
• Método de Cauer
Filtros paso bajo y paso banda
» [b,a]=ellip(N,Rp,Rs,Wn);
7
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
Esto nos devolverá a y b para el método seleccionado. El contenido de estos vectores son los
coeficientes del filtro ordenados en potencias descendentes de z, tal y como aparece en la
descripción de la función 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 diseño y fsim la frecuencia que usaremos
para la simulación. H resultará en un vector conteniendo la respuesta en frecuencia (módulo y
fase) para cada una de las frecuencias contenidas en f.
Por último, para ver el resultado podemos ordenar a Matlab que dibuje el módulo del filtro
diseñado:
» plot(f,abs(H));
Con lo que resulta posible observar el diseño y ver si verifica o no correctamente las
especificaciones. Si se desea, también se puede ver la respuesta del filtro en decibelios:
» plot(f,20*log10(abs(H)));
lo que probablemente facilite (utilizando la función zoom si es preciso) comprobar que el filtro
cumple las especificaciones señaladas.
V. Tarea asignada
8
UNAS – Universidad Nacional de San Agustín 2018-1
Fundamentos de Sonido e Imagen Ebert San Román Castillo
d. Que orden de filtro sale y cuáles son los coeficientes del filtro?
f. Filtre la señal de voz distorsionada, ¿Este filtro ha sido capaz de solucionar el problema
de distorsión y recuperar la señal de voz original?. Verifique en el espectro de
frecuencia si se soluciono el problema, de no ser así ajuste los parámetros del filtro
para eliminar la distorsión.
g. Repita el problema con un filtro Rechazabanda para eliminar la frecuencia del tono de
15 KHz, verifique el espectro y escuche la calidad de audio, ¿Cuál de las soluciones es la
más óptima?
2. Filtre la señal de la voz con Ruido producida en la primera sección para que solo este
presente el tono de 15 KHz ? Verifique el funcionamiento y grafique la respuesta del tipo de
filtro diseñado. Utilice un filtro Pasa Altos y Pasabanda