-         

Ergebnis 1 bis 8 von 8

Thema: Soundanalyse mit AVR...

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594

    Soundanalyse mit AVR...

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Das Thema ist ja schon mehrfach angesprochen worden, aber so wirklich substanzhaltiges habe ich nicht finden können... Daher frage ich einfach mal:
    Ich würde gerne mit einem AVR eine Audio-Peak-Anzeige bauen.
    Am liebsten noch mit unterschiedlichen Frequenzbändern.
    Dabei würde es auch nichts ausmachen, wenn es etwas ungenau wäre, hauptsache es kommt der Realität irgendwie nahe...

    Am Ende hätte ich am liebsten einen batteriegetriebenen AVR mit Analog-Vorstufe den ich einfach in ein Audiosignal einschleife und daran dann z.B. per RS232 oder SPI ein LED-Matrix-Display mit eigenem AVR-Controller anbinde.

    In Kombination mit dem TV-Terminal http://www.roboternetz.de/phpBB2/viewtopic.php?t=23833 könnte man da schon einige coole Sachen machen!

    Ich habe nicht wirklich Ahnung von der Materie (HF), bin aber willig zu lernen µC programmieren kann ich (z.Zt. noch Bascom).
    Wenn ichs richtig verstanden habe, dann müsste man prinzipiell erstmal Frequenzweichen bauen um die einzelnen Bänder zu isolieren. Die könnte man dann ja prima am ADC auslesen und weiterverwursten.
    Welche Bauteile und Schaltungen würdet ihr mir da empfehlen? Controller hab ich ne ganze Menge hier - M8, M16, tiny2313... Der M8 bietet sich ja eigentlich an mit seinem ADC... Bauteile sind auch vorhanden und ne gut sortierte Grabbelkiste

    Mir fehlen einfach die Ansätze für Verdrahtung und Bauteilauswahl...

    Gruß
    Stefan Z

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Du redest hier von 2 verschiedenen Ansätzen.
    Das eine ist eine Audio Spitzenwertanzeige, das war hier mal kürzlich ein Thema. Da hatten 2 Jungs die Aufgabe von ihrem Prof so etwas als Facharbeit zu bauen. Vieleicht rücken die beiden den Quellcode raus.
    Guck mal hier:
    http://www.roboternetz.de/phpBB2/vie...=294950#294950

    Das andere ist ein Spektrum Analyzer.
    Dabei kann man entweder die einzelnen Frequenzbänder durch einzelne Bandpaßfilter auseinanderdröseln. (Ich glaub da gibts in der zwischenzeit sogar spezielle IC's für).
    Oder man berechnet die einzelnen Frequenzanteile mittels Fourier Analyse.
    Ich bin da zwar nicht der Fachmann, aber soweit ich weiß ist diese Methode sehr rechenintensiv. Ich denk nicht das ein AVR Controller das in Echtzeit schafft.

    Ich glaub mich erinnern zu können, das sowas mal in Elrad mit nem DSP (Digital Signal Prozessor) und einem 8051 Controller gemacht wurde.

    Ich hink da der Entwicklung aber auch um mindestens 5 Jahre hinterher, weil ich schon ewig nichts mehr mit Audio Elektronik gebastelt hab.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Also für eine FFT wird man zwar im Normalfall einen DSP verwenden, aber es geht tatsächlich auch mit einem AVR (der hat dann allerdings auch nicht mehr viel Rechenzeit übrig um irgendwelche anderen Aufgaben zu erledigen).

    Es gibt ein oder zwei Projekte in der Richtung von denen ich weiss, aber leider finde ich die entsprechenden Seiten nicht mehr. Mit Bascom kommt man an der Stelle jedenfalls nicht weit, der generierte Code wäre viel zu langsam, also muss man den FFT-Algorithmus in Assembler programmieren.


    edit:
    hab doch noch eine Seite wiedergefunden: http://elm-chan.org/works/akilcd/report_e.html
    So viele Treppen und so wenig Zeit!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    http://elm-chan.org/works/akilcd/report_e.html -> Wow, das ist ja schon heftig.
    Aber der Kollege benutzt ja nichtmal Frequenzweichen!? Nur nen MAX293 als Filter, den Rest macht anscheinend ein einzelner ADC Eingang...
    Wie funktioniert das?
    Dass der AVR nachher nicht mehr viel machen kann, das ist egal. Soll nur die Daten rausfunken und gut ists.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Naja, das Geheimnis ist die FFT...

    Eine Fourier-Transformation transformiert ein Signal vom Zeitbereich in den Frequenzbereich. Ich weiss, das klingt komisch und man kann sich nur wenig bis garnichts darunter vorstellen.

    Man kann es aber auch so umschreiben, daß diese Transformation das Signal im Prinzip in viele Sinusschwingungen unterschiedlicher Frequenz zerlegt. Zu jeder dieser Frequenzen liefert die FFT den Betrag (also die Amplitude dieser Frequenz) und die Phase (also wie weit der Sinus verschoben ist).

    Die Phase ist für deine Anwendung unwichtig, was du brauchst sind die Beträge denn sie enthalten genau die Information die dich interessiert.
    So viele Treppen und so wenig Zeit!

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Haben doch meine beiden Vorredner schon gesagt: FFT=Fast FourierTransformation. Ein Algorithmus, der ein Signal in einzelne Sinusschwingungen aufdröselt, aus denen es besteht. Weil: jedes Signal lässt sich durch die Summe von Sinusschwingungen darstellen. Dadurch findest Du auch heraus, wie hoch die Amplituden der einzelnen Schwingungen sind. Wenn ich mich nicht irre, habe ich schonmal irgendwo einen AssemblerAlgorythmus im Netz gesehen...
    Gruß

    Edit:
    Felix war schneller...

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Danke für die Grundlagen-Erklärungen!
    Ich muss mich echt mal schlau machen, was diese Geschichten angeht...
    Den Souce hat der nette Bastler ja sogar online gestellt, mal sehen, ob ich draus schlau werde...
    Was macht der MAX293 in der Schaltung genau? Bügelt der nur die Frequenzen glatt oder ist da noch mehr dahinter? Ist ja immerhin irgendwie getaktet...

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Also laut Beschreibung ist das ja nichts weiter als ein Filter...

    für erste Versuche in der Richtung kannst du den durch einen einfachen Tiefpass in Form eines RC-Glieds ersetzen. Die Grenzfrequenz sollte dabei die halbe Abtastfrequenz nicht überschreiten (das gilt grundsätzlich immer bei digitaler Signalverarbeitung).

    Mag sein, daß der MAX293 besser ist als ein einfaches RC-Glied, aber er ist nicht zwingend notwendig.
    So viele Treppen und so wenig Zeit!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •