Forum: Mikrocontroller und Digitale Elektronik Spectrum Analyzer Bandpass


von Jan K. (elektrolehrling14)


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

von Joe F. (easylife)


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.

von Jochen F. (jamesy)


Lesenswert?

Der Tietze-Schenk ("Halbleiter-Schaltungstechnik") hat eine Reihe 
Schaltungen und Formeln für die Berechnung parat, wenn es analog gemacht 
werden soll. Es gibt auch eine Reihe Programme, die kostenfrei so etwas 
berechnen, zum Download im Netz.

: Bearbeitet durch User
von Oldie (Gast)


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.

von derguteweka (Gast)


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

von Possetitjel (Gast)


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...

von max2 (Gast)


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.

von chris_ (Gast)


Lesenswert?

>16 kHz ADU mit einem AVR geht nicht.

Es gehen sogar 150kHz.
Man kann sogar ein Vido-Signal direkt abtasten:
http://roboterclub-freiburg.de/projekte/mega8cam/index.php

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.