Mikrocontroller als Spektrum analyser?

Gast #3914760
Guten Abend,
wie kann ein Mikrocontroller als Spektrum analyser genutzt werden?
Interessant sind für mich aktuell nur Frequenzen im Audiobereich, also 
bis max ca 16kHz.
Mein erster Gedanke wäre für jeden Kanal einen Bandpass zu verwenden, 
allerdings habe ich bauten mit recht vielen Kanälen gesehen und wundere 
mich nun ob man Bandpässe Softwareseitig irgendwie ersetzen könnte.
Gast #3914762
Hagrid schrieb:
> Mein erster Gedanke wäre für jeden Kanal einen Bandpass zu verwenden,
> allerdings habe ich bauten mit recht vielen Kanälen gesehen und wundere
> mich nun ob man Bandpässe Softwareseitig irgendwie ersetzen könnte.

Ja, kann man. Je nach Rechenkapazität dauert das aber.
Guck mal nach FFT oder DFT.
#3914766
Das hängt davon ab, ob Du eine Terz- oder Oktav-Analyse oder eine 
normale Spektralanalyse machen willst. Beim ersten ist eine Filterbank 
sinnvoll, beim anderen eine FFT.

Im Audiobereich nimmt man gerne Terzanalysen bei denen das jeweilige 
Frequenzband mit zunehmender Frequenz breiter wird. Das entspricht eher 
der Hörwahrnehmung.
Gast #3914805
Hagrid schrieb:
> Frequenzen im Audiobereich, also
> bis max ca 16kHz.

Das bedeutet, dass du mit mindestens etwa 40kHz digitalisieren musst und 
möglichst besser als mit 8 Bit.
Dabei fallen einer Menge Daten an, für die ein entsprechend großer 
Pufferspeicher vorhanden sein muss.
Etliche Allzweck-Mikrocontroller werden damit schon überfordert sein.

Für die anschliessende Analyse gibt es Algorithmen, die kaum 
zusätzlichen Speicherplatz benötigen, aber prinzipiell müssen sind sehr 
viele Multiplikationen zu erledigen, weshalb ein Hardware-Multiplizierer 
vorhanden sein sollte.
Ausserdem benötigt eine FFT bei der Adressierung des Speichers eine 
Spiegelung der Bitpositionen in der Art 76543210 <--> 01234567.
DSP können diese Bit-Reverse-Adressierung ebenfalls ohne zusätzlichen 
Zeitbedarf erledigen, während eine softwaremäßige  Nachbildung ziemlich 
langsam geht.

Insgesamt wird eine Spektralanalyse mit einem gebräuchlichen µC also 
mehr schlecht als recht funktionieren, und du solltest besser einen 
vollwertigen  DSP oder einen dsPIC dafür verwenden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.