utp pds_s_lab4_procesamiento de señales con mat_lab i
TRANSCRIPT
Procesamiento Digital de Señales(TC61)
Facultad de Ingeniería Electrónica y Mecatrónica
Laboratorio: 4
Ing. José C. Benítez P.
Procesamiento de Señales con MatLab I
Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P. 2
Índice
Procesamiento de Señales con MatLab I
� Objetivo
� Ejercicios
� Tarea
Objetivos
� El alumno debe demostrar destreza en la adquisición
de distintos tipos de señales de audio en Matlab
para poder almacenarlas, leerlas,, reproducirlas,
procesarlas y mostrar sus características.
� Al finalizar el alumno debe demostrar capacidad para
hallar y mostrar las componentes armónicas de las
señales de audio.
3Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
Ejercicios
4Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
Procesamiento de señales de audio con MatLab
1. Captura de las señales de audio en MatLab:
Para capturar una señal de audio por la entrada MIC (micrófono) del
computador, MatLab cuenta con la función
wavrecord(t*Fs,Fs,Ch)
t es el tiempo en segundos de captura de la señal
Fs es la frecuencia de muestreo (8000, 11025, 22050 y 44100)
Ch es el tipo de canal (1: mono y 2: estéreo).
Al capturar asignarle a una variable para su posterior procesamiento.
Ejemplo:
Capturar una señal de audio en estéreo con 20 segundos de duración, con
una frecuencia de muestreo de 11025:Fs = 11025;
y = wavrecord(20*Fs, Fs, 2);
La captura se ha asignado a la variable vectorial y.
Ejercicios
5Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
2. Guardar las señales de audio en MatLab:
Para guardar una señal capturada en formato WAV se usa la función:
wavwrite(y,Fs,NBits,'Nombre.wav') ;
y es la varibale que contiene el archivo WAV
Fs es la frecuencia de muestreo,
NBits el número de bits (8, 16, 24 o 32) y
Nombre.wav es el nombre del archivo en el que se grabará el sonido.
Observaciones:
- Los valores de amplitud que estén fuera del rango [-1,+1] son clipeados.
- Si no se especifican los NBits el programa asume por defecto 16 Bits.
- Si no se determina una Fs, el programa asume por defecto 8000 Hz.
Ejemplo:
Guardar el sonido capturado anteriormente.wavwrite(y,Fs,16,'sonido_uno.wav');
Ejercicios
6Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
3. Leer las señales de audio desde un archivo WAV en MatLab:
Para leer un archivo de sonido almacenado en formato WAV se
utiliza el comando:z = wavread(‘sonido_uno.wav‘);
Se debe asignar a una variable vectorial para su procesamiento
posterior.
Ejercicios
7Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
4. Reproducir las señales de audio desde una variable vectorial en MatLab:
Para reproducir un archivo de sonido almacenado en una variable vectorial
se utiliza el comando:sound(z);
z es la variable vectorial que contiene el archivo de sonido sonido_uno.wav
cuya frecuencia de muestreo por defecto será de 8192 Hz.
sound(z,Fs);
Reproduce z con una frecuencia de muestreo Fs.
Ejemplo: sound(z,44100);
Se asume que los valores están dentro del rango [-1,1] ya que los valores
que están fuera del rango son clipeados.sound(z,Fs,Bits);
Reproduce z con una frecuencia de muestreo Fs definida por el usuario y
determinados número de Bits por muestra.
Ejemplo: sound(z,11025,4);
Ejercicios
8Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
5. Información sobre las señales de audio en formato WAV en
MatLab:
Para conocer los datos de un archivo en formato WAV:[y,Fs,NBits] = wavread('file.wav');
y almacena los valores del vector,
Fs almacena la frecuencia de muestreo
Nbits almacena el número de bits utilizados para cada muestra
del archivo con formato wav.
Si se desea saber la dimensión de los canales del archivo en
formato wav, se utiliza el siguiente comando:t = wavread('file.wav','size')
t se almacena la dimensión del archivo en formato wav.
Ejercicios
9Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
6. Cortando las señales de audio en formato WAV en MatLab:
Para leer las primeras Num muestras del archivo:[n]=wavread('file.wav',Num)
Num es la cantidad de muestras que se desean tomar del archivo.
Si se desea obtener la información adicional contenida en un
archivo de formato wav, como el copyright o el título, se emplea
el siguiente comando [y,Fs,NBits,Opts]=wavread('file.wav');
y almacenan los valores del vector
Fs almacena la frecuencia de muestreo,
Nbits almacena el número de bits por muestra
Opts almacena el resto de la información.
Ejercicios
10Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
7. Tamaño y dimensión vectorial de las señales de audio en
formato WAV en MatLab:
length(v)
retorna 42860 length(f)
retorna 97074
Dimensión vectorial size(v)
retorna 42860X1, lo que indica que es una señal monofónica. size(f)
retorna 97064X1, lo que indica que es una señal monofónica.
Ejercicios
11Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
8. Gráfico espectral de señales:
Capturar los sonidos del violín y de la flauta utilizando en comando
wavwrite en los archivos violin.wav y flauta.wav respectivamente.
Leer los archivos violin.wav y flauta.wav en las variables vectoriales v
y f respectivamente con el comando wavread.
Problema:
Hacer una gráfica espectral de las señales de un violin y una flauta,
además se desea saber cuál fue el tamaño de las muestras y si las
señales capturadas tienen uno o dos canales (Dimensión Vectorial).
Ejercicios
12Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
SOLUCION:
Adquisición de señales de audio:Fs=44100;
NBits=16;
y=wavrecord(5*FS,Fs,1);
z=wavrecord(10*Fs,Fs,1);
wavwrite(y,Fs,NBits,’violin.wav’);
wavwrite(z,Fs,NBits,’flauta.wav);
Procesamiento de señales de audio:v=wavread('violin.wav');
f=wavread('flauta.wav');
%sound(v);
%sound(f);
espv=abs(fft(v));
espf=abs(fft(f));
subplot(4,1,1),plot(0:97073,f),grid on,title('Audio de una flauta');
subplot(4,1,2),plot(espf),grid on,title('Espectro de una flauta');
subplot(4,1,3),plot(0:42859,v),grid on,title('Audio de un violin');
subplot(4,1,4),plot(espv),grid on,title('Espectro de un violin');
Ejercicios
13Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
RESULTADOS: En los gráficos se observan la cantidad de componentes armónicas para estos dos instrumentos.
Ejercicios
14Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
I. Adquisición de señales de audio
Obtener 05 señales de audio con frecuencias de muestreo: 8000 y 44100;
con un canal. Y almacene con 8,16 y 32 bits:
a. sonido1 con su voz pronunciando sus nombres y apellidos.
b. sonido2 con la voz de un niño pronunciando sus nombres y apellidos.
c. sonido3 con la voz de una niña pronunciando sus nombres y apellidos.
d. sonido4 con el sonido de animal.
e. sonido5 con el sonido de una puerta que se cierra.
Ejemplo de nombre de archivo: sonido18k1b24c.wav
Es un archivo que corresponde a:
� Audio: sonido1
� Frecuencia de muestreo: 8000 (44k si es de 44100)
� Canales: 1 (Mono)
� Numero de bits: 24
� Cortado: c
NOTA: Los audios no deben ser mayores a 20seg.
Ejercicios
15Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
II. Procesamiento digital de señales de audio
Realizar procesamiento de cada una de las señales de audio obtenidas:
a. Reproducir cada uno de las señales de audio obtenidas. Explicar
diferencias.
b. Mostrar toda la información posible de cada señal obtenida. Comentar
resultados.
c. Mostrar el grafico en el dominio del tiempo de cada señal obtenida.
Comentar resultados.
d. Mostrar el espectro de frecuencias de cada señal obtenida. Comentar
resultados.
e. Cortar cada una de las señales obtenidas a 3000 muestras. Guardarlas
y reproducirlas. Comentar resultados.
Informe de Laboratorio 4
16Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.
� Indicaciones sobre el Informe de Laboratorio:
� Se presentará con el desarrollo de todos los ejercicios
desarrollados y preguntas de esta presentación.
� Debe ser básicamente un documento gráfico en lo
posible. Lo mas importante de un informe de laboratorio
son los conclusiones, comentarios y observaciones.
� Se presenta impreso y en formato digital (en USB).
� Adjuntar en USB:
� Los códigos (archivos *.m) con los comentarios solicitados.
� Los archivos de audio obtenidos.
� Si han utilizado fuentes adicionales.
Presentación
17Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.
� Todas las fuentes, archivos utilizados y el Informe deben
presentarse en USB, dentro de una carpeta que lleve las
iniciales del curso, sus Apellidos, guion bajo y luego el numero
de laboratorio. Ejemplo:
PDS_BenitezPalacios_L4
� Si adjunta fuentes adicionales, debe conservar el nombre
original y agregar _tema.
� Revisar permanentemente el blog del Curso:
http://utppds.blogspot.com.
� Las Tareas que no cumplan las indicaciones
no serán recepcionados por el profesor.
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 18
Agradecimiento