Forum: Digitale Signalverarbeitung / DSP / Machine Learning Klinke-audiosignal in Frequenzberei he spalten


von Kasimir Blust (Gast)


Lesenswert?

Guten Tag,
ein Freund und ich haben ein Lichtorgelprojekt mit 160LEDs gestartet. 
Wir würden gerne 8led reihen verbauenen, bei denen mehr leds einer 
reihe(welche fuer einen bestimmten frequenzbereich sind) aufleuchten.
Er wird die Platinen und Leds löten und ich darf die Prozessoren 
programmieren.
Meine Frage ist nun wie ich ein normales audiosignal,welches über ein 
klinke anschluss reinkommt, in die frequenzbereiche unterteilen kann und 
von diesen jeweils die lautstärke auslesen kann, um in weiteren 
mikroprozessoren die leds zu steuern. wir wollten den atmega16 
verwenden, aber der hat laut einiger forenbeiträge für eine 
audioumwandlung zu wenig power.
Benötige ich da dann einen Dsp und wie kann ich das  programmieren und 
vor allem brauche ja nicht viele pins gibts dsps auch in kleiner form? 
zum programmieren verwende ich das st500 von atmel.

Wer mir helfen kann darf sehr gerne sein bestes geben:)

Liebe Grüße,
ein Mikroprozessor Neuling :)

von chick (Gast)


Lesenswert?

>ein Mikroprozessor Neuling :)

Und dann so ne Aufgabenstellung? Mutig.

Mach Dich doch mal mit einem µP vertraut, leuchten schon LEDs durch den 
µP? Wenn nein -> Zurück zum letzten Satz.

von San Francisco (Gast)


Lesenswert?

fft oder dft heisst das Zauberwort. Im Prinzip geht ein acht Kanal 
Led-dingens damit schon. Die Frage ist halt die Updaterate. Veruchs doch 
mal mit zehn Hertz. Also Google an und los gehts.

von Kasimir Blust (Gast)


Lesenswert?

Danke fuer die Antworten, ich sehe schon, dass das nicht einfach in 
einem c++ programm mittels einem atmega realisierbar ist :)
ich dachte an 4 vielleicht 5 umschaltungen pro sekunde. ich dachte mir 
das so, dass die LEDs mittels kondensatoren solange an (oder aus) 
bleiben bis ein neues signal von der steuerungseinheit kommt.

Um das richtig verstanden zu haben: DFT ist eine andere art eines 
mikroprozessors? oder ist das nur eine programmiermöglichkeit?
Ps: Ich mag Herausforderungen :)
Also eigentlich brauche ich "nur" das audiosignal in einer form die ich 
in einem mikroprozessor mittels c++. dort gibts ja möglichkeiten 
zeitlich signale zu senden.

von commander (Gast)


Lesenswert?

Hallo,

dft ist keine Art eines Mikroprozessors, sondern quasi die Vorstufe der 
FFT. Mit einer DFT lässt sich dein SIgnal in eine beliebige Anzahl von 
Frequenzbereichen auflösen, bei der FFT sind nur Zweierpotenzen möglich. 
D.h. die Auflösung kann bei der FFT nur 2, 4, 8, 16 usw. Frequenzen 
betragen.
In wieviele Frequenzbereiche musst du dein Signal denn aufteilen? Habe 
mal eine 256-Punkt FFT auf einem ATMega32 realisiert. Die 
Berechnungszeit liegt im oberen µs-Bereich (bei 16 MHz). Die Frage ist, 
mit welcher Abtastrate du arbeiten willst. Wieviel Erfahrung mit 
digitaler Signalverarbeitung hast du bisher gesammelt?

Gruß

von Andi (Gast)


Lesenswert?

San Francisco schrieb:
> fft oder dft heisst das Zauberwort
na also wirklich nett

der mann will licht erzeugen und keine spektren analysieren

einfach ein paar simple bandfilter implementiert und fertig:

von Klaus D. (kolisson)


Lesenswert?

irgendwie hatten wir das Thema doch neulich in einem anderen Beitrag.
.. VU Meter  Peak Hold  selber bauen / aktive Diode ....
dazu dann eben ein paar LM 3915 , jeweils 2 kaskadiert und 60dB Umfang
ist dann richtig schön.
Die Bandfilter als einfache Linkwitz-Riley macht auch Spass.
Es ist halt etwas handarbeit aber das Ergebnis kann erfreuen.

Gruss Klaus

von Kasimir Blust (Gast)


Lesenswert?

ja, wie gesagt ich will ja nur für acht bereiche die lautstärke mit 
jeweils zehn leds anzeigen.
Die Ziel-Frequenzen sind: 125, 250, 500, 1k, 2k, 4k 8k, 12k.
Bis jetzt hab ich wirklich keine ErfHrung in Audio Signalen außer in 
Cinema4D, aber das zählt glaub ich nich. Ich komme aus dem stumpfen php 
und Java Programmiererbereich und lerne gerade c++ und habe mir diese 
aufgabe als große herausforderung rausgepickt :)
Zu den Bandfiltern, kennst du da eine gute Seite wo das genauer erklärt 
wird?
lg Kasimir

von Klaus D. (kolisson)


Lesenswert?

Naja , so eine Seite kenne ich.
http://sound.westhost.com/project09.htm

Da ist das für eine 3 Wege Weiche gezeigt. Du willst ja nun schon
mindestens 8 Wege realisieren.
Das ist halt viel Handarbeit und nachher gut.
Lad dir mal den Kalkulator herunter und spiel damit.
dAMIT DEIN aUFWAND NICHT ZU HOCH WIRD würde ich die 12db Variante 
vorschlagen.
Das ganze kann man mit LM358 Opv auf single Supply aufbauen wenn man
nur einen LM3915 an jeden Ausgang klemmt (als 30dB  = 10 LED)
Wenn man 20 Led und 2 LM3915 je Ausgang nehmen möchte ist es mit dem
Lm358 nicht mehr getan. Dann würde man z.B. einen LT1013 nehmen müssen.
Wenn du das durchrechnest wirst du sehen, dass es insgesamt schon
etwas Geld kosten kann.
Dafür ist aber dann die Freude gross, wenn man es hat.

Gruss Klaus

von Kasimir Blust (Gast)


Lesenswert?

Vielen Dank für den Link und die Beschreibung, ich werd mir das genauer 
ansehen. Preislicht kosten schon allein die leds 40euro also ist das 
schon in ordnung :)

Vielen Dank für all eure Hilfe, wenns fertig ist werd ich mal ein paar 
Fotos posten :)

von Klaus D. (kolisson)


Lesenswert?

und wenn du etwas Hilfe benötigst für das "single Supply Opamp design"
melde dich einfach. Bitte beachte auch die Auswahl der Kondensatoren.
Da sollte man nicht "irgenetwas von der Stasse" nehmen.

Gruss k.

von Kasimir Blust (Gast)


Lesenswert?

Okay, ich nehm nur High Quality:)

kurze Frage: in dem link von gerade eben, das signal das dann ausgegeben 
wird(high, mid, low) das ist aber die lautstärke und nicht schon das 
signal für die leds richtig?

von Klaus D. (kolisson)


Lesenswert?

Kasimir ich sag es dir.
Du musst natürlich hinter den Bandfiltern auch noch gleichrichten
damit der LM3915 damit etwas anfangen kann.
Für dich wird ein "half-wave" ausreichen.

siehe : http://sound.westhost.com/appnotes/an001.htm


Wenn du wirklich richtig gut und aufwändig bauen willst kann
dir dieser tage vielleicht mal einen Grundschaltplan erstellen.

Gruss Klaus

von Kasimir Blust (Gast)


Lesenswert?

Das wäre sehr nett :)
Ich dachte mir, man kann doch auch das gefilterte Signal mittels nem 
atmega und nem kleinen programm an die leds schicken, oder? Mein Problem 
war das aufspalten, bzw filtern bestimmter frequenzen, das wäre damit ja 
gelöst :) und das ausgehende signal wird dann in nem mikroprozessor 
einfach verrechnet und je nach intensität an die leds geschickt. (pro 
reihe ein atmega)

von hmmmm (Gast)


Lesenswert?

Ein AtMega für jede LED-Reihe ist übertrieben... wenn schon einen für 
alle, wenn du nen uC unbedingt nehmen willst.

von Klaus D. (kolisson)


Lesenswert?

Kasimir ich sag es dir:

Es gibt ja diese fast-Fourier Transformaationen, wo der Filter dann
mathematisch erzeugt wird. Ich glaube aber nicht, dass ein ATmega
dass wirklich gut lösen kann.
Demnach schein mir, wenn man wirklich etwas Gutes haben will, die
Analoglösung am sinnvollsten.

Ich mach dir dieser Tage mal einen Grundplan damit du den Kompass 
richtig
einstellen kannst.

Gruss Klaus

von Kasimir Blust (Gast)


Lesenswert?

ich bin mir nicht sicher ob es einen atmega mit 160 ausgangspins plus 
acht eingangspins gibt

von Klaus D. (kolisson)


Lesenswert?

geanu .. mein lieber kasimir.

.. da kämen dann auch noch die 74HC595  Shiftregister ins Spiel.
ich habe so das Gefühl, dass du lieber analog arbeitest.

Gruss k.

von ADAU1716 (Gast)


Lesenswert?

NF-Klinke->ADAU1761-I2C<->ATMEGA->SHIFTREGISTER

von Lukas K. (carrotindustries)


Lesenswert?

Klaus De lisson schrieb:
> Es gibt ja diese fast-Fourier Transformaationen, wo der Filter dann
> mathematisch erzeugt wird. Ich glaube aber nicht, dass ein ATmega
> dass wirklich gut lösen kann.
http://elm-chan.org/works/akilcd/report_e.html

von Lötlackl *. (pappnase) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Klaus De lisson schrieb:
>> Es gibt ja diese fast-Fourier Transformaationen, wo der Filter dann
>> mathematisch erzeugt wird. Ich glaube aber nicht, dass ein ATmega
>> dass wirklich gut lösen kann.
> http://elm-chan.org/works/akilcd/report_e.html

...daraus entstand unter anderem das hier:
Beitrag "[C] AVR-Lichtorgel per FFT MEGA8 32 644"

man müßte nur die Ausgaberoutine umstricken (statt PWM mittels 
beliebigem Portexpander LED-Balken ansteuern), fertig ist der Spaß, und 
zwar mit nur einem einzigen AVR.
mfg

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.