Practica 3 Analisis de Audio en Tiempo Real

download Practica 3 Analisis de Audio en Tiempo Real

of 5

Transcript of Practica 3 Analisis de Audio en Tiempo Real

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    1/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 1 

    Ingeniería En Comunicaciones y Electrónica.

     

    Sistemas en Tiempo Real.

    Practica 3: Análisis de Audio en Tiempo Real

    Alumno:

    López López Cesar

    Especialidad: Computación.

    Boleta: 2012351148

    Profesor: Orlando Beltrán

    Fecha: 23| Febrero| 2015.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    2/10

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    3/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 3 

    INTRODUCCION  

    El procesamiento de señales es el procesamiento, amplificación e interpretación de señales. Las

    señales pueden proceder de diversas fuentes. Existen diversos software que permiten interpretar

    archivos de video o de audio y mostrar la señal representativa de los mismos para entender su

    comportamiento.

    OBJETIVO 

    El Alumno utilice el ambiente de desarrollo Matlab para obtener de un archivo de audio si grafica

    correspondiente y obtenga de igual manera la transformada de Fourier deslizante.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    4/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 4 

    MARCO TEORICO

    El procesamiento de señales es el procesamiento, amplificación e interpretación de señales. Las

    señales pueden proceder de diversas fuentes. Hay varios tipos de procesamiento de señales,

    dependiendo de la naturaleza de las mismas.

      Procesamiento de señales digitales - para señales digitalizadas. El procesado se hace

    mediante circuitos digitales, microprocesadores y ordenadores.

      Procesamiento analógico de señales - para señales analógicas, todas aquellas que son

    continuas en el tiempo

      Procesamiento de señales de audio - para señales electrónicas que representan sonidos

     

    Procesamiento de señales de voz - para analizar señales de voz humana  Procesamiento de señales de vídeo - para interpretar movimientos en escenas

      Procesamiento de matrices

    Una señal de audio es una señal analógica eléctricamente exacta a una señal sonora;

    normalmente está acotada al rango de frecuencias audibles por los seres humanos, que está

    aproximadamente entre los 20 y los 20.000 Hz (el equivalente, casi exacto a 10 octavas).

    Dado que el sonido es una onda de presión se requiere un transductor de presión (un micrófono)

    que convierte las ondas de presión de aire (ondas sonoras) en señales eléctricas (señales

    analógicas).

    La conversión contraria se realiza mediante un altavoz —también llamado bocina o altoparlante

    en algunos países latinoamericanos, por traducción directa del inglés loudspeaker—, que

    convierte las señales eléctricas en ondas de presión de aire.

    Solamente un micrófono puede captar adecuadamente todo el rango audible de frecuencias, en

    cambio para reproducir fidedignamente ese mismo rango de frecuencias suelen requerirse dos

    altavoces (de agudos y graves) o más.

    Una señal de audio se puede caracterizar, someramente, por su dinámica (valor de pico, rango

    dinámico, potencia, relación señal-ruido) o por su composición espectral (ancho de banda,

    frecuencia fundamental, armónicos, distorsión armónica, etcétera).

    Así, por ejemplo, una señal que represente voz humana (señal vocal) no suele tener información

    relevante más allá de los 10 kHz, y de hecho en telefonía fija se toman solamente los primeros 3,8

    kHz. Con 2 kHz basta para que la voz sea comprensible, pero no para reconocer al hablante.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    5/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 5 

    DESARROLLO Y RESULTADOS

    Primero con el programa audacity grabamos durante 10 segundos nuestra voz, después se creó un archivo

    con extensión .WAV con el fin de que Matlab reconociera el archivo y así de esa manera observar la señal

    característica de ese archivo de audio.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    6/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 6 

    Este programa es sencillamente fascinante debido a que podemos elegir el formato del archivo, si

    la salida es estéreo o mono, la frecuencia entre otras cosas más.

    El archivo se grabó con salida mono, con una frecuencia de 44100 Hz y como mencione antes se

    guardó con extensión .WAV para que Matlab lo reconociera

    Y finalmente quedo un archivo de este tipo.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    7/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 7 

    Ahora en Matlab abrimos el programa y se escribió el siguiente código para que no solamente me

    mostrara la gráfica de la señal que el archivo de audio mostraba sino también la gráfica de la señalal sacarle la transformada de Fourier.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    8/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 8 

    Como resultado obtenemos la interpretación original del archivo de audio, lo que observamos en

    la primera grafica es el espectro de la señal y está siendo graficada en el dominio del tiempo y enla segunda observamos la transformada de Fourier de esa señal y el valor absoluto de la misma y

    está siendo mostrada en el dominio de la frecuencia.

    Aquí está el código en Matlab que genera dichas graficas

    clear; %limpiar variables 

    clc; %limpiar pantalla 

    [data fs]=wavread('audio.wav'); %leyendo el archivo y su frecuencia de sampleo 

    %%%%%%%%%%%%% GRAFICANDO %%%%%%%%%%%%% 

    subplot(2,1,1) % se utiliza el comando subplot para hacer gráficos con más de un sector 

    plot(data); % graficando la señal en el dominio de los samples de tiempo 

    subplot(2,1,2)

    a=abs(fft(data)); % calculamos la FFT 

    plot(a(1:end/2)); % graficando la mitad de la señal en el dominio de los samples de la

    frecuencia

    nota: podemos ver en la imagen que este tiene máximo positivo de 1 y un máximo negativo de 1,

    y en la otra grafica que es la de la transformada muestra un máximo positivo de 6000 y un

    máximo negativo de 0

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    9/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 9 

    En la siguiente grafica podemos ver la transformada de Fourier deslizante, es decir, lo que vamos

    a observar cómo está graficando ese número determinado de muestras de la señal original entiempo real y tener con concepto un poco más claro, es decir, una muestra precisa de esa señal.

    Lo que observamos que está graficando esas 1024 muestra en tiempo real de ese audio de 10

    segundos, se le asignó un tiempo de pausa para poder visualizarla y esta se seguirá ejecutando de

    manera continua hasta que termine de graficarla, aquí está el código que hace esto.

  • 8/20/2019 Practica 3 Analisis de Audio en Tiempo Real

    10/10

    INSTITUTO POLITÉCNICONACIONALESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 

    UNIDAD CULHUACAN 

    pág. 10 

    clear; %limpiar variables 

    clc; %limpiar pantalla [data fs]=wavread('audio.wav'); %leyendo el archivo y su frecuencia de sampleo 

    m=length(data);

    tic

    for n=1:1:m-1024

    data1=data(n:n+1024:m);

    data2=fft(data1,1024);

    plot(abs(data2))

    pause(0.1)

    end 

    toc

    CONCLUSIONES

    Al hacer el procesamiento de señal de un archivo de audio se puede denotar que el

    comportamiento de la señal es diferente y a mayor tiempo, mayor número de muestras se

    pueden obtener. Con este método se puede analizar detalladamente cada paquete y ver el

    comportamiento del mismo ya se audio o video.

    Pues concluir que al realizar el procesamiento de esas muestras este proceso a pesar de ser más

    preciso es muy tardado ya que son muchas, en mi caso fueron alrededor 450 mil muestras (este

    resultado se obtuvo debido a la frecuencia con la cual se grabó que fue de 44100 Hz por el tiempo

    total de grabación que fue de 10 segundos), y también dependen de los recursos de tu hardware yla velocidad del procesador.

    En este caso e tiempo que tardo en obtener la transformada de Fourier fue de 2 segundos para que lo

    ejecutara Matlab, ahora eso multiplicado por 450 mil muestras (esto lo obtuve a partir de la frecuencia con

    la que se grabó el archivo de audio y el tiempo grabado) y lo dividí entre 60 para obtener los minutos, luego

    lo dividí entre 60 nuevamente para obtener las horas y por último en 24 para obtener los días y el resultado

    fue exagerado tardaba aproximadamente 10 días para que terminara de graficar ese número de muestras.

    Pero esto es debido a los recursos del hardware de mi máquina.

    Un método que podemos usar para mejorar este procedimiento es partir la señal en paquetes n muestras y

    graficarlas para entender mejor el comportamiento de la misma, es decir si tu paquete es de 10 podríamos

    dividirlas en 2 paquetes de 5 o 5 paquetes de 2, de esa manera el análisis de la señal será más preciso que

    dejar que la analice de un solo golpe, ya que esto seria tardado y no se obtendría el resultado deseado.

    BIBLIOGRAFIA

      "Digital Signal Processing: A Computer-Based Approach", Sanjit K. Mitra, McGraw-Hill, 1998.

      Título: Matlab, edición de estudiante. Versión 4 guia de usuario., The math works inc.Prentice Hall