Forum: Mikrocontroller und Digitale Elektronik Audio Spectrum Analyser: unterschiedliche Pegel


von Christian D. (neo87)


Lesenswert?

Hallo!
Ich bin gerade an einem kleinen Projekt, sollte eigentlich ein 
Weihnachtsgeschenk für meinen Vatter werde.
Ein 10-Band Audio-Spectrum-Analyser mit IN-13 Nixies.

Das ganze besteht im Wesentlichen aus einem Xmega der 2 FFTs mit 
unterschiedlicher Samplingfrequenz macht (wegen logaritmischer 
Verteilung der Bänder). Das ganze Funktioniert auf dem Steckbrett 
schonmal ganz gut.

Jetzt habe ich aber einen ganz blöden Denkfehler gemacht: Der Verstärker 
hat einen "REC"-Ausgang, da wird bloß das Signal des aktuell gewählten 
Eingangs hin durchgeschliffen. Und da wollte ich das Signal für meinen 
Analyser abgreifen. Jetzt habe ich aber festgestellt das die ganzen 
Geräte vollkommen unterschiedliche Pegel liefern. Bloß weil meine 
Soundkarte und mein Handy ca. 2Vpp liefern, bin ich davon ausgegangen 
das das Standart ist. Jetzt war ich heute bei Vatter und habe mal 
nachgemessen. Vom Phono-preamp kommen ca. 600 mVpp, CD-Player 2 Vpp und 
sein DAC der liefert sogar 7,5 Vpp.
Und da liegt auch mein Problem, Wenn ich mein Signal jetzt soweit 
abschwäche, das ich die 7,5V auf die max. 3V meines ADC bringe, bleibt 
von den 600mV des Plattenspieler ja fast nix über. Aber die Anzeige soll 
ja egal von welcher Signalquelle sie gerade befeuert wird immer "schön" 
Ausschlagen, sonst flackert beim Plattenspieler ja nur der unterste cm.

Aber wie könnte ich das angehen? Ich weiß ja nicht welche Quelle gerade 
ausgewählt ist.

von c-hater (Gast)


Lesenswert?

Christian Dreihsig schrieb:

> Das ganze besteht im Wesentlichen aus einem Xmega der 2 FFTs mit
> unterschiedlicher Samplingfrequenz macht (wegen logaritmischer
> Verteilung der Bänder).

Die gewünschte "logarithmische Verteilung der Bänder" zwingt keinesfalls 
dazu, mehrere FFTs laufen zu lassen. Man muß nur die Ergebnisse einer 
FFT entsprechend aufbereiten, das ist alles.

War aber wahrscheinlich im sicherlich per Copy&Paste "geschriebenen" 
Code der FFT so einfach nicht vorgesehen...

> Jetzt habe ich aber einen ganz blöden Denkfehler gemacht: Der Verstärker
> hat einen "REC"-Ausgang, da wird bloß das Signal des aktuell gewählten
> Eingangs hin durchgeschliffen. Und da wollte ich das Signal für meinen
> Analyser abgreifen. Jetzt habe ich aber festgestellt das die ganzen
> Geräte vollkommen unterschiedliche Pegel liefern.

So what? Wenn du ein Meßgerät wolltest, dann ist es völlig korrekt, wenn 
dieses bei geringem Gesamtpegel auch auf den Einzelkanälen geringe Pegel 
anzeigt.

Wenn du allerdings nur DAU-Dummdödel-Geblinker als Effekt haben willst, 
dann mußt du halt alle Einzelkanäle irgendwie gegen das Summensignal 
skalieren. Sinnvollerweise mit einem Treshold, damit nicht schon das 
Grundrauschen den "Effekt" erzeugt. Noch besser mit einer 
Dynamikkompression, die zwischen Grundrauschen und 
"Maximum-Beschallungspegel" irgendwie variabel skaliert.

Da für solch Geblinker exakte Anzeigen keinerlei Rolle spielen, kannst 
du einfach tun, was immer du willst, bis es für deinen Geschmack gut 
aussieht. Also tue es doch bitte auch einfach.

von Christian D. (neo87)


Lesenswert?

c-hater schrieb:
> Die gewünschte "logarithmische Verteilung der Bänder" zwingt keinesfalls
> dazu, mehrere FFTs laufen zu lassen. Man muß nur die Ergebnisse einer
> FFT entsprechend aufbereiten, das ist alles.
>
> War aber wahrscheinlich im sicherlich per Copy&Paste "geschriebenen"
> Code der FFT so einfach nicht vorgesehen...

Du hast natürlich recht, sicher zwingt mich das nicht dazu 2 FFTs laufen 
zu lassen, aber mit zwei geht es schneller.

1. FFT: fs=1420Hz @ 64 Punkten ~22Hz Auflösung
(31,5Hz-Band von 22Hz-44Hz)

2. FFT: fs=45,42kHz @ 64 Punkten ~710Hz Auflösung
(1khz Band  von 710Hz-1420Hz)

bei einer FFT bräuchte ich 2048 Punkte um auf meine 22Hz fürs 
31,5Hz-Band zu kommen. Und ich hab ne ganze Weile gebraucht um auf die 
Lösung mit den 2 FFTs zu kommen. Ich Sample beide Bereiche parallel via 
DMA und komme so im unteren Bereich immerhin auf eine Updaterate von 
22Hz.
Und Ja die FFT-Poutine ist Copy&Paste aber erst nachdem ich mich 
Wochenlang in die Thematik eingelesen habe, um wenigstens im Ansatz zu 
verstehen wie das ganze funktioniert. (Musste erstmal einiges nachholen, 
hab ja nur 10 Klassen. Komplexe Zahlen gab es bei uns nicht ;))



c-hater schrieb:
> dann mußt du halt alle Einzelkanäle irgendwie gegen das Summensignal
> skalieren. Sinnvollerweise mit einem Treshold, damit nicht schon das
> Grundrauschen den "Effekt" erzeugt. Noch besser mit einer
> Dynamikkompression, die zwischen Grundrauschen und
> "Maximum-Beschallungspegel" irgendwie variabel skaliert.

So in etwa hatte ich auch überlegt. Problem ist das mir dann leise 
Musikstellen mit unter auch hochskaliert werden und das wollte ich 
vermeiden.

von Old P. (Gast)


Lesenswert?

Na das ist ja ne Kiste....
In der Überschrift steht was von "Analyzer", also ein Messgerät und dann 
stellt sich raus, es ist ne simple Lichtorgel.
Ein Analyzer stellt die Intensität einzelner Frequenzbereiche aus dem 
Gesamtsignal dar. Und das bezogen auf einen Normpegel (z.B. 1dBm oder 
1dBV). Wer aber meint, Handysignale seien irgendwie Standard (und auch 
noch Standart schreibt), und mit diesen (nicht)Wissen einen 
Spektrumanalyzer entwickelt, der hat noch einen langen Weg der 
Erkenntnis vor sich. Oder er nennt das Ding Flackeranzeige, dann passt 
wieder alles ;-) Und Ja, auch bei einem richtigen Analyser kann man die 
Verstärkung einstellen.

Old-Papa

von Christian D. (neo87)


Lesenswert?

Du hast natürlich Recht: Analyser war wohl "ein wenig" hochgegriffen 
aber mir ist kein anderes Wort für dieses Ding eingefallen ;)
Und ich habe nicht nur an meinem Handy gemessen sondern auch an meiner 
Soundkarte. (Mehr Unterhaltungselektronik habe ich nicht.) Und beide 
lieferten ca. 2Vpp deshalb bin ich davon ausgegangen. Naja war ebend ein 
Irrglaube, kann ja mal vorkommen, deswegen gebe ich nicht auf.

Es soll natürlich kein präzises Messinstrument werden, in erster Linie 
soll es gut aussehen, wäre aber schön wenn es wenigstens einen groben 
Rückschluss zu den "echten" Werten zulässt.

Einstellbare Verstärkung, guter Tipp. Könnte ich sogar über die 
integrierte Gain-Stage des Xmegas machen. Und eigentlich habe ich ja 
auch nur zwei Wertebereiche: die 7,5Vpp vom DAC und die 600mVpp vom 
Phonopreamp. CD-Player ist zwar angeschlossen, wird aber eigentlich nie 
benutzt. Und zwischen diesen beiden Bereichen müsste sich auch eine 
automatische Umschaltung realisieren lassen. Liegen ja realtiv weit 
auseinander.

Über die genaue Skalierung in Y-Richtung habe ich mir noch gar keine 
gedanken gemacht, ob ich das jetzt in dbm, dbV oder bloß irgendwie 
logaritmisch skaliere. Naja, wie du schon festgestellt hast ist der Weg 
noch lang, macht aber nichts, Mir machts spaß :)

von A-Freak (Gast)


Lesenswert?

Du könntest/solltest das Problem an den Quellen lösen.

Jeder Eingang des Vorverstärkers bekommt ein Paar kleiner Potis mit 
denen du die Ausgangsspannung der Geräte auf einen Normpegel bringst. 
Sinnvoll wären 775mV weil die sowieso mal als Normalwert gedacht waren.

Jedes Mischpult hat solche Pegelsteller mit der Bezeichnung Pre-Gain.

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.