Neues Projekt - FFT für Metoritenzählung

michaelkorb

Neues Mitglied
19. Jan. 2011
98
0
0
berlin
Sprachen
Auch wenn ich noch ganz am Anfang stehe, möchte ich Euch mein nächstes Projekt vorstellen (Ja ich weiss, die Teleskopanzeige ist noch nicht fertig;) ).
Basis dafür ist ein Modul von ALVIDI (ATxmega128A1 mit 64MB externem SDRAM), welches heute ankam. Ich hab es bereits am Laufen, leider ist mein bisheriger ISP nicht kompatibel und ich hab schnell einen anderen bestellt.

Aber vielleicht erst den Hintergrund - Radioastronomie (also für schlechtes Wetter) - konkret Meteoritenzählung. Ist nicht prinzipiell Neues, nur geht es bisher nur mit PC und entsprechender Analysesoftware (FFT-Analyse). Mit der Theorie will ich Euch hier nicht langweilen. Wen es interessiert, kann die Grundlagen unter http://radio.astronomie-hobby.de/meteoriten.html nachlesen. Ich beschränke mich hier nur auf das Wesentliche. Von einem speziellen Empfänger kommt ein Audiosignal im Bereich bis 5kHz (später evtl. auch mehr). Dieses Signal muss gesampelt und anschließend per FFT analysiert werden. Die Frequenzamplituden müssen zwischengespeichert werden und über einen bestimmten Zeitraum für bestimmte Frequenzen bewertet werden. Geplant hab ich eine Liveanzeige der Frequenzen - evtl. auch Wasserfall. Dazu werd ich ein kleines Grafik-LCD verwenden (welches ist noch offen).

Ein Atxmega-Modul hab ich gewählt wegen der schnellen ADCs, da ich mir nach oben nix verbauen will. Wenn ein Kanal funzt, werde ich ausbauen für mehrere parallel (mindestens 2). Der SDRAM ist auch sehr nützlich. Die eigentlichen Ergebnisdaten sind nicht umfangreich und können dann per USB zum PC oder besser noch per LAN an einen Webservice. Eine SD-Karte ist auch beim Modul dabei, di auch als Ergebnisspeicher dienen könnte.

Soviel zum Start des neuen Projektes. Wie Ihr bemerken könnt, bin ich noch in der Ideenphase und werde zunächst bestimmte Teile am Modul testen.

Michael
 
Hallo Michael!

Du bist ja gar nicht zu bremsen. :)
Kaum das letzte Projekt fertig gestellt, schon das Nächste in Arbeit.

Ist aber gut zu wissen, dass ich damit nicht alleine bin. ;)


Grüße,
Cassio
 
Hallo Cassio,

man tut was man kann. Dieses Wochenende geht es aber ersteinmal mit der Positionsanzeige weiter. Heute kam Lieferung, nun kann ich Steuerbox und nun getrennte Funkbox weitermachen. Hoffentlich klappt es mit dem Timing.

Ich habe mir mal Dein beworbenes OLED-Modul angesehen. Das könnte interessant werden für mein zweites Projekt. Da muss ich nur schauen, ob die Farbtiefe (255 Graustufen) für den Wasserfall ausreicht. Könnte aber klappen. Ein wenig flinker könnte das Modul sein, max 500kHz für die SPI ist nicht gerade rasend.

Michael
 
Da muss ich nur schauen, ob die Farbtiefe (255 Graustufen) für den Wasserfall ausreicht.

Hallo Michael!

Wie meinst du das mit 255 Graustufen? :hmmmm:

Mit dem OLED kannst du soooooo schön leuchtende Farben zaubern, warum benötigst du denn Graustufen?



Ein wenig flinker könnte das Modul sein, max 500kHz für die SPI ist nicht gerade rasend.

Nun ja.... du musst bedenken, dass du z.B. bei einer Linie, einem Rechteck, einem Zeichen oder was auch immer nur die Anweisung per SPI sendest.
Den Rest macht das Display ja von allein! :)
Dein Controller muss also nicht Pixel für Pixel die Daten via SPI zum Display übetragen! ;)

Grüße,
Cassio
 
Hallo Cassio,

Wie meinst du das mit 255 Graustufen? :hmmmm:
Bei so einem Wasserfall will man bestimmte Muster im Spektrum erkennen, heißt Amplitudenwerte der Frequenzen werden als Grau- oder auch grün, blau - jedenfalls monochrom dargestellt. Je Zeiteinheit wird dabei eine Zeile dargestellt. Bei jeder neuen zeile wandert der Rest nach unten raus - deshalb Wasserfall. Bunt sieht so was blöd aus, könnte man aber auch versuchen. Durch Kontrast- und Helligkeitsveränderung kann man nach bestimmten Signalen suchen.

Ich hab mal solch einen Wasserfall als Bild angehangen. Oben sieht man das Echtzeit-Spektrum (das wäre ein Anzeigemodus) und darunter der Wasserfall über die Zeit (das wäre ein anderer Modus).

Dein Controller muss also nicht Pixel für Pixel die Daten via SPI zum Display übetragen! ;)
Bei reinen Messwerten und noch dazu in Echtzeit sind es meist einzelne Pixel. Aber ich werd es versuchen.

Michael
 

Anhänge

  • wasserfall.JPG
    wasserfall.JPG
    77,7 KB · Aufrufe: 36
Hallo Michael!

Sieht interessant aus..... so ein "Wasserfall". :)

Der geübte Astronom wird darin bestimmt auch etwas erkennen können.....
So weit bin ich aber in der Astronomie nie gekommen.
Ich finde das Hobby zwar immer noch sehr interessant.... aber die besten Sichtverhältnisse hat man immer dann, wenn es draußen so schei..... kalt ist.
Das war aber nicht der Hauptgrund, warum ich vor ein paar Jahren meine Meade-Spiegel wieder verkauft habe. ;)


Was ich gerade noch überlege......
Gibt es überhaupt 255 Graustufen? :confused:
Ich kenne nur die "üblichen" 16 Graustufen.
Aber ob du die mit dem OLED realisieren kannst? :hmmmm:
Müsste ich wohl mal testen....... oder machst du das selbst? ;)

Grüße,
Cassio
 
Hallo Cassio,

Der geübte Astronom wird darin bestimmt auch etwas erkennen können.....
Das hat ersteinmal wenig mit Astronomie zu tun, reine Spektralanalyse. Nur die Anwendung ist dann radioastronomisch.

Was ich gerade noch überlege......
Gibt es überhaupt 255 Graustufen? :confused:
Ich kenne nur die "üblichen" 16 Graustufen.
Du meinst sicher 16Bit-Graustufen, das sind..., na ja jede Menge.
Wenn ich das richtig gelesen habe, kann das OLED je Farbe 256 Werte annehmen (3x8Bit). Zumindest lese ich das aus dem Datenblatt bei den Befehlen für Farbe setzen (je 8Bit). Macht man alle drei Farbwerte gleich, hat man Graustufen, in dem Fall dann 256. Wahrscheinlich wird das reichen. Probieren werde ich das auf jeden Fall. Aber eins nach dem anderen. Ersteinmal muss die FFT laufen.

Michael
 
Hallo Michael,
Wenn ich das richtig gelesen habe, kann das OLED je Farbe 256 Werte annehmen (3x8Bit). Zumindest lese ich das aus dem Datenblatt bei den Befehlen für Farbe setzen (je 8Bit). Macht man alle drei Farbwerte gleich, hat man Graustufen, in dem Fall dann 256.
übertragen werden 3x8bit (RGB), darin werden jeweils 6bit genutzt, das ergibt dann 262.144 Farbwerte, bzw. 64 Graustufen.

Dirk
 
Hallo Dirk, Cassio,

heute kam das XV-OLED302-SPI an. Sowie ich Zeit finde, werde ich mal diverse Tests machen um die Tauglichkeit für mein projekt abschätzen zu können.

Michael
 
Heute bin ich endlich dazugekommen, das XV-OLED an mein XMega-Modul anzuschließen. Nach einigen Hürden hab ich es auch ans Laufen gebracht.
Der Atxmega 128A1 läuft auf volle Pulle (32MHz)
Wie es aussieht hab ich mit 1/8 Prescaler ohne CLK2X die maximale Geschwindigkeit erreicht - 1MHz CLK-Frequenz. Wenn ich die Verdopplung zuschalte, spielt es nicht mehr sauber.
Im Datenblatt sind max. 500kBit/s angegeben. Sollte hinhauen oder? :confused:

Nun geht es den ADCs an den Kragen. Dazu muss ich ersteinmal eine Signalaufbereitung machen, nich das der kleine noch stirbt wegen falschen Potentialen am Eingang.

Ich halt Euch auf dem Laufenden.

Im Anhang übrigens ein Mitschnitt am SPI.

Michael
 

Anhänge

  • xv_oled_spi.JPG
    xv_oled_spi.JPG
    76 KB · Aufrufe: 19
Hallo Michael!

Ich hätte mal kurz eine :offtopic: -Frage zum vorherigen Beitrag.....

Mit welcher Software hast du den Mitschnitt vom SPI-Bus gemacht?
Ist das eine separate Software, oder Teil eines Messgerätes?


Grüße,
Cassio
 
Hallo Cassio,

das ist die Aufzeichnung meines LOGIPORT (34 Kanal Analyzer), den ich vor ein paar Jahren sau günstig aus USA geschossen habe. Der kann auch einige Protokolle analysieren, wenn man dem Interpreter die richtigen Signale zuweist. Hat mir schon sehr geholfen das Teil.
Muss mal kramen - ah ja da isser ja http://www.pctestinstruments.com/deutsch/index.htm.
Da gab es vor Jahren mal einen Händler, bei dem ich oft gekauft habe und der hat ne Sammelbestellung gemacht und das Teil recht günstig angeboten.
Auch das hab ich noch gefunden, das war bei Display3000 und da ist er ja noch http://www.shop.display3000.com/werkstatt/messgeraete/logicport-logicanalyzer-34-kanaele-500-mhz-mit-20.html. Allerdings derzeit etwas teurer. Damals war der Dollar sehr gut für uns.
Trotzdem ist das Teil erste Sahne und ich kann es nur empfehlen.

Michael
 
Hallo Michael!

Der LOGIPORT ist ja ein Traum! :adore:

Danke dir, für die Infos.
Wird dann aber wohl erst auf meiner Wunschliste zu Weihnachten 2011 stehen. ;)


Grüße,
Cassio
 
Endlich war wieder einmal etwas Zeit, um auch an diesem Projekt ein wenig voran zu kommen.

Thema ADC am ATXMega128A1. Zunächst ha ich das mit einer regelbaren EIngangsspannung probiert - funktioniert soweit.

Die eigentliche Aufgabe ist die Wandlung eines Empfängersignals mit ca 10kHz - eigentlich keine echte Herausforderung. Das SIgnal
stammt von einem Spezialempfänger der es als "Audio-Signal" rausgibt (Amplitude regelbar). Da auch negative Werte - zunächst das ganze durch einen Instrumentenverstärker (single supply, rail-to-rail) gejagt. Somit liegtdas SIgnal im Bereich des ADCs. Per Referenzspannung kann ich das Signal auch im Bereich 0 - 3,3V schieben. Da es ja dolle Chips für so nen Verstärker gibt, hab ich einen AD623 genommen. Ohne das Ausgangssignal an den A0-EIngang des ATXMega anzuschließen, funktioniert auch alles prächtig. SObald ich das SIgnal an den A0 anschließe, wird der EIngang A0 auf VCC gezogen und mein SIgnal ist weg.
Meine Vermutung liegt bei irgendwelchen Impedanzen. Leider hab ich keinen Plan, was ich tun kann und hoffe auf Eure Hilfe.

Michael
 
Hallo Michael!

Ich kenne mich mit den XMegas zwar nicht aus aber......
Wenn dein Eingang zu Vcc gezogen wird, hast du vielleicht den Pullup im XMega aktiviert?
Kannst du den zum Testen nicht mal abschalten?

Wie aber schon geschrieben.... ist nur eine Vermutung, weil ich die XMegas nicht kenne.
Schätze mal, da kann dir nur Dirk weiterhelfen.

Grüße,
Cassio


PS:
Was ist denn der AD623 für ein netter Verstärker?
Ist der von AnalogDevices (wegen dem AD)?
Hast du mal ein Datenblatt dazu?
 
Hallo Michael,

Ideen habe ich leider nicht viele.

Die Multiplexpins des Xmega ADC haben Eingangswiderstände von mindestens 10MOhm, das ist also keine Last für den Ausgang des AD623.

Du hast ja den PIN0 von PortA sicherlich nicht als Ausgang und dann auf high geschaltet.

Eventuell ist der ADC nicht richtig konfiguriert. PIN0 wird alternativ auch als Referenzspannungseingang verwendet.

Noch eine Ursache könnte sein, dass der Pin elektronisch defekt ist (Überspannung -> Latchup -> Kurzschluss nach VCC), das läßt sich aber prüfen.

Ich habe den Thread nicht genau verfolgt, weiß also nicht wie du den ADC konfiguriert hast. Es gelten folgende Bedingungen, die du einhalten mußt:

VREF = 1,0V bis (VCC-0,6V)
AVCC = (VCC-0,3V) bis (VCC+0,3V)
Conversion Range = 0V bis VREF


Vielleicht ist ja irgendwas dabei, was dir weiterhilft.

Grüße,
Dirk
 
Hallo Dirk,

Asche auf mein Haupt, natürlich war Port A auf Ausgang programmiert. Das kommt davon, wenn man aus einem Sample weiterbaut.
Nun funktioniert alles bestens. Hab erst mit einem variablen Spannungsteiler getestet und nun den Ausgang vom AD623 dran. Das Signal
wird sauber gesampelt. Nun geht es weiter mit Timer für korrekte Sampleraten im single shot-Verfahren.

Ich hab übrigens die gesampelten Werte als Grafik auf dem XV-OLE Display ausgegeben. Sieht sehr flüssig aus. Nun müßte man nur noch
Querformat ausgeben. Leider bietet die Lib bisher nur Hochformat-Schriftausgabe.

Nächste Schritte nach korrekten Sampleraten ist FFT für die gesampelten Werte, Darstellung als Kurve und natürlich kommt dann der Wasserfall.

Ich halt Euch auf dem Laufenden.

Cassio@Der AD623 ist ne feine Sache, da auch mit single VCC selbst bei 3,3V und keiner weiteren Beschaltung bei Gain=1. Wenn andere Verstärkungen gefordert, erledigt das ein Widerstand.

Michael
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)