DIY EEGEN (och ECG) krets (10 / 12 steg)
Steg 10: "behandling" av uppgifterna
Första sak att göra är att hämta bearbetning, tillgänglig på http://processing.org. Det kräver inte någon installation. bara packa upp nedladdningen, öppna mappen och kör den. Ladda ner skissen (vilka program kallas bearbetning), och öppna upp. Programmet bör vara bra att gå som är, och det bör finnas tillräckligt dokumentation att förstå vad som pågår i skissen, jag vill göra några anteckningar och ge en allmän beskrivning av vad det gör här.
Jag uppmuntrar dig att mixtra med programmet - ändra saker, gör din egen, etc. Inte vara rädd att bryta det, eftersom en fungerande version kan alltid hittas här. Om du är ny till programmering, killarna som gjorde behandlingen har några riktigt bra grundläggande tutorials här. En sak att notera är att behandlingen är skiftlägeskänslig - om någon gång du skriver i FFTHeight istället för FFTheight, programmet ger dig ett fel och ta dig till raden där du skrev i det förra. Jag inte dokumentera varje enskild funktion som jag använde - om du är osäker på vad en del av koden gör, ska du leta upp funktionen som används på processing.org, så att du kan se vad dess tänkt att göra, samt exakt vad det tar som indata och producerar som resultat. Ljud klasser kommer inte finns lika lätt (minim, FFT, AudioInput, etc). För att hitta dokumentation för de lappar, titta här, speciellt på manualerna under fliken Verktyg högst upp.
Också, lite bakgrund på FFTEN. Data kan representeras på många sätt, två vanliga sätt att vara i tid och frekvens. Som motsvarar information i frekvensplanet uppgår vanligtvis till visar data som kombinationen av en massa sinusvågor med olika frekvenser och amplituder. Om du har en ren sinusvåg, säger oscillerande vid 1 Hz, skulle du se sinusvåg vi alla känner och älskar i tidsplanet, men i frekvens domän skulle bara se en linje vid f = 1. Om du hade en våg som gjordes genom att lägga till en sinussignal på 1 Hz, och en som var halv amplituden först men på 2 Hz i tid, skulle du se två linjer - en på 1 Hz med en höjd av 1, och en på 2 Hz med en höjd av 0,5 i frekvens.
Från detta, kan du representera mycket komplicerat signaler (någon signal!) som en kombination av ett antal (ibland ett oändligt antal) sinustoner. Det vanligaste sättet att konvertera signaler från domänen tid till frekvens är med FFT (Fast Fourier Transform). Den gör exakt vad jag just beskrivit--det tar som indata som en del av domänen tidsignal och utgångar-banden motsvarar koncentrationen av vissa intervall av frekvenser i det signalen. Dessa data kan enkelt visualiseras genom att varje band som en bar med en viss höjd, som jag gjorde i koden.
Detta program är egentligen bara en datainsamling / visualisering en. Det finns många saker du kan göra med denna krets--jag uppmuntrar dig att verkligen leka med det och göra något av dina egna! Nästa steg är en valfri en beskrivning med något lite roligare som jag gjort med datatypen förvärvade i detta program.
Koden finns här.