M5 - Software para obtener el espectro en frecuencia de las
Transcripción
M5 - Software para obtener el espectro en frecuencia de las
INSTITUTO MEXICANO DE ACÚSTICA UNIVERSIDAD DE GUANAJUATO 14o CONGRESO INTERNACIONAL MEXICANO DE ACÚSTICA 14th MEXICAN INTERNATIONAL CONGRESS ON ACOUSTICS LEON, GUANAJUATO, MEXICO 14 - 16 NOVIEMBRE, 2007 M5 - Software para obtener el espectro en frecuencia de las muestras de un archivo WAV empleando la TFD Jiménez-Hernández, M.1, Negrete-Redondo, J.2, Peña-Guerrero, M.3 463 M5 - Software para obtener el espectro en frecuencia de las muestras de un archivo WAV empleando la TFD Jiménez-Hernández, M.1, Negrete-Redondo, J.2, Peña-Guerrero, M.3 Resumen - El espectro en frecuencia de una señal permite identificar sus componentes de onda más representativos y su energía. Este proceso es general para cualquier tipo de señal, obteniendo aplicaciones en diversas áreas de la acústica como el análisis del timbre en instrumentos musicales y procesos de reconocimiento de voz. La señal se captura con una frecuencia de muestreo que permite obtener el espectro sin pérdidas de información, esta señal se almacena en un archivo WAV, se realiza su análisis en una porción de su intervalo de muestras empleando el proceso de ventaneo digital, y por último se realiza un algoritmo de Transformada de Fourier en las muestras. Este articulo presenta los elementos utilizados en la elaboración de un software desarrollado en lenguaje C#, que permite graficar las muestras de dos archivos WAV y obtener sus espectros en frecuencia de las primeras 512 muestras empleando la Transformada de Fourier Discreta (TFD). Palabras clave – Archivo RIFF, Archivo WAV, Espectro en Frecuencia, Transformada de Fourier Discreta, Ventana de Hamming. Abstract - The spectrum in frequency of a signal allow identify the wave components in frequency more representatives and their energy. This process is general for whatever signal, we can find applications in some fields of acoustics like the analysis of tones in musical instruments and speech recognition. The signal is captured with a sampling frequency, that allow get the spectrum without loss information, the signal is store in a file WAV, the signal is analyzed in a interval of samples using the method of digital windowing, finally a algorithm of Fourier Transform is realized in the samples. This paper present the different elements employed in the elaborating of a software design in C# language, it get graphic the samples of two WAV files and get the spectrum in frequency of the first 512 samples using the Discrete Fourier Transform. 1 Jiménez Hernández M. Academia de Física. 3 Negrete Redondo J., Peña Guerrero M., Academia de Acústica. 2 Escuela Superior de Ingeniería Mecánica y Eléctrica – Zacatenco, Instituto Politécnico Nacional de México. Av. IPN s/n. UPALM. Col. Lindavista. México 07738, D. F. México. 1 2 E-mail: [email protected] , [email protected] , 3 [email protected] Key words — RIFF File, WAV File, Frequency Spectrum, Discrete Fourier Transform, Hamming Window. I. INTRODUCCIÓN En la actualidad, el análisis de señales en el dominio de la frecuencia esta presente en muchos avances tecnológicos que el ser humano utiliza en su vida diaria, desde los reproductores de música en formatos comprimidos, hasta en trasmisiones de señales en sistemas analógicos y digitales como son la radio, la televisión y celulares. Su gran utilización se basa en el hecho de que permite poder conocer el comportamiento de una señal en el dominio de la frecuencia, logrando con esto poder reconstruir las señales a partir de sus componentes, sin tener que conocer las muestras de la señal en el dominio del tiempo. El avance tecnológico de los microprocesadores, permite una mayor velocidad de procesamiento de datos en tiempo real, logrando con esto que procesos analógicos en señales, sean implementados en forma digital. El empleo de estos procesos digitales permite que una vez que ha sido muestreada la señal a tratar, no exista pérdida de información en procesos de transmisión y recepción, además de poder conocer sus características más significativas como su espectro en frecuencia y su contenido de energía. II. MUESTREO DE SEÑALES EN TIEMPO DISCRETO Para poder convertir las señales analógicas a señales digitales, se deben capturar muestras de la señal analógica en espacios de tiempo iguales y continuos, de tal manera que la forma de onda de la señal original se pueda recuperar mediante interpolación [1]. La elección de la frecuencia de muestreo para una señal dada depende de que tan rápido cambia la señal con el tiempo. La Figura 1 representa el muestreo de una señal analógica en una señal digital discreta. Para lograr esto, se utiliza el criterio de Nyquist [2], que establece que para que en una señal no exista perdida de información, esta debe ser muestreada al doble de su frecuencia máxima de trabajo. Un ejemplo claro, es la frecuencia de muestreo del audio digital, debido a que la frecuencia máxima que escucha un humano en promedio 464 es de 20 Khz. [3], bastará con tomar muestras al doble, el estándar establecido es de 44,100 muestras por segundo [4]. Para evitar este problema se utilizan intervalos de muestras de la señal denominados ventanas [6]. El mecanismo de ventaneo, consiste en dividir la señal a analizar en intervalos de duración finitos, los cuales son tomados de manera consecutiva a lo largo de la señal. Las muestras de la señal que se encuentran en los extremos de una ventana tienen menor peso que las que se encuentran en medio, esto permite que las características de las muestras en los extremos no causen una mala interpretación de lo que ocurre en la parte central dentro de un proceso específico. Las ventanas pueden ser colocadas de manera que existan solapamientos [7] en sus extremos analizando únicamente los intervalos centrales, logrando con esto una mejor calidad en los resultados. La Figura 3 muestra el solapamiento de una señal utilizando ventanas tipo Hamming. Fig. 1. Muestreo Digital de una Señal Analógica. Si no se realiza el muestreo utilizando este criterio y se hace con una frecuencia menor, se produce el fenómeno de alisamiento [5], el cual proporciona una representación errónea de la señal. Una vez capturada la señal con este error no se puede reconstruir o corregir de ninguna manera. La Figura 2 representa el muestreo de la señal analógica de la Figura 1 con una frecuencia de muestreo menor a la requerida, lo que produce alisamiento en la señal reconstruida al aplicarle interpolación a sus muestras. La expresión del teorema de Nyquist es la siguiente: Vm = 2 fm (1) Donde: Vm = Velocidad de muestreo a la cual se toman las muestras digitales de la señal. fm = Frecuencia máxima de trabajo contenida en la señal de prueba. Fig. 3. Solapamiento de ventanas en una señal. La duración de una ventana determina la cantidad de cambios que se pueden obtener, para una duración temporal larga se omiten los cambios locales producidos en la señal, mientras que con una duración demasiado corta se reflejan los cambios puntuales y se reduce la resolución espectral [8]. Al utilizar una ventana se hace que se convolucione la transformada de Fourier de la señal con la transformada de Fourier de la ventana [9], debido a esto se debe de elegir la ventana que produzca menos distorsión durante el proceso que se realiza. La tabla 1 muestra las principales ventanas utilizadas en el tratamiento de señales discretas. Fig. 2. Alisamiento Digital de una señal Analógica. III. TIPOS DE VENTANAS DIGITALES Una señal puede tener una duración finita en un intervalo de tiempo muy grande, sin embargo un análisis de la señal en todas sus muestras resultaría inadecuado. La ventana rectangular (Rectangle) permite trabajar con un intervalo de la señal de manera natural sin realizar ningún proceso sobre las muestras, sin embargo tiene la desventaja de que al convolucionar el espectro de su Transformada de Fourier genera distorsión en el resultado, otros tipos de ventanas producen menos distorsión; en el caso de este proyecto se elige la ventana de Hamming, porque al convolucionar su transformada de Fourier con la señal de prueba no distorsiona los resultados dentro del lóbulo principal de 465 trabajo. La tabla 2 muestra las características de cada ventana. TABLA 1. TIPOS DE VENTANAS DIGITALES. Ventanas w(n), 0 < n < M – 1 m −1 2 1− M −1 2πn 4πn 0.42 − 0.45 cos + 0.08 cos M −1 M −1 2πn 0.54 − 0.46 cos M −1 2πn 0.5 − 0.5 cos M −1 T 1= n ≤ 0 2 2n − Bartlett Blackman Hamming Hanning Rectangl e TABLA 2. CARACTERISTICAS DE LAS VENTANAS DIGITALES. Ventanas Bartlett Blackman Hamming Hanning Rectangle Ancho del Lóbulo 8π / m 12π / m 8π / m 8π / m 4π / m Pico del Lóbulo (dB) - 27 - 58 - 43 - 32 - 58 La transformada de Fourier es una herramienta matemática que permite representar una señal dada en el dominio del tiempo en sus componentes armónicos en el dominio de la frecuencia. La señal original se descompone en señales ortogonales de senos y cósenos con amplitudes respectivas para cada uno de los componentes, con lo que se logra conocer el espectro en frecuencia de cualquier señal dentro de un intervalo de frecuencias previamente definido. La Transformada de Fourier discreta (TFD) es el equivalente de la Transformada de Fourier en tiempo continuo, pero aplicada a señales en el dominio del tiempo discreto [9]. Igual que su contraparte permite tener una representación en el dominio de la frecuencia de una señal muestreada en forma discreta. La TFD se representa por la siguiente ecuación: Donde: N −1 ∑ m(kT )e k =0 −j 2πnk N V. FORMATO DE AUDIO DIGTAL WAV El formato WAV (Waveform Audio File Format) es un formato creado por Microsoft. Es un subconjunto de especificaciones RIFF (Resourcen Interchange File Format) de Microsoft para formatos multimedia. El formato RIFF almacena segmentos (Chunks) de información multimedia, su descripción, su formato, y su lista de reproducción. El formato WAV se almacena dentro de un archivo con formato RIFF, en el cual se definen todos los segmentos que puede contener [4]. El archivo RIFF lleva una cabecera de 8 bytes, los primeros 4 bytes forman un campo que identifican al archivo teniendo en su contenido el identificador RIFF; los otros 4 bytes especifican la longitud de los datos a partir de la cabecera (esto es, la longitud total del archivo menos 8). Después de la cabecera RIFF hay 4 bytes que identifican el tipo de datos que contiene el archivo, para el caso de un archivo tipo WAV estos 4 bytes contienen el identificador WAVE. Del conjunto de segmentos que definen el formato WAV dos son obligatorios: el segmento de formato y el segmento de datos. El segmento de formato debe aparecer antes que el segmento de datos. La tabla 3 muestra los componentes que forman la cabecera de un archivo WAV. IV. TRANSFORMADA DE FOURIER DISCRETA n 1 F = NT N N = Número de muestras que componen la ventana. T = Periodo de muestreo. n = Índice de la frecuencia que se desea calcular. m(kT ) = Valor de la muestra en el instante KT. (2) TABLA 3. CABECERA DE UN ARCHIVO WAV. Bytes 00 - 03 04 - 07 08 - 11 12 - 15 16 - 19 20 - 21 22 - 23 24 - 27 28 - 31 32 - 33 34 - 35 36 - 39 40 - 43 44 - n Contenid o RIFF ----WAVE Fmt 16 1 1, 2 --------1, 2, 4 8, 16 Data ----------- Descripción Cabecera Tamaño Formato Extensión Formato 1 Formato 2 Num. Canales Frec. Muestreo Bytes x Seg. Bytes x Captura Bits x Muestra Nom. Segmento Num. Muestras Muestras Al final del segmento del contenido de la cabecera, comienza el área de datos donde se almacena la información de audio. El almacenamiento de los datos en un archivo WAV se realiza sin hacer algoritmos de comprensión a diferencia de otros formatos como es el 466 caso del MP3. La estructura de la secuencia de datos depende de la frecuencia de muestreo, el número de canales y el número de bytes por muestra en que fueron capturados. Cuando un archivo se encuentra en formato monoestero las muestras se almacenan en forma consecutiva, si el archivo esta en formato estéreo se almacenan en forma alternada una muestra por cada canal. Si cada muestra es de 8 bits entonces representa un byte de información y si es de 16 bits dos bytes. La información de las muestras se guarda en forma de caracteres ASCII (American Standar Code for Information Interchange). VI. SOFTWARE DESARROLLADO El software desarrollado en este proyecto es una herramienta computacional que permite obtener el espectro en frecuencia de las primeras 512 muestras de un archivo WAV previamente almacenado en una computadora. Las muestras de las señales contenidas en los archivos se almacenan en memoria, se genera una ventana de Hamming y se convoluciona en el dominio del tiempo con las muestras de la señales originales, a los valores resultantes se les aplica la Transformada de Fourier Discreta. Para realizar el software se uso el lenguaje de programación C# [10], utilizando el compilador Visual Studio.NET 7.1 y la herramienta .NET Framework 1.1. El programa se realizo en una PC COMPAQ Presario 2100 bajo el sistema operativo Windows XP Home Edition. La interfaz gráfica está desarrollada en base a una aplicación tipo formulario [11], está dividida en dos áreas, la primera muestra la ruta y el nombre de los archivos WAV que se van a analizar junto con los elementos que forman su cabecera (tabla 3). La segunda área se divide en cuatro secciones: la primera y la segunda muestran la gráfica de las primeras 512 muestras de las señales contenidas en los archivos de trabajo, en la Figura 4 se muestran las dos secciones. para observar la diferencia entre un armónico puro dentro del intervalo de frecuencias del espectro de la vocal “a”, con el espectro de la misma vocal. Los archivos presentados en este artículo están en formato monoestereo con muestras de 8 bits y una frecuencia de muestreo de 11,025 Htz. VII. RESULTADOS El resultado de la convolución en tiempo de la ventana de Hamming con las muestras de las señales originales se guarda en memoria para obtener su Transformada de Fourier Discreta. La tercera y cuarta sección de la segunda área de la interfaz gráfica muestran el espectro en frecuencia de las muestras convolucionadas para cada archivo. Únicamente se grafica el intervalo de frecuencias positivas. Debajo del eje “x”, se colocan los indicadores para 10 intervalos de frecuencia, estos se determinan a partir de la frecuencia de muestreo del archivo de prueba.La Figura 5 presenta los espectros en frecuencia de las muestras de los archivos de la Figura 4, la parte superior corresponde al espectro de las muestras del archivo de la vocal “a” y la parte inferior al espectro de las muestras del archivo del armónico a 500 Htz. Fig. 5. Espectro en frecuencia de las muestras de los archivos WAV de la Figura 4. Fig. 4. Graficas de las muestras de dos archivos WAV. La primera sección muestra la vocal “a”, la segunda sección muestra la señal de un armónico a 500 Htz generado de manera digital. Se hace esta comparación 467 Fig. 6. Interfaz gráfica del software desarrollado. [8] Meade M. L., Dillon C. R., Signals and Systems: Models and Behavior, Second Edition, Chapman & Hall, Inglaterra, 1991. La interfaz gráfica completa del software desarrollado se observa en la Figura 6, las secciones derecha e izquierda presentan la información contenida en las cabeceras de los archivos WAV utilizados para este articulo, en la parte superior central se encuentra la ubicación de los archivos dentro de la PC y las secciones centrales presentan las gráficas de las muestras de los archivos de prueba y sus espectros en frecuencia. [9] Kalouptsidis Nicholas. Signal Processing Systems: Theory and Design, Wiley Interscience, USA, 1997. [10] Schildt Herbert, C# The Complete Reference, Mc Graw Hill, USA, 2002. [11] Petzold Charles, Programming Microsoft Windows with C#, Mc Graw Hill, USA, 2002. VIII.CONCLUSIONES La frecuencia de muestreo que proporciona menor perdida de información en el procesamiento digital de señales de voz, es de 11,025 muestras por segundo. La ventana Hamming presenta las características mas apropiadas para obtener el espectro en frecuencia de una señal de voz. El espectro en frecuencia que se obtiene por medio de la Transformada de Fourier Discreta, tiene una resolución espectral definida por el número de muestras que forman la ventana de trabajo elegida. El formato WAV permite usar las muestras capturadas en forma directa, sin realizar ningún proceso de descompresión REFERENCIAS [1] Chapra Steven C., Canale Raymond P., Numerical Methods for Engineers: With Software and Programming Applications, Fourth Edition, Mc Graw Hill, USA, 2002. [2] Hayes Monson H., Digital Signal Processing. Mc Graw Hill, USA, 1999. [3] Yost William A., Fundamentals of Hearing: An Introduction, Fourth Edition, Academic Press, USA, 2000. [4] Bernal Bermúdez Jesús, Bobadilla Sancho Jesús, Gómez Vilda Pedro, Reconocimiento de Voz y Fonética Acústica, RA-MA, España, 2000. [5] Proakis John G., Manolakis Dimitris G., Digital Signal Processing: Principles, Algorithms and Applications, Third Edition, Prentice Hall, USA, 1996. [6] Oppenheim Alan V., Schafer Ronald W., Digital Signal Processing, Prentice Hall, USA, 1975. [7] Oppenheim Alan V., Schafer Ronald W., Buck John R., Discrete Time Signal Processing, Prentice Hall, USA, 1999. 468