Laatste Update: 16 januari 2016 (onlangs toegevoegd een verbeterde matlab code (step7) met samples en veel notities)
Voorwoord: Dit Instructable is geschreven in een stijl te laten zien hoe ik geanalyseerd, getest, uitgevoerd en geoptimaliseerd een algoritme. Ook In het proces, ik geleerd hoeveel werk gaat in het doen van elke stap en ik heb meer respect voor degenen die andere algoritmen voor mijn naïeve mentaliteit hebben gebouwd garnered.
Daarnaast zijn alle kritieken van harte welkom!
Motivatie: Ik moest frequentiegegevens ophalen uit een viool pick-up. Het werk dat ik deed met een ander project maken een kleur orgel had een FHT en ik dacht dat het zou makkelijk genoeg aan te passen aan mijn gebruik. Trying voor toepassing op bleek moeilijk omdat een viool schept wat heet "quasi-harmonische" tonen. Kortom, de periodieke frequentie van de golfvorm was nooit de dominante en ik kon alleen halen hogere harmonischen van een enkele Toon. Frustrerend! Dus ik moest bouwen gebaseerde mijn eigen PDA vanwege het ontbreken van zoekresultaten voor Arduino PDA's. Uiteindelijk heb ik de uitvoering van de AMDF (autocorrelatie magnitude verschil algoritme).
Bedankt: Aan Amanda Ghassaei voor het verstrekken van een algemeen kader voor het bouwen en testen van uw eigen algoritme. Ik probeerde met behulp van haar werk op een ander Instructable:
Arduino frequentie detectie
Maar de kern van het werk dat ze deed me zo veel als die ik wilde het niet helpen. Dus vandaar zocht ik naar de toonhoogte detectie algoritmen en het kreeg me te werken dit alles. Ze heeft enkele knappe projecten! Kijk op haar website die in de bovenstaande Instructable is gekoppeld.