LabVIEWForum.de
Signaldarstellung aus 16bit Hex String - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Signaldarstellung aus 16bit Hex String (/Thread-Signaldarstellung-aus-16bit-Hex-String)

Seiten: 1 2


Signaldarstellung aus 16bit Hex String - BobbyNapalm - 11.01.2010 17:47

Hallo LabVIEWForum,

ich bin erst seit wenigen Tagen mit LabVIEW zugange und habe jetzt nach ewiger Suche in der LabVIEW Oberfläche keine Lösung zu meinem Problem gefunden.

Hier meine Ausgangssituation:
Ich empfange von meinem Spektrumanalysator über GPIB einen Hexstring aus 1000 Zeichen, den ich mir einfach als String anzeigen lassen kann (2C2C393D4342353C433C2B35...). Zwei Zeichen entsprechen einem Messwert von meiner 500 Pixel Anzeige des SA.

Wie kann ich den String in brauchbare Messwerte umwandeln? Und mit welchen Signalgraphen kann ich mir das Signal anzeigen lassen?

Wie man einen Array aus numerischen Werten in einer Tabelle speichert habe ich schon herausgefunden. Also wäre es auch praktisch, wenn die Messwerte nachher in einem Array vorliegen.

mfg
Bobby


Signaldarstellung aus 16bit Hex String - BobbyNapalm - 11.01.2010 18:26

Gibt es in diesem Forum keinen Editierknopf?
Ich meine natürlich einen 8bit String.


Signaldarstellung aus 16bit Hex String - cnongs - 11.01.2010 19:27

Hallo Bobby,

mit dem folgenden VI kannst du aus einem Datenstring 24-Bit Zahlen zurück umwandeln. Erzeugt dein System 16 od. 32 Bit Zahlen musst du es anpassen.

Grüße cnongs


LabVIEW Version 8.0


Signaldarstellung aus 16bit Hex String - schrotti - 11.01.2010 21:48

@cnongs: Dein Beispiel ist Evil:)Du hast pro Zahl drei Arrayoperationen mit Speicherallokation. Versuche immer ein Array von Anfang an genau so groß zu gestalten, damit du es nicht mehr ändern mußt, es aber gleichzeitig nicht zu groß ist. In deinem Fall ist das Array gegeben, aber es besteht keine Notwendigkeit, es pro Schleifendurchlauf dreimal zu verkleinern. Mein Beispiel unten ist um den Faktor 600 schneller, da ich einfach die Größe des Array nicht ändere.

snip09 [attachment=23553]
Lv82_img[attachment=23554]


Signaldarstellung aus 16bit Hex String - Lucki - 12.01.2010 00:04

Wie kommt ihr denn hier auf 24 oder 32bit? Die Frage trägt doch den Titel: "Signaldarstellung aus 16bit Hex String". Das entsprechende Stringformat ist 0000..FFFF, und die Konvertierung könnte z.B so aussehen:
[attachment=23555]


Signaldarstellung aus 16bit Hex String - cnongs - 12.01.2010 00:14

Ja stimmt Schrotti, deine Variante ist 600 mal besser und Lucki's bestimmt die ultimative coolWink


Signaldarstellung aus 16bit Hex String - BobbyNapalm - 12.01.2010 04:07

Das sieht alles auf jeden Fall sehr gut aus und wird mir sicher weiterhelfen. Ich werde morgen mal all eure Vorschläge nachvollziehen.

Eine Sache ist mir allerdings bei cnongs Lösung aufgefallen, wo ich Probleme hatte.
Und zwar bei der ersten Umwandlung vom Hexstring in bytes. So habe ich auch angefangen und ich glaube bei mir kam dann zwar ein array raus, allerdings mit den ASCII-Werten der Hexzeichen. Aus 0-9 wurde 30-39 und aus A-F wurde 65-70.
Ich habe zu Hause leider kein LabVIEW und kann erst morgen in das VI gucken und kann nicht sagen, ob der Teil danach diese Sache korrigiert.

Danke schonmal und bis morgen.


Signaldarstellung aus 16bit Hex String - Lucki - 12.01.2010 11:11

Mir fällt da noch eine einfachere Lösung mittels 2maliger Typumformung ein:
Mit der ersten Typumformung werden je 4 Zeichen zu einer U32-Zahl umgeformt. Das wird mit einer zweiten Umformung wieder rückgängig gemacht. Das Ergebnis sind wieder die gleichen Zeichen, allerdings gegliedet als Array zu je 4 Zeichen. Dieses Array läßt sich dann mit der Funktion Hexstring nach Zahl mit einem Rutsch konvertieren.
[attachment=23561]


Signaldarstellung aus 16bit Hex String - BobbyNapalm - 12.01.2010 13:30

Luckis erste Lösung hat sehr gut funktioniert. Vielen Danke an alle.
Ich habe meine derzeitige Version angehängt. Vielleicht werde ich die Berechnung der Schleifendurchläufe noch durch einen festen Wert ersetzen, da meine Stringlänge eigentlich auch konstant ist.
[attachment=23574]


Signaldarstellung aus 16bit Hex String - schrotti - 12.01.2010 18:20

' schrieb:Wie kommt ihr denn hier auf 24 oder 32bit?
Die Frage hat mich gar nicht interessiert. Ein Offtopicwäre angebracht gewesen.