Estaba buscando en la tienda de aplicaciones de Android un afinador de guitarra. Encontré una aplicación de sintonizador que decía que era más rápida que otras aplicaciones. Afirmó que podía encontrar la frecuencia sin usar el DFT (ojalá todavía tuviera la URL para esta especificación).
Nunca he oído hablar de esto. ¿Se puede adquirir una señal de audio y calcular la frecuencia sin usar el algoritmo DFT o FFT?
Un FFT informa sobre los picos o picos de frecuencia del espectro (cuantificados por el tamaño del contenedor FFT), que es diferente del tono musical. Es posible que la frecuencia de tono percibida falte por completo en un espectro FFT.
Algunos de los afinadores de guitarra más simples simplemente usaron filtros de paso bajo o paso de banda y midieron el tiempo entre cruces por cero. El recíproco da una estimación de frecuencia.
La autocorrelación es otro método común de estimación de tono; y la correlación deslizante u otras medidas de auto-similitud tienen muchas variaciones, como ASDF deslizante (diferencia cuadrática), AMDF (diferencia de medias), patrones no lineales, verificación adaptativa solo para un rango limitado de retrasos, interpolación de retardo, ventanas y selección de ventana adaptativa, varias ponderaciones o uso de la teoría de la decisión para seleccionar entre múltiples secuencias potenciales del historial de retraso, etc. Un problema con la mayoría de las medidas de auto-similitud es elegir la octava apropiada, ya que una sub-octava puede mostrar casi la misma similitud.
Otras posibilidades incluyen el uso de PLL, demoduladores de cuadratura filtrada, transformadas de Hilbert filtradas, etc.
Pero tenga en cuenta que algunos métodos de filtrado y demodulación DSP son computacionalmente casi equivalentes a hacer 1 bin de un DFT en ventana, que puede o no encajar como respuesta a su pregunta.
fuente
La detección de tono se puede hacer de muchas formas versátiles y curiosas. Una forma de hacerlo es mediante autocorrelación . Este documento da un ejemplo de cómo se puede usar. La autocorrelación se puede hacer ridículamente simple mediante el uso de un correlacionador de 1 bit (por alguna razón no pude encontrar documentos decentes sobre eso). Entonces, teóricamente, el tono se puede detectar más rápido que con FFT, pero dudo que sea mucho más preciso sin un procesamiento previo realmente inteligente.
fuente
También eche un vistazo a la relativamente nueva transformación algorítmica de Hilbert-Huang (HHT). Puede manejar señales no estacionarias no lineales que pueden ser relevantes para su aplicación.
fuente
Si sabe exactamente qué bin de frecuencia está buscando en un DFT / FFT, puede usar el algoritmo de Goertzel para obtener solo el valor de ese bin.
http://en.wikipedia.org/wiki/Goertzel_algorithm
fuente
Tengo una guitarra hace un mes y comencé a escribir un sintonizador basado en PLL .
Uno de los recursos que utilicé para comprender PLL fue la página "Comprender los bucles de fase bloqueada" de Paul Lutus.
fuente
En realidad, puede calcular la frecuencia de una señal utilizando su pseudo espectro, que observa los vectores propios de su matriz de autocorrelación. Básicamente descompone su señal en ruido y subespacios de señal. A partir de ahí, puedes encontrar su espectro. (También puede limitarlo y darle un rango de frecuencias para verificar). También es bastante inmune al ruido. Por supuesto, este es un método paramétrico, no paramétrico como DFT.
fuente
Todo depende de la plataforma que desee procesar, si necesita un circuito simple, sugiero emitir la señal con ganancia y convertirla en una onda cuadrada y medir el período con un microcontrolador usando el temporizador.
Pero si quieres ponerte elegante con el procesamiento de señales, mira el método MUSIC:
http://en.wikipedia.org/wiki/Multiple_signal_classification
Espero eso ayude
fuente
Existen muchos métodos de estimación de tono sin usar DFT / FFT, algunos de ellos, incluido el método MUSIC, se enumeran en este documento: https://ieeexplore.ieee.org/abstract/document/6521410/ Los resultados de la simulación en este documento indican que cuando la frecuencia fundamental es muy baja, el método NLS exacto supera a otros entre los enumerados.
fuente