Arduino Pitch upptäckt algoritm (med AMDF)
Senaste uppdatering: 16 januari 2016 (nyligen lagt till en förbättrad matlab-kod (step7) med prover och massor av anteckningar)
Förord: Detta Instructable är skrivna på en att visa hur jag analyserat, testat, genomfört och optimerad en algoritm. Även i processen, jag lärde mig hur mycket arbete går till att göra varje steg och jag har samlat mer respekt för dem som har byggt andra algoritmer för min naiva inställning.
Dessutom är någon kritik mycket välkomna!
Motivation: Jag behövde Hämta frekvens data från en violin pickup. Det arbete jag gjorde med ett annat projekt att skapa en färg orgel hade en FHT och jag trodde det skulle vara lätt att anpassa det till min användning. Försöker använda det visat sig svårt eftersom en fiol skapar det som kallas "quasi harmonisk" toner. I grund och botten periodiska frekvensen av vågformen var aldrig den dominerande och jag kunde bara plocka upp högre övertoner av en enda ton. Frustrerande! Så jag var tvungen att bygga baserade min egen PDA på grund av sökresultat för Arduino handdatorer. Jag slutade genomföra AMDF (autokorrelation magnitud skillnaden algoritm).
Tack: Till Amanda Ghassaei för att tillhandahålla en allmän ram för hur att skapa och testa din egen algoritm. Jag försökte använda hennes arbete på en annan Instructable:
Arduino frekvens identifiering
Men kärnan i det arbete hon gjorde hjälpte mig så mycket som det jag ville ha det till. Så därifrån jag tittade för pitch upptäckt algoritmer och det fick mig alltför fungerar allt detta. Hon har några ganska snyggt projekt! Kolla in hennes hemsida som är kopplad i Instructable ovan.