Paso 6: Crear un Specgram
La función specgram de matlab tiene un conjunto de puntos de datos desde el archivo wav y realiza una transformación de Fourier sobre los puntos para determinar las frecuencias presentes en la señal. Para este instructivo, no es importante saber cómo funciona la una transformación de Fourier, sólo sé que la specgram trama de que frecuencias están presentes, y qué tan fuerte son con respecto al tiempo. La función de parcelas de tiempo en el eje x y la frecuencia en el eje Y. La fuerza de cada frecuencia se muestra de color.
En este caso el archivo wav es una grabación sonora de un pedazo de metal está golpeado, y luego se registran las vibraciones del metal como sonido. Usando el specgram, podemos fácilmente determinar la frecuencia de resonancia de la pieza de metal, ya será la frecuencia que persiste más largo con el tiempo.
Para realizar esta tarea, primero tener matlab leer el archivo wav utilizando el siguiente código:
[x,fs]=wavread('flex4.wav');
En este caso, flex4.wav es el título de nuestro archivo wav, la variable x es los puntos de datos en el archivo y fs se refiere a la frecuencia de muestreo.
Para realizar la specgram, solo escribe el siguiente código:
specgram [x(:.1), 256, fs];
El 256 se corresponde con la frecuencia que la FFT se realiza al análisis de los datos. MATLAB es básicamente cortar el archivo de sonido en trozos y tomando un FFT en cada fragmento que el 256 le dice cuán grande debería ser cada fragmento. Los detalles de esto no son importantes, y 256 es un valor seguro para la mayoría de las aplicaciones.
Ahora si ejecuta el código, verá una figura pop-up como se ve en la segunda foto. De esto es fácil ver que la frecuencia de resonancia corresponde al pico rojo en la esquina inferior derecha de la figura. Este es el pico que persiste más largo con respecto al tiempo.