Forum: Mikrocontroller und Digitale Elektronik Lichterorgel mit uC


von KoF (Gast)


Lesenswert?

hallo ihr....

ich habe da mal eine frage.
ich würde gerne (nicht lachen) eine lichterorgel bauen.
ich habe einen 12-bitigen, 8-kanäligen, 50khz schnellen ad wandler via
i²c am laufen und einen msp430f149.

nun ja, wie oder was muß ich machen, um z.b. höhen oder bässe
festzustellen?

würde mich über hilfe freuen.

von Rahul (Gast)


Lesenswert?

Moin!
Du samplest am besten ein paar Werte (z.B. 1024; gerade Zahlen sind
empfehlenswert), und dann lässt du darüber eine FFT laufen.
Dann bekommst du Werte, die die Intensität einzelner Frequenzen
wiederspiegeln.
Den FFT-Algorithmus findet man im Netz und in mathematischen
Formelsammlungen.
Erklären kann ich dir den aber nicht.

Gruß Rahul

von KoF (Gast)


Lesenswert?

hmm jetzt muß ich nurnoch rausfinden, wie er geht, was er macht und ob
ich den so einfach in code nachbilden kann... :-/

hat den schonmal jemand in c nachgebildet?

von Matthias (Gast)


Lesenswert?

Hi

@Rahul
>gerade Zahlen sind empfehlenswert
Nicht nur empfehlenswert. FFT arbeitet nur mit Eingangsvektoren der
Länge 2^n

@KoF
Realtime-FFT bei 50kHz/16Bit auf einem MSP? Vergiss es. Selbst für
20fps dürfte die Rechenleistung des MSP kaum ausreichen. Was die
Implementierung der FFT in C angeht:
http://www.google.de/search?hl=de&q=FFT+C&btnG=Google-Suche&meta=

Matthias

von KoF (Gast)


Lesenswert?

hmm, hast du einen anderen (softwareseitigen) lösungsansatz?

von Sebastian (Gast)


Lesenswert?

Hm, das mit der FFT halte ich für einen zu krassen Ansatz. Es geht hier
ja nicht um eine signaltheoretische korrekte Spektralanalyse, sondern
nur darum, ungefähr Höhen und Tiefen eines Audiosignals zu finden. Das
würde ich analog realisieren. Da reicht schon ein einfacher RC-Tiefpass
und ein RC-Hochpass, um passend zum Basstakt die Lampen anzusteuern.
IMHO reicht doch sogar schon der Basstakt alleine, oder?! In der Disse
flackern die Lampen auch nach den Beats, nicht nach den Hi-Hats ... ;-)

von Stefan1 (Gast)


Lesenswert?

Hi,
in der Codsammlung http://www.mikrocontroller.net/forum/list-4-1.html
hat jemand vor einigen Tagen nen Code zu ner FFT veröfentlicht!
Denke aber auch das es nicht notwendig ist FFT zu machen, aber wenn du
deine Filter analog machst kannst du gleich auf den Controller
verzichten, dann reicht auch ein Komperator.
Ich würde deshalb einfach einen Digitalen Filter realisieren, nen HP,
nen TP und wenn du mehr Kanäle haben willst einfach noch entsprechen
viele BP rein. Die Filter müssen ja keine besonders steilen Flanken
haben, daher müste ( reine vermutung..) en IIR-Filter 2 Ordnung schon
locker ausreichen.
Was so einen du da nimmst ist etwas geschmackssache & aber ich denke
mit nem Butterworth wärst du ganz gut dran!
Wenn du bei der Berechnung Hilfe brauchst kannste dich ja melden..

Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.