18
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

Utp pds_s_lab4_procesamiento de señales con mat_lab i

Embed Size (px)

Citation preview

Page 1: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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

Page 2: Utp pds_s_lab4_procesamiento de señales con mat_lab i

Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P. 2

Índice

Procesamiento de Señales con MatLab I

� Objetivo

� Ejercicios

� Tarea

Page 3: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 4: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 5: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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');

Page 6: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 7: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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);

Page 8: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 9: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 10: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 11: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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).

Page 12: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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');

Page 13: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 14: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 15: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 16: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 17: Utp pds_s_lab4_procesamiento de señales con mat_lab i

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.

Page 18: Utp pds_s_lab4_procesamiento de señales con mat_lab i

Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 18

Agradecimiento