31.01.2008, 15:23
Beitrag #1
|
fk08
LVF-Grünschnabel
Beiträge: 12
Registriert seit: Jan 2008
8.5
2007
en
24105
Deutschland
|
Rohdaten--->reale Daten
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
|
|
|
31.01.2008, 16:02
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Rohdaten--->reale Daten
' 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.
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?
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
31.01.2008, 17:12
Beitrag #3
|
fk08
LVF-Grünschnabel
Beiträge: 12
Registriert seit: Jan 2008
8.5
2007
en
24105
Deutschland
|
Rohdaten--->reale Daten
' schrieb: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
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.
|
|
|
31.01.2008, 20:34
Beitrag #4
|
|
|
01.02.2008, 10:36
Beitrag #5
|
fk08
LVF-Grünschnabel
Beiträge: 12
Registriert seit: Jan 2008
8.5
2007
en
24105
Deutschland
|
Rohdaten--->reale Daten
' schrieb:...und für die Umwandlung HEX-String zu Zahl gibt es in LV eine Funktion:
[attachment=37996:Konvert.png]
diese funktion ist mir bekannt, aber was bedeutet: high byte of 1. spectrum value?
|
|
|
01.02.2008, 12:00
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Rohdaten--->reale Daten
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
01.02.2008, 13:41
Beitrag #7
|
fk08
LVF-Grünschnabel
Beiträge: 12
Registriert seit: Jan 2008
8.5
2007
en
24105
Deutschland
|
Rohdaten--->reale Daten
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.
|
|
|
01.02.2008, 14:25
Beitrag #8
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Rohdaten--->reale Daten
' 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.
|
|
|
| |