Básicamente está interesado en estimating a Spectrum, suponiendo que ya ha pasado la etapa de lectura de WAV y convirtiéndola en una señal de tiempo discreta.
Entre los diversos métodos, el más básico es el Periodograma, que equivale a tomar una Transformada de Fourier Discreta con ventana (con una FFT) y mantener su magnitud al cuadrado. Esto corresponde a la respuesta de Pablo. Necesita una ventana que abarca varios periodos de la frecuencia más baja que desea detectar. Ejemplo: si sus sinusoides pueden ser tan bajas como 10 Hz (período = 100 ms), debe tomar una ventana de 200 ms o 300 ms o más (o más). Sin embargo, el periodograma tiene alguna disadvantages, aunque es fácil de calcular y es más que suficiente si la alta precisión no es necesaria:
El periodograma prima no es una buena estimación espectral debido espectral sesgo y el hecho de que la varianza a una frecuencia determinada no disminuye a medida que aumenta el número de muestras utilizadas en el cálculo .
El periodogram puede funcionar mejor al promediar varias ventanas, con una elección acertada de los anchos(). Y hay muchos otros métodos para estimar el espectro (modelado AR).
En realidad, no está exactamente interesado en estimar un espectro completo, sino solo la ubicación de una sola frecuencia. Esto se puede hacer buscando un pico de un espectro estimado (hecho como se explicó), pero también por un más específico y poderoso (y complicado) methods (Pisarenko, algoritmo de MÚSICA). Probablemente sean exagerados en su caso.
No es realmente la versión 'fftw', pero si se compiló o no con soporte flotante, ¿no? –
Es cierto, es una cuestión de la configuración de construcción IIRC. No he usado FFTW en muchos años. Tal vez "versión" no es la palabra más precisa que podría haber elegido? –
Gran parte del software DSP de audio para Linux (y otras plataformas) que utiliza FFTW requiere FFTW con soporte de flotación, y habiendo pasado mucho tiempo construyendo esto desde el origen, puedo decir que Debian al menos tiene paquetes para las diferentes compilaciones opciones de FFTW que pueden instalarse todas simultáneamente. Espero que esto también se aplique a la mayoría de las otras distribuciones de Linux. –