PeakTech Oszilloskop
LyX Document
Anleitung als PDF (generiert mit LyX)
Quelltext für ein C++ Programm, um die Daten in eine Tabelle zu konvertieren.
1 Anleitung für PeakTech Oszilloskop
Diese Anleitung wurde für die Daten, die von einem PeakTech 1240 Oszilloskop auf einem USB-Speicher abgelegt werden, geschrieben.
1.1 Datennahme
Am Oszilloskop mit run/stop eine Messung starten. Sind die gewünschten Daten aufgezeichnet, mit run/stop anhalten und in Ruhe die Daten mit save auf einen USB-Stick speichern.
1.2 Daten plotten
Die Binärdaten können mit Gnuplot direkt dargestellt werden. Die Achsenbeschriftung ist dabei noch willkürlich.
1.2.1 Plot
FILE='20141003_533052'
plot \
FILE.'.bin' binary skip=112 format="%int8" using ($1) every 1024 with lines
Â
- FILE='20141003_533052'
- definiert die Variable FILE mit dem basename
- FILE.'.bin'
- setzt den basename mit der Endung '.bin' zusammen
- binary
- teilt gnuplot mit, dass es sich um Binärdaten handelt
- skip=112
- überspringt die ersten 112 Byte (der Header der Datei)
- format="%int8"
- jedes Byte entspricht einem vorzeichenbehafteten 8-Bit Integer-Wert
- using ($1)
- die Datei enthält nur eine Spalte: die Y-Werte
- every 1024
- Stelle nur jeden 1024sten Wert dar. Nimmt man Daten mit 10MegaSamples auf, lassen sich kaum alle Samples plotten
- with lines
- Zeichne Linien statt Punkte, wie es auch auf dem Oszi dargestellt wird
1.2.2 Tabelle
set table FILE.'.csv'
plot [:] \
FILE.'.bin' binary skip=128 format="%int8" using ($1) every 1024
unset table
Das Funktioniert ähnlich wie oben, nur dass der Plot in eine Tabelle ausgegeben wird. Eine 10 Megasample große Messung ergibt dabei leicht eine 200MB große Tabelle.
1.3 Details zu den gespeicherten Daten
Die Softwareversion, der Kanal, die Eingestellte X- und Y-Auflösung und der Offset werden im Header gespeichert. Die angezeigten Messwerte (measure) wie Frequenz, Effektivwert usw. werden nicht gespeichert. Die Bildschirmgröße dient der Skalierung, er ist 10 Kästchen (divs) hoch und 15,2 Kästchen (divs) breit.
1.3.1 Berechnung X-Achse
1.3.2 Berechnung Y-Achse
Die Bildschirmhöhe wird auf 250 Werte aufgeteilt (8 bit Sampletiefe aber 25 Punkte pro Bildschirmeinheit (Kästchen) mit 10 Einheiten (Kästchen)
). Mit dem Wert aus dem header VoltScale berechnet sich die Spannung daher zu int8 ‹… VoltScale/25.
Eine weitere Möglichkeit ist die Darstellung als 16bit Zahlen. In den langsamen Modi (slow mode) werden scheinbar 16bit pro Sample gespeichert, dafür jedoch die gespeicherte Samplerate begrenzt: 1520 ‹… 2=3040 Samples, 3040 ‹… 16bit=6080byte, also z.B. bei 100s/div max. 2Sa/s.
Die Zahlen sind little endian gespeichert. Besteht ein Wert aus mehreren Byte, kann man die Zahl umrechnen: Beginnt eine 4 Byte lange int32 an der Stelle 1, berechnet sich die Zahl zu int8[0x04] ‹… 224+int8[0x03] â‹… 216+int8[0x02] ‹… 28+int8[0x01].
vorherige Seite: Markisensteuerung Somfy Soliris Uno
Nächste Seite: (V)DSL und Überspannungsschutz