Sei sulla pagina 1di 3

Implementacin de FFT, STFT, filtro de pre nfasis y visualizacin del espectrograma en seales del habla

Fredy Carranza-Ath Universidad Nacional de Trujillo ededc@seccperu.org Abstract


El presente trabajo corresponde a la implementacin de algoritmos muy comunes en el procesamiento de seales habladas. Se implementarn la Transformada rpida de Fourier(FFT), as como la Transformada rpida corta de Fourier (STFT). Tambin se considerar la implementacin de un filtro de pre nfasis como el correcto display del espectrograma de una seal. Se desarroll considerando principios de modularidad y las pruebas fueron hechas comparando las salidas de los mdulos principales con MatLab. La implementacin ms costosa refiere a la FFT ya que cuenta con ms mdulos siendo la del filtro de pre nfasis la ms ligera. Una herramienta muy conveniente para el anlisis es el uso del espectrograma. El espectrograma, permitir observar el comportamiento de la energa a una determinada frecuencia y tiempo.

2. Transformada rpida de Fourier


Existen mltiples algoritmos para la implementacin de la Transformada rpida de Fourier(FFT). En esta ocasin haremos uso del algoritmo Radix 2 con decimacin en la frecuencia y reordenamiento en la salida de bits mezclados [3]. Se debe considerar inicialmente que la entrada para el algoritmos debe ser una seal discreta de longitud potencia de dos. En caso contrario la seal ser completada automticamente. Dada esta entrada, se proceder a dividir el problema en tres mdulos principales: clculo de los factores mariposa, aplicacin de la FFT y reordenamiento de la salida. Los factores mariposa son pre calculados para evitar un desperdicio en el tiempo de procesamiento, dado que pueden ser calculados por una simple referencia de acuerdo al nmero de datos que se consideran en total para determinado paso. El clculo de los coeficientes es un proceso recursivo que permite en s obtener la reduccin de la complejidad a un nivel logartmico, ya que divide al problema siempre en dos partes. Para el reordenamiento de la salida, es necesario considerar la cantidad de bits que son necesarios para representar el nmero que indica la cantidad de elementos en la seal, dado ello es posible calcular correctamente el valor de los bits invertidos. Para visualizar el resultado se hace uso del mdulo de cada uno de los valores de la salida y son graficados en dos ejes coordenados. Este clculo es realizado directamente en el proceso de ordenamiento para evitar un recorrido innecesario de la salida completa.

Keywords
FFT, STFT, filtro de pre nfasis, espectrograma, ventana

1. Introduccin
Con el objetivo de lograr un mejor procesamiento de la seal de habla, se han ido generando al pasar del tiempo, nuevas tcnicas para lograr dicho cometido. El matemtico Fourier imagino la superficie del ocano como la suma de ondas sinusoidales. Las grandes ondas causadas por la marea o por los barcos (bajas frecuencias) tenan largas longitudes de onda, mientras que las pequeas ondas causadas por el viento u objetos arrojados (altas frecuencias) tenan pequeas longitudes de onda [1]. Este concepto, fue mejorado llegando a la Transformada de Fourier, que es ahora asociada al comportamiento de seales de habla y se considera, herramienta bsica para todo aquel que se involucre en esta rea. La Transforma de Fourier tiene un complejidad computacional cuadrtica, cuestin que es difcil de aceptar donde hay muchos datos que procesar. Ante ello surgi la Transformada rpida de Fourier(FFT)[2] que mejora la complejidad a un tiempo logartmico. La FFT, sin embargo; nos brinda informacin de frecuencia, ms no es localizable en el tiempo. Para solucionar esto se propuso la Transformada de Corta de Fourier, que utiliza ventanas haciendo una mejor localizacin en el tiempo. Para trabajar con la seal de voz y poder llegar a su reconocimiento, es necesario eliminar ciertos defectos que la seal contiene en ciertos casos. Es necesario aplicar filtros, uno de ellos es el filtro de pre nfasis que trata de suavizar el espectro y reducir las inestabilidades de clculo asociadas con las operaciones aritmticas de precisin finita.

3. Transformada corta de Fourier


Este procedimiento consiste en descomponer la seal en una serie de segmentos y analizarlos independientemente. Para decidir la descomposicin, es necesario establecer una ventana que permita enmarcar una muestra de la seal. A cada una de estas submuestras le es aplicada la FFT obteniendo los coeficientes de frecuencia. Con toda la informacin de cada uno de los segmentos, ahora en el dominio de frecuencias, solapamos la informacin de modo tal que eliminamos la redundancia producida por la FFT. Este solapamiento tambin debe ser establecido de antemano.

4. Filtro de pre nfasis


Este filtro permitir la eliminacin de caractersticas no deseadas en la seal. Es aplicado a la muestra a travs de la siguiente funcin: y[n] = x[n] + ax[n] Donde x[n] es la seal de voz de entrada, y[n] es la seal de salida del filtro prenfasis y si a < 0, tenemos un filtro de paso bajo y si a > 1 es un filtro de paso alto. El filtro de pre nfasis tiene un resultado claramente visible y reconocido a travs de su espectrograma, ms que en la salida propia, ya que simular un simple escalamiento grfico.

Figura 6.1. FFT de /aabsoluutely/

5. Espectrograma
En la implementacin del espectrograma, necesitaremos utilizar la Transformada corta de Fourier. Esto nos permitir extraer pequeas submuestras del por segmentos en el dominio de frecuencias. A cada uno de estos resultados, le asignaremos niveles de gris(en este caso) de acuerdo a la magnitud del valor que presenten. En nuestro caso, sern ms oscuras mientras ms grande sea la magnitud y blanco de manera opuesta. Cada uno de los vectores resultantes de la coloracin acorde con la magnitud sern rotados noventa grados para quedar ubicados paralelamente uno tras otro hasta completar todos. El colocar vectores costado uno a uno, facilitar ver la informacin en coordinas de tiempo frecuencia.

Figura 6.2. STFT de a /absoluutely/

6. Experimentos y resultados
Por el momento no ha sido elaborado un testing formal de los resultados versus otras implementaciones, sin embargo se tom en cuenta los ejemplos propuestos en[4], as como la comparacin con resultados obtenidos por funciones dentro el software MatLab. En la Figura 6.1. se puede percibir el plotteo de la magnitud de los coeficientes obtenidos al aplicar la FFT a la seal de la palabra /aabsoluutely/. Se puede apreciar que la transformada arroja valores conjugados a partid la mitad, lo que indicara que solamente la primera mitad es vlida. Asimismo, aplicamos al mismo vocablo la Transformada corta de Fourier (STFT), pudiendo obtener resultados ms localizados dependiendo obviamente del tamao de la ventana considerada. Aqu se considero una ventana de 20 ms con un paso de 10 ms. La siguiente implementacin corresponde al espectrograma. Para ello se opta por una grfica en escala de grises con las caractersticas en los ejes de frecuencias versus tiempo. El espectrograma cuenta con una resolucin razonable para el posible anlisis, adems queda ajustado al tiempo de duracin de la seal propiamente dicha. Se utiliz una ventana de 10ms. En la Figura 6.3. se aprecia el espectrograma de la seal original.

Para el tratamiento del filtro de pre nfasis se opt por implementar un solo mdulo directamente ya que consiste en un proceso simple de aplicacin, en contraste con sus predecesores que requirieron ms trabajo. En la Figura 6.4. se observan los espectrogramas de la seal filtrada a distintos niveles del parmetro a.

Figura 6.3. Espectrograma de a /absoluutely/

7. Conclusiones
Dado los resultados obtenidos en la seccin anterior, podemos concluir en que la implementacin de las tareas planteadas inicialmente han sido logradas con satisfaccin, ya que los valores de las salidas corresponden exactamente a los arrojados por MatLab.

Las implementaciones de por s gozan con cierto esfuerzo. El que ms requiri desarrollo fue el de la Transformada rpida de Fourier y un nivel ms leve la elaboracin de la grfica del espectrograma, considerando al mdulo de Filtrado pre nfasis como la ms simple.

(a)

(b)

(c)

(d) Figura 6.4. Respectivos espectogramas a diferentes valores de a. (a) a = -0.9 (b) a = -0.5 (c) a = +0.5 (d) a = +0.9

Referencias
[1] Gonzalez, R., and Woods, R. Digital Image Processing. Prentice Hall, 2002 [2] J.W. Tukey y J.W. Cooley, "An algorithm for the machine calculation of complex Fourier series", 1965 [3] Chu, E.,A. George. Inside the FFT Black Box Serial and Parallel Fast Fourier Transform Algorithms. CRC Press Boca Raton London. 2000 [4] Guevara, J. Material del curso Tpicos Especiales en Ciencia de la Computacin III. Universidad Nacional de Trujillo. 2008.

Potrebbero piacerti anche