Spectrum Analyzer Bandpass

OP #4302386
Lesenswert?
• ▲
▼
Servus Liebe Freude,

möchte gerne ein Audio Spectrum Analyzer Bauen nur habe ich bei der 
umsetztung vom einem Aktiven Bandpass probleme um Folgende Fequenzen 
aufzubauen. 32Hz, 64Hz, 125Hz, 250Hz, 500Hz, 1kHz, 2kHz, 4kHz, 8kHz, 
16kHz

Diese will ich gerne umsetzten nur finde ich keinen guten Ansatz um dies 
zu realisieren. Ich habe leider noch keinen Ansatz...
würde mich um eure Hilfe sehr freuen.

LG E-Lehrling

PS: er soll so ähneln https://www.youtube.com/watch?v=9SK2AxfELfw
#4303199
Lesenswert?
• ▲
▼
Selbst bei der von dir angepeilten (und sehr niedrigen Auflösung) von 1 
Band pro Oktave ist eine rein analoge Lösung recht schwierig.
Du bräuchtest Filter mit mind. 12dB pro Oktave, um die Bänder 
einigermaßen zu trennen, und selbst das wäre noch ein sehr schlechter 
"Analyzer".

Digital ist so etwas wesentlich eleganter zu machen.
Die Stichworte hierzu heissen "FFT" (Fast Fourier Transformation) bzw. 
"Constant Q Transform".
Der digitale Weg bietet dir auch die Möglichkeit, im Nachhinein den 
Frequenzbereich und die angezeigte Dynamik durch Ändern von ein paar 
Parametern in der Software einzustellen.
Gast #4303235
Lesenswert?
• ▲
▼
Vor 25 Jahren habe ich das schon mal gebaut.
Aber so richtig stabil kriegt man das analog nicht hin.

Meine allererste Idee wäre, statt 10 OpAmps (8 Pins) +
Rs und Cs und Abgleichpoti zu verwenden, 10 Tiny25 (auch nur
8 Pins, aber wenig drumherum) einzusetzen.

Das Frequenzband wird über ADC und Görtzel-Algorithmus
erfasst und deren Amplitude über PWM ausgegeben.
Gast #4303382
Lesenswert?
• ▲
▼
Moin,


Klar kann man das alles schoen digital mit einem µController machen, 
also mit dem Analogsignal in einen ADC-Eingang rein, dann intern auf 
eine irgendwie geartete Filterbank, die einzelnen Baender dann 
entsprechend "gleichrichten" (z.b. quadrieren), je nach gewuenschtem 
Displayverhalten logarithmieren, tiefpassfiltern, ggf. Spitzenwert 
gesondert merken und dann mit ein paar digitalen Ausgaengen des 
µControllers direkt eine dicke LED-Matrix ansteuern.
Ist zum loeten sicher einfacher, nur das programmieren des ganzen 
DSP-Krempels ist evtl. ein bisschen happig, wenn man da nicht so recht 
sattelfest ist...

Prinzipiell fast immer ein guter Ansatz ist bei grossen Projekten: in 
kleinere Teilprojekte runterbrechen.

Analog, so wie das in dem Video ausschaut:
Erstmal ein LED-Band aufbauen; gucken, dass das vernuenftig laeuft und 
aussieht. Das mit einem geeigneten Gleichrichter und Tiefpass, ggf. 
Logarithmierer ausstatten (wenn nicht schon durch die Schaltung log. 
angezeigt wird)
Dann ggf. mal ein Bandfilter berechnen (lassen, Google findet diverse 
Online-Rechner) und aufbauen.
Dann den ganzen Zirkus halt in Kleinserie fuer die ganzen uebrigen 
Baender...

Oder Digital:
µController aussuchen, LEDs dranpopeln, programmieren anfangen - mit 
aehnlichen Zwischenstufen wie wenn man's analog aufgebaut haette...

Gruss
WK
Gast #4303468
Lesenswert?
• ▲
▼
Jan K. schrieb:

> möchte gerne ein Audio Spectrum Analyzer Bauen nur habe
> ich bei der umsetztung vom einem Aktiven Bandpass probleme
> um Folgende Fequenzen aufzubauen. 32Hz, 64Hz, 125Hz, 250Hz,
> 500Hz, 1kHz, 2kHz, 4kHz, 8kHz, 16kHz

Hmm. Die Bänder sind mit einer Oktave schon relativ breit;
vermutlich realisiert man den Bandpass am Einfachsten als
Kettenschaltung eines Tief- und eines Hochpasses.

Butterworth-Filter 5. Ordnung kommen mit 2 OPVs je Filter aus
und liefern 30dB je Oktave; der komplette Bandpass benötigt
gerade einen Vierfach-OPV (z.B. TL084).

Die logarithmische Anzeige (wenn gewünscht) ist nochmal ein
anderes Thema...
Gast #4303558
Lesenswert?
• ▲
▼
16 kHz ADU mit einem AVR geht nicht. Falls Du Deine Spezifikation ohne 
16kHz
vorsehen kannst, verwendet man ein FIR Filter. Mit einem Arduino Due, 
der im Timerinzerrupt die Daten erfasst bleibt genügend Zeit für die 
Korrelation.

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