5
  1 - 5 PRACTICA DE LABORATORIO #2 I. IDENTIFICACIÓN CARRERA INGENIERIA EN SISTEMAS ELECTRONICOS ASIGNATURA ELECTROACUSTICA EXPERIENCIA Generación de sonido NOMBRE DOCENTE Jaime Miguel Flores Mujica CONSULTAS Celular : 70671471 e-mail : [email protected] II. TITULO: Generación de Sonido con Matlab III. OBJETIVO: Es el generar sonidos de diferentes frecuencias dentro el rango de frecuencias au dibles, utilizando para ello el software Matlab. IV. FUNDAMENTO TEORICO: Teoría de muestreo: conversión D/A  El proceso de muestreo de una señal y de su reconstrucción a partir de las muestras se representa en la Figura 2.1. Señal Analógica Señal discreta Señal Analógica Figura 2.1: Muestreo y reconstrucción de una señal continúa en el tiempo. El proceso parte de una señal continua x(t) , que se muestrea usando un convertidor A/D para producir una sucesión de valo res discretos x[n] =x(nTs) , donde n es un valor entero que se utiliza como índice de muestreo y Ts es el período de muestreo. La frecuencia de muestreo es el valor  fs = 1/Ts . El convertidor D /A ideal permite recuperar de nue vo la señal a partir de los valores discretos. El Teorema de Muestreo indica que si se elige una frecuencia de muestreo superior a dos veces la frecuencia mayor, f max , presente en la señal de entrada, es decir  fs > 2*f max, entonces la salida y(t) en el si stema de la figura 2.1, será exa ctamente igual a la entrada x(t) si se reconstruye "adecuadamente" la señal. Para obtener la frecuencia fmax se puede representar la entrada como una suma de sinusoidales (Transformación de Fourier) y fmax será le frecuencia asociada a la componente de mayor frecuencia con amplitud distinta de cero. La mayoría de los ordenadores tienen un conversor analógico-digital incorporado (A/D) y un conversor digital- analógico ( D/A) incluido en la tarjeta de sonido. Estos si stemas son las realizaciones físicas de los conceptos idealizados de convertidores A/D y D/A respectivamente. El proceso de conversión digital/analógico que se necesita en esta práctica solo va a depender del ti empo (Ts) ent re los mue streos de la señal y en caso de reproducir la señal con la tarjeta de sonido, debe considerarse este valor como el correspondiente al valor de muestreo del conversor D/A que se est é usando. D esde Matlab, esto se ha ce por el comando sound 

Lab Oratorio # Dos Acustica

Embed Size (px)

Citation preview

Page 1: Lab Oratorio # Dos Acustica

5/12/2018 Lab Oratorio # Dos Acustica - slidepdf.com

http://slidepdf.com/reader/full/lab-oratorio-dos-acustica 1/5

 

 

1 - 5

PRACTICA DE LABORATORIO #2 

I.  IDENTIFICACIÓN 

CARRERA INGENIERIA EN SISTEMAS ELECTRONICOS ASIGNATURA ELECTROACUSTICA EXPERIENCIA Generación de sonido 

NOMBRE DOCENTE Jaime Miguel Flores Mujica CONSULTAS Celular : 70671471

e-mail : [email protected] 

II.  TITULO: Generación de Sonido con Matlab 

III.  OBJETIVO: 

Es el generar sonidos de diferentes frecuencias dentro el rango de frecuencias audibles,utilizando para ello el software Matlab.

IV.  FUNDAMENTO TEORICO: 

Teoría de muestreo: conversión D/A  

El proceso de muestreo de una señal y de su reconstrucción a partir de las muestras se representa en la Figura 2.1.

Señal Analógica Señal discreta Señal Analógica 

Figura 2.1: Muestreo y reconstrucción de una señal continúa en el tiempo.

El proceso parte de una señal continua  x(t) , que se muestrea usando un convertidor A/D para producir una sucesión de valores discretos x[n] =x(nTs) , donde n es un valor entero que se utiliza como índice de muestreo y  Ts  es el período de muestreo. La frecuencia de muestreo es el valor  fs = 1/Ts . El convertidor D/A ideal permite recuperar de nuevo la señal a partir de los valores discretos.

El Teorema de Muestreo indica que si se elige una frecuencia de muestreo superior a dos veces la frecuencia mayor, f max , presente en la señal de entrada, es decir  fs > 2*f max, 

entonces la salida y(t) en el sistema de la figura 2.1, será exactamente igual a la entrada x(t) si se reconstruye "adecuadamente" la señal. Para obtener la frecuencia fmax se puede representar la entrada como una suma de sinusoidales (Transformación de Fourier) y fmax será le frecuencia asociada a la componente de mayor frecuencia con amplitud distinta de 

cero.

La mayoría de los ordenadores tienen un conversor analógico-digital incorporado (A/D) y un conversor digital- analógico (D/A) incluido en la tarjeta de sonido. Estos sistemas son las realizaciones físicas de los conceptos idealizados de convertidores A/D y D/A respectivamente.

El proceso de conversión digital/analógico que se necesita en esta práctica solo va a depender del tiempo (Ts) entre los muestreos de la señal y en caso de reproducir la señal con la tarjeta de sonido, debe considerarse este valor como el correspondiente al valor de muestreo del conversor D/A que se esté usando. Desde Matlab, esto se hace por el comando sound 

Page 2: Lab Oratorio # Dos Acustica

5/12/2018 Lab Oratorio # Dos Acustica - slidepdf.com

http://slidepdf.com/reader/full/lab-oratorio-dos-acustica 2/5

 

 

2 - 5

(x,fs) . Esta función soporta muestreo variable si el hardware de la máquina tiene tal capacidad, una elección conveniente para la conversión D/A es el valor es 8000 muestreos  por segundo, y Ts = 1/8000 segundos. Otra elección común es 11.025 Hz que corresponde a un cuarto del valor de muestreo en uso para discos CD audio.

Generación de sonido con MATLAB.

Matlab dispone de comandos que permiten generar sonidos, así como el comando 

  Sound 

Para obtener la información relativa al comando utilice la ayuda: help sound, y como ejemplo, introduzca en el prompt el siguiente programa: 

>> load handel >>sound(y,Fs) 

Matlab también permite capturar una señal por la entrada auxiliar de la tarjeta de sonido del computador, para ello cuenta con la función: 

wavrecord (t*Fs,Fs,Ch) 

Cuyos parámetros corresponden al tiempo en segundos de captura de la señal, frecuencia de muestreo (admite 8000, 11025, 22050 y 44100), el tipo de canal (1 para mono y 2 para stereo).

Así por ejemplo si se desea capturar una señal en stereo con 5 segundos de duración,con una frecuencia de muestreo de 11.025 podemos emplear las siguientes funciones: 

Fs = 11025; y = wavrecord (5*Fs, Fs, 2); 

Para guardar una señal capturada en formato wav se puede hacer uso de la función: 

wavwrite (y, Fs, NBits, 'Nombre.wav') 

Cuyos parámetros corresponden a la señal grabada, la frecuencia de muestreo, el número de bits (puede ser 8, 16, 24 o 32) y el nombre del archivo en el cual se grabará el sonido. Hay que tener en cuenta que 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.Por ejemplo, para guardar el sonido capturado anteriormente se empleará el siguiente comando: 

Wavwrite (y, Fs,16, 'sonido_uno.wav') 

Para escuchar o manipular vectorialmente un sonido almacenado en formato wav se utilizan dos comandos.

wavread ('File.wav') sound(Var) 

Para el ejemplo anterior  File  es el nombre del archivo que se desea escuchar, los valores de amplitud deben estar en el rango [-1,+1].

Page 3: Lab Oratorio # Dos Acustica

5/12/2018 Lab Oratorio # Dos Acustica - slidepdf.com

http://slidepdf.com/reader/full/lab-oratorio-dos-acustica 3/5

 

 

3 - 5

La variable  Var  corresponde al vector que se desea escuchar cuya frecuencia de muestreo por defecto será de 8192 Hz.

Si se utiliza  sound (var, Fs)  el resultado será un sonido con una frecuencia de muestreo definida por el usuario. Se asume que los valores están dentro del rango [-1,1] ya que los valores que están fuera del rango son clipeados.

Si se emplea sound (var, Fs, Bits) sonará con una frecuencia de muestreo definida por el usuario y determinados número de Bits por muestra.

Por ejemplo, para escuchar la señal guardada anteriormente como sonido_uno, se asigna a una variable s el comando wavread y luego se escucha con el comando sound .

s= wavread ('sonido_uno.wav'); sound(s,44100) 

Si se desean conocer los datos de un archivo en formato wav, como los valores del vector, su frecuencia de muestreo o el número de bits NBits por muestra, se emplea la siguiente sintaxis: 

 [y, Fs, NBits]=wavread ('file.wav') 

En la variable y se almacenan los valores del vector, en la variable Fs se almacena la  frecuencia de muestreo y en la variable Nbits se almacena el número de bits por 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: 

siz= wavread ('file.wav','size') 

En la variable siz se almacena la dimensión del archivo en formato wav.Si se desean leer las primeras N muestras del archivo en formato wav se emplea el siguiente comando: 

 [n]=wavread('file.wav',Num) 

En donde la variable Num corresponde a 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')  En la variable y se almacenan los valores del vector, en la variable Fs se almacena la 

 frecuencia de muestreo, en la variable Nbits se almacena el número de bits por muestra y en la variable Opts se almacena el resto de la información.

En los ejercicios se pide generar diferentes señales sinusoidales discretas en el tiempo con Matlab. Varie la amplitud, el tiempo de muestreo y la frecuencia de las señales y escúchelas con el comando sound. Tenga en cuenta que se pueden producir efectos de saturación y en este caso se debe escalar adecuadamente la amplitud de la señal para  permitir observar diferencias en el comportamiento de las señales..

V.  MATERIALES Y EQUIPOS: 

Para la realización de la presente práctica de laboratorio se requiere los siguientes equipos: 

Page 4: Lab Oratorio # Dos Acustica

5/12/2018 Lab Oratorio # Dos Acustica - slidepdf.com

http://slidepdf.com/reader/full/lab-oratorio-dos-acustica 4/5

 

 

4 - 5

  Software de Matlab 

  Guía de laboratorio dos 

VI.  PROCEDIMIENTO EXPERIMENTAL 

1.- Para utilizar el comando sound , obténgase un vector x1 de valores muestreados en una sinusoidal con A = 1, f = 400 Hz y fase = 0. Use un valor de muestreo de 8000 

muestras/segundo, y calcule el número total de muestras equivalente a un tiempo de duración de 2 segundos.

Mediante el comando, sound( ), escuche el resultado de convertir el vector x1 a través del convertidor D/A de la tarjeta de sonido del PC. (Las tarjetas de audio actuales soportan sin  problemas fs = 8000 Hz o fs = 11025 Hz).

Varié la amplitud de la señal y calibre a partir de qué valor se satura la tarjeta de sonido ¿Cómo puede conseguirse que una señal se escuche a la mitad de volumen? Para una amplitud no saturada varié la fase ¿Qué efecto auditivo produce el cambio de fase? 

2.-  Calcule un nuevo vector  x2  (2 segundos de duración) de muestras tomadas en una sinusoidal con A = 1, f = 800 Hz, y f = pi/3. Escuche el sonido de la señal reconstruida a 

 partir de las muestras.¿ Cuales son las diferencias encontradas con respecta a la señal del apartado 1 ?. Genere una nueva señal que incluya ambas mediante la siguiente sentencia Matlab (se supone que ambos vectores son vectores fila): 

xx = [ x1 zeros(1,2000) x2]; ¿Qué se escuchará? Compruébelo audiblemente.

3.- Vuelva a escuchar el resultado de enviar la señal xx al convertidor D/A, pero cambie la  frecuencia de muestreo en el comando sound( ) a un valor de 16.000 muestras/segundo.

No hay que recalcular las muestras de xx, solamente indicar que la frecuencia de muestreo del convertidor D/A será 16.000 muestras/segundo. Describa las diferencias que se escuchan en este caso, tono, duración.

4.- Generación de una señal audio estereo. 

Genere una matriz Y(Nx2) de dos columnas y cada una de ellas con N muestras de una señal .El comando sound (y, fs) genera una señal estéreo que envía la primera columna por el canal derecho de audio y la segunda por el izquierdo.Genere muestras para las columnas que correspondan a una señal sinusoidal de frecuencia f= 400 Hz con valor de fase = 0 para la primera columna y fase = pi/2 para la segunda.Compruebe como suena y emplee el osciloscopio para comprobar el desfase.

Genere una señal de dos componentes (uno para cada canal) como en el caso anterior y una duración de 15 segundos pero variando su desfase de tal manera que en los primeros 5 segundos están en fase, los siguientes 5 segundos desfasados  Df = pi/2 y los 5 segundos 

 finales desfasados Df = pi. 

5 .- Grabar una pieza musical a través de la entrada de audio de la tarjeta de sonido Reproducirlo y graficarlo.

VII.  CRITERIOS PARA FORMACIÓN DE GRUPOS 

La practica procedimental se la realizara en forma personal, el informe a presentar es  personal y en formato digital 

Page 5: Lab Oratorio # Dos Acustica

5/12/2018 Lab Oratorio # Dos Acustica - slidepdf.com

http://slidepdf.com/reader/full/lab-oratorio-dos-acustica 5/5

 

 

5 - 5

VIII.  DIVERSOS 

El estudiante presentara un informe bajo el siguiente contenido (EN FORMATO DIGITAL): 

INFORME DE LABORATORIO 

IDENTIFICACIÓN 

CARRERA INGENIERIA EN SISTEMAS ELECTRONICOS ASIGNATURA EXPERIENCIA NOMBRE ESTUDIANTE 

Código: Celular : e-mail : 

TITULO OBJETIVO GENERAL OBJETIVOS ESPECIFICOS 

FUNDAMENTO TEORICO MATERIALES Y EQUIPOS PROCEDIMIENTO EXPERIMENTAL CALCULOS Y/O GRAFICOS CONCLUSIONES BIBLIOGRAFIA 

El informe se entregara en formato digital en un archivo con su código, el cual debe contener el documento y los archivos de simulación.