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

Documentos relacionados