ich lese im Rahmen einer Diplomarbeit ein Logikanalysator aus.
Dieser liefert ein extrem komisches Format, das ich entschlüsselt brauche.
Ich erkläre erst mal das Format.
Es gibt eine Tabelle mit folgenden Werten drin:
Dabei steht "M" für ModeM P1 P2 P3
---------------------
0 64 36 36
1 64 18 18
2 64 9 9
3 64 4 4
4 64 36 36
5 64 32 4
6 64 36 9
7 64 36 18
8 64 36 36
9 64 36 18
10 64 36 12
11 64 36 9
12 64 36 6
13 64 36 4
14 64 36 2
15 64 36 1
16 64 36 36
17 64 36 18
18 64 36 12
19 64 36 9
20 64 36 6
21 64 36 4
22 64 36 2
23 64 36 1
Das Format ist also so aufgebaut:
Ein "Frame" hat immer P1 Bits (also hier in diesem Fall 64Bit)
die Frames sind immer aneinandergereiht.
davon werden P2 Bits verwendet - die restlichen Bits sind immer 0
Ein Abtastung hat P3 Kanäle. Pro Messung entsteht eine Abtastung, die hintereinander angereiht werden.
aber nur bis zu P2 Bits. Dann geht es wieder weiter in dem nächsten "Frame"
Blöd ist auch, dass wenn eine Abtastung z.B. 9 Kanäle hat, dann verschiebt sich die Position in den Bytes.
Außerdem kommt das niedrigste Byte, dann die höheren. Die Kanläle sind in den Bytes auch so angeordnet...
Niedrigste Bit = niedrigste Kanal. Aber das ist ja genau die andere richtig? Zumindest für uns Menschen?
Kann man das mit meiner Erklärung verstehen?
die Daten haben 16MB. Ist das überhaupt mit Python vernünftig zu bewerkstelligen?
Und wenn ja wie?
ich vermute mal, man muss sowas wie eine Maske erstellen und dann Bitweise verUNDen? Ich steh auf den Schlauch, wie man aus dem Datenvormat was vernünftiges heraus bekommt.
Da bräuchte ich mal eure Erfahrung.
Vielen Dank für eure Hilfe.
Grüße
Torsten