![]() |
Rohdaten--->reale Daten - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Signaldarstellung (/Forum-Signaldarstellung) +---- Thema: Rohdaten--->reale Daten (/Thread-Rohdaten-reale-Daten) |
Rohdaten--->reale Daten - fk08 - 31.01.2008 15:23 Hallo, das Auslesen eines Spektrometers über rs232 funktioniert anscheinend, jedenfalls bekomme ich nach senden eines Befehls Daten. In der Anleitung steht folgendes zu den Daten: GSP (=Befehl) --->Antwort: 32768 equidistant spectrum values as a row of 65536 byte with the following structure: 1. byte 00 _HEX .. FF _HEX high byte of 1. Spectrum value 2. byte 00 _HEX .. C0 _HEX low byte of 1. ACF value (only bit 7 and 6 significant) . . . usw. Da ich momentan nur das Spektrum haben will, würde es im Prinzip reichen, jedes 2. Byte zu konvertieren. Da. abwechselnd ein Spektrumwert und Autokorrelationswert ausgegeben wird. Leider kenn ich mich mit der Konvertierung nicht aus, nehmen wir das erste byte: dieses ist in hexadecimal kodiert, welcher den Bereich 00 bis FF hat? was nützt mir noch die Aussage, dass es ein high byte ist? Vielen Dank Rohdaten--->reale Daten - jg - 31.01.2008 16:02 ' schrieb:Da ich momentan nur das Spektrum haben will, würde es im Prinzip reichen, jedes 2. Byte zu konvertieren. Da. abwechselnd ein Spektrumwert und Autokorrelationswert ausgegeben wird.Irgendwo muss noch das Low-Byte zum 1. Spektrumwert existieren (kommt das vielleicht als drittes Byte???). Dazu sollte dir klar sein: eine 16-byte-Integer Zahl besteht aus 2 Byte, wobei eines als High-Byte, eines als Low-Byte bezeichnet wird. Von jedem der Bytes kannst du dir dann die Binär-Darstellung anschauen, also z.B. 3 dezimal = 00000011 binär. So, das kann man sich natürlich auch Hexadezimal anschauen, Bsp: 10 dezimal = 0A Hexadezimal. MfG, Jens Rohdaten--->reale Daten - fk08 - 31.01.2008 17:12 ' schrieb:Irgendwo muss noch das Low-Byte zum 1. Spektrumwert existieren (kommt das vielleicht als drittes Byte???). ich sehe grad, dass die einen fehler in der anleitung gemacht haben. das "low byte of 1. ACF value" muss ein "low byte of 1. spectrum value sein. Rohdaten--->reale Daten - Lucki - 31.01.2008 20:34 ...und für die Umwandlung HEX-String zu Zahl gibt es in LV eine Funktion: [attachment=10930] Rohdaten--->reale Daten - fk08 - 01.02.2008 10:36 ' schrieb:...und für die Umwandlung HEX-String zu Zahl gibt es in LV eine Funktion: diese funktion ist mir bekannt, aber was bedeutet: high byte of 1. spectrum value? Rohdaten--->reale Daten - jg - 01.02.2008 12:00 Ich dachte, das mit High- und Low-Byte hätte ich zu Genüge erklärt? Dein Spektrometer (welches..., wie wäre es mal, etwas mehr Anleitung hochzuladen?) gibt 32768 Werte zurück. Jeder dieser Werte besteht aus 2 Byte (deshalb 65536 Bytes). Jeweils 2 Bytes (1x High byte, 1x low Byte) musst du dann aus der Hexadezimal-Darstellung zusammenfassen zu einer 16-bit Zahl. Wie die Reihenfolge genau aussieht, und wieviele Bits von dem Low Byte signifikant sind, ist mir auf Grund deiner dünnen Beschreibung auch nicht klar. Und was das mit 1st spectrum value bedeuten soll, kann ich dir auch nicht sagen. MfG, Jens Rohdaten--->reale Daten - fk08 - 01.02.2008 13:41 ja, jetzt hab ich es auch verstanden:)vielen dank. mir war nicht mehr so klar, dass das low byte die genauigkeit der zahl erhöht . im prinzip würde es ja reichen, um eine schnelle datenauswertung zu haben das high byte auszuwerten. Rohdaten--->reale Daten - Lucki - 01.02.2008 14:25 ' schrieb:ja, jetzt hab ich es auch verstanden:)vielen dank. mir war nicht mehr so klar, dass das low byte die genauigkeit der zahl erhöht . im prinzip würde es ja reichen, um eine schnelle datenauswertung zu haben das high byte auszuwerten.Das ist aber eher ein Irrtum. Die CPU-Rechenregister Register haben alle mindestens 16 bit, das Verarbeiten von 8bit Daten ist bestimmt ist nicht schneller als 16bit. |