Audioverarbeitung in einer Endstufe

OP #4697482
Lesenswert?

Guten Tag,

ich habe vor, mir eine Endstufe zu bauen, in der ein Atmega32 das 
Audiosignal auswertet und anschließend über Bargraph-LEDs einen 
Equalizer anzeigt.
Meine Frage nun...kann mir jemand erklären oder mir einen Link zeigen, 
wie man das Audiosignal mittels einer FFT auswertet...ich möchts 
haargenau wissen, weil ich danach das Ganze komplett selbst 
programmieren
will.

Grüße
Leopold
Gast #4697653
Lesenswert?

Das kommt alles auf die Zahl der Bänder und die Genauigkeit an. Wenn es 
nur 5 Bänder und sagen wir 32 Stufen sein sollen, ist das mit einer 
Filterkaskade sicher am Einfachsten. Das Beispiel von WEKA ist da fast 
schon zuviel.
#4698914
Lesenswert?

Moin,


Thomas U. schrieb:
> Das Beispiel von WEKA ist da fast
> schon zuviel.

Hm - was heisst fast zuviel? Das laeuft auf einem atmega16 mit 16MHz und 
braucht dabei ca. 40% der CPU-Zyklen. Also da ist noch Luft drinnen.

Das gute an der Filterkaskade ist, dass der Rechenaufwand bei mehr 
Filtern kaum mehr steigt, weil die Abtastrate fuer jedes neue Filter 
'runtergeht. Verwend' ich Oktavfilter, also 1:2 Unterabtastung, von 
Filter zu Filter (wie in meinem Testprojekt) ist der Rechenaufwand fuer 
alle Filter zusammen hoechsten 2x so gross, wie der Rechenaufwand fuer 
die erste Hoch/Tiefpass-kombi. Egal, ob ich danach noch weitere 9 Filter 
(sinnvoll, damit ist der menschl. Hoerbereich ungefahr abgedeckt) oder 
99 Filter berechnen lasse. Kurz: Das kosta fast garnix.

Beim Goertzel kostet jedes neue Filter gleichviel neue Rechenzeit; 
nochdazu ist das ein IIR-Filter; speziell beim AVR wuerd' ich mir da 
erstmal Sorgen machen wegen Rundungs/Ueberlauffehlern bei 8/16-Bit 
Arithmetik bzw. Geschwindigkeit bei hoeheren Wortbreiten.

Bei einer FFT steigt der Rechenaufwand auch mit zunehmendem N an, sogar 
noch staerker als nur linear (N*log(N) iirc).

Bei all dem nicht vergessen:
Auf einen mit 16MHz getakteten AVR bezogen, der Audio mit 32kSamples/sec 
sampled, kommt alle 500 CPU-Takte ein neues Sample, das verwurstet 
werden will. Und zusaetzlich haengt noch ein LED-Grab dran, das 
puenktlich gemultiplext und mit Lichteffekten versorgt werden will.

Gruss
WK

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren