LabVIEWForum.de
Spektrometrie mit LabVIEW - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Spektrometrie mit LabVIEW (/Thread-Spektrometrie-mit-LabVIEW)



Spektrometrie mit LabVIEW - fefufighter - 27.09.2005 22:07

Hallo Forum,
folgende Frage(n):

Ich nehme mit einer Zeilenkamera Spektren auf und Werte diese mit LabVIEW aus. Dabei "sehe" ich im Signalverlaufsgraphen auf der X-Achse die Pixel Nr. und auf der Y-Achse den jeweiligen 12bit Intensitätsmesswert. Bis hier hin alles gut.
Nur jetzt möchte ich gerne eine Umrechnung von Pixel # in Wellenlänge einbinden.
Dazu habe ich schon 2 Cursor in das Diagramm eingefügt und mit dessen Werten und definierten Wellenlängen aus Literatur möchte ich die x-Achse neu skalieren.

Ein Beispiel: untersucht wird eine Helium-Lampe dessen Spektrallinien bekannt sind.
Diese Wellenlängen-Werte werden dann zusammen mit den Cursorwerten an den Peakpositionen zu neuen X-Wellenlängen-Werten berechnet.
Mit Hilfe von Formeln in einem Sub VI werden diese berechnet.
Dies dient dann dazu, um später die Wellenlängen abhängige Absorption von bestimmten Medien zu untersuchen.
Deshalb muss die Kalibrierung mit bekannten Wellenlängen, der Helium Lampe, erfolgen.

Mein Problem nun:

Wie bringe ich die alten "Y-Intensitäts-Werte" mit den neuen "X-Wellenlängen-Werten" zusammen in ein Diagramm, oder besser noch in das selbe?

Ich hoffe ich konnte mein Problem verständlich erklären, ansonsten schreibt alle Fragen die ihr habt, mögen sie noch so banal sein.

Also hoffe auf eure Mithilfe

Felix


Spektrometrie mit LabVIEW - thomas.sandrisser - 28.09.2005 07:11

Klingt recht interessant was du da machst...

Einen Signalverlaufsgraphen kannst du bspws mit der "Buendelfunktion" einmal einen Startwert X0, die Schrittweite dX und das Wertearray uebergeben - Problem hierbei ist nur, dass du fuer das gesamte Array das du angibst die gleiche Schrittweite hast, was dir ws net viel helfen wird.

Wenn die Schrittweite bei deinem Y-WerteArray gleich bleibt, kannst weiterhin mit einem Signalverlaufsgraphen arbeiten, wenn das nicht der Fall ist steig auf den XY Graphen um!

Ad Werte kopieren:
Die einfachste Moeglichkeit ist es, von deinem Graphen ein Property Node (Blockdiagramm - Rechtsklick Maus auf das Anzeigeelement - Erstelle - Eigenschaftsknoten)... In diesem Eigenschaftsknoten suchst nach dem Eintrag "Wert" (diesen kannst auf schreiben und lesen umschalten (ebenfalls wieder mit rechtsklick auf das property node))
So kannst bspws bei einem Signalverlaufsgraphen als auch bei einem XY Graphen neue Werte schreiben...


Spektrometrie mit LabVIEW - Oliver Listing - 29.09.2005 17:05

Hi fefufighter,

ich habe das in einer Anwendung für unseren Detektorbauer mit einem XY-Graphen gelöst.
Halt nur nicht in Wellenlänge, sondern in eV.
Man positioniert zwei Cursor auf bekannte Werte und gibt dazu die neuen X-Werte an. der Rest der Skala wird dann linear berechnet.

Gruß
Oliver


Spektrometrie mit LabVIEW - fefufighter - 29.09.2005 18:49

Hm da ist mein Sub Vi mit der berechnung ja ganz umsonst,

nur WO genau gibst du die neuen X-Werte an, eine Eingabe in die Cursor Legende ist ja sinnlos, weil dann die Cursor auf die X-Pos. geschoben werden.

Hast du das mit einem Eingabefeld und Eigenschaftsknoten gelöst?

kannst ja mal ein beispiel anhängen.


Spektrometrie mit LabVIEW - Oliver Listing - 29.09.2005 19:47

Hi fefufighter,

hier ein Beispiel.
Die eingabe der neuen Werte für die X Achsennormierung habe ich per Controls gelöst. Drumherum noch ein paar hübsche Schalter, und freie Cursor wahl und schon gefällt es auch dem Kunden.

Gruß
Oliver


Spektrometrie mit LabVIEW - fefufighter - 29.09.2005 20:49

Danke für das anschauliche Beispiel,

habe nur mein Signal nicht als Cluster sondern in einem Array, somit konnte ich es jetzt nicht "direkt" kopieren.

Die Formeln sind genau die, die ich auch benutzt habe, eben über die stinknormale Geradengleichung.

Aber danke nochmal für die Hilfe.


Spektrometrie mit LabVIEW - Pepe - 29.09.2005 21:46

Zitat:Stinknormale Geradengleichung
??

Was für eine Art von Spektrometer hast Du denn da gebaut? Ich meine wie separierst Du nach den Wellenlängen? Nimmst Du dazu ein Biprisma oder einen Kristall? In beiden Fällen ist nämlich die Funktion die einem Kanal (Ort) eine Wellenlänge zuordnet NICHT linear! Dies gilt nur genähert! Lol

Hab auch mal an nem Kristall Diffraktionsspektrometer programmiert, daher der Tip. Wenn Dich die genaue Formel interessiert sag bescheid!

Zu Deinem ursprünglichen Problem: Hör auf die anderen und nimm XY-Graph, dann ist das kein Problem mehr!

MfG
Pepe


Spektrometrie mit LabVIEW - fefufighter - 29.09.2005 21:50

na y=mx+n
und m=(y1-y2)/(x2-x1)


ja das mit der NICHT-linearität war mir klar. soll für den Versuch aber genügen
mach das über Gitter oder Prisma, je nachdem was ich messen will.

hast du denn auch VI´s dazu?
was für eine Kamera oder Detektor benutzt du?

Felix


Spektrometrie mit LabVIEW - thomas.sandrisser - 29.09.2005 21:51

Pepe schrieb:
Zitat:Stinknormale Geradengleichung
??
Zu Deinem ursprünglichen Problem: Hör auf die anderen und nimm XY-Graph, dann ist das kein Problem mehr!

Multiple Persoenlichkeiten hab ich noch net, danke :-)


Spektrometrie mit LabVIEW - Pepe - 30.09.2005 20:16

Das ist schon ne ganze Weile her, dass ich das gemacht habe. Das Spektrometer hing damals an nem 286er-Messrechner, da war nix mit LabVIEW! :-)
Den CCD-CHIP wird mal wohl nur noch in Technik-Museen finden :-)


Schöne Grüße

Pepe