Je cherchais dans le magasin d'applications Android un accordeur de guitare. J'ai trouvé une application tuner qui prétendait être plus rapide que les autres applications. Il prétendait pouvoir trouver la fréquence sans utiliser la DFT (j'aimerais avoir encore l'URL de cette spécification).
Je n'en ai jamais entendu parler. Pouvez-vous acquérir un signal audio et calculer la fréquence sans utiliser l'algorithme DFT ou FFT?
Une FFT indique le ou les pics de fréquence du spectre (quantifiés par la taille de la corbeille FFT), ce qui diffère de la hauteur musicale. Il est possible que la fréquence de hauteur perçue soit complètement absente d'un spectre FFT.
Certains des accordeurs de guitare les plus simples utilisaient simplement un filtrage passe-bas ou passe-bande et mesuraient le temps entre les passages par zéro. La réciproque donne une estimation de fréquence.
L'autocorrélation est une autre méthode commune d'estimation de la hauteur tonale. et la corrélation glissante ou d'autres mesures d'auto-similarité comportent de nombreuses variations, telles que ASDF glissante (différence au carré), AMDF (différence moyenne), modèles de correspondance non linéaires, contrôle adaptatif uniquement pour une plage limitée de retards, interpolation de retard, fenêtrage et choix de la fenêtre adaptative, pondérations variées ou utilisation de la théorie de la décision pour choisir parmi plusieurs séquences d’historique de décalage potentielles, etc. Un problème avec la plupart des mesures d’auto-similarité est le choix de l’octave appropriée, puisqu’une sous-octave peut présenter presque la même similarité.
D'autres possibilités incluent l'utilisation de PLL, de démodulateurs en quadrature filtrés, de transformées de Hilbert filtrées, etc.
Cependant, notez que certaines méthodes de filtrage et de démodulation DSP sont quasiment équivalentes à l’utilisation de la méthode 1-bin d’une TFD fenêtrée, ce qui peut ne pas correspondre à la réponse à votre question.
la source
La détection de la hauteur peut être effectuée de nombreuses manières, diverses et curieuses. Une façon de le faire est d'utiliser l' autocorrélation . Cet article donne un exemple de la façon dont il peut être utilisé. L'autocorrélation peut être ridiculement simple en utilisant un corrélateur 1 bit (impossible de trouver un papier décent à ce sujet pour une raison quelconque). Donc théoriquement, le pitch peut être détecté plus rapidement qu'avec FFT, mais je doute qu'il soit beaucoup plus précis sans un prétraitement vraiment intelligent.
la source
Jetez également un coup d'œil à la transformation de Hilbert-Huang (HHT) relativement nouvelle définie par algorithme . Il peut gérer des signaux non-stationnaires-non linéaires qui peuvent être pertinents pour votre application.
la source
Si vous savez exactement quelle case de fréquence vous recherchez dans une DFT / FFT, vous pouvez utiliser l'algorithme de Goertzel pour obtenir la valeur de cette case uniquement.
http://en.wikipedia.org/wiki/Goertzel_algorithm
la source
J'ai acheté une guitare il y a un mois et j'ai commencé à écrire un accordeur basé sur la PLL .
Une des ressources que j'avais l'habitude de comprendre PLL était la page "Comprendre les boucles à verrouillage de phase" de Paul Lutus.
la source
Vous pouvez réellement calculer la fréquence d'un signal en utilisant son pseudo-spectre, qui examine les vecteurs propres de sa matrice d'autocorrélation. Il décompose essentiellement votre signal en sous-espaces de bruit et de signal. De là, vous pouvez trouver son spectre. (Vous pouvez également le limiter et lui donner une plage de fréquences à vérifier). Il est également très insensible au bruit. Bien sûr, il s’agit d’une méthode paramétrique et non d’une méthode non paramétrique comme la TFD.
la source
Tout dépend de la plate-forme que vous souhaitez traiter. Si vous avez besoin d'un circuit simple, je vous suggère d'exploiter le signal avec gain, de le transformer en onde carrée et de mesurer la période avec un microcontrôleur à l'aide du minuteur.
Mais si vous voulez vous lancer dans le traitement du signal, découvrez la méthode MUSIC:
http://en.wikipedia.org/wiki/Classification_signal_multiples
J'espère que ça aide
la source
Il existe de nombreuses méthodes d'estimation de la hauteur sans utiliser la DFT / FFT. Certaines d'entre elles, y compris la méthode MUSIC, sont répertoriées dans le présent document: https://ieeexplore.ieee.org/abstract/document/6521410/ Les résultats de la simulation dans ce document indiquent que lorsque la fréquence fondamentale est très basse, la méthode NLS exacte surpasse celle des autres.
la source