Physikalisches Anfängerpraktikum
Login


Rigol wfm Dateien
Thursday, 07.04.2011 - 09:36 Update: Sunday, 10.04.2011 - 08:21

Die im Praktikum zum Einsatz kommenden Oszilloskope Rigol1022C ermöglichen das Speichern von aufgezeichneten Daten. Leider sind die "Konvertierungsfeatures" der Oszilloskope beschränkt, so dass es beim Speichern in nicht eigenen Formaten zu Problemen kommen kann.
Empfohlen wird das Speichern von Daten im Systemeigenen Waveform Format.

Was sind wfm Dateien?

Waveform (mit der Dateiendung wfm) sind Binärdateien die eigentlich nichts anderes als ein Abbild des Speichers des Oszillokops. In diesen wfm-Dateien werden die Datenreihen nicht skaliert (so wie es das Oszilloskop für die Darstellung benötigt) gespeichert. Zusätzlich werden Skalierung der Datenreihen, eventuelle Verstärkungen der Messspitzen, Triggerinformationen und Länge der Datenreihen gespeichert.

Wieso funktioniert das direkte Speichern von CSV Dateien nicht?

Kurz gesagt - es fehlt Speicher und Rechenleistung.
CSV-Dateien enthalten Datenreihen in einem "menschenlesbaren" Format. Dabei werden Gleitkommazahlen nicht in einem binären Format sondern als "reiner Text" gespeichert. Ein 32 Bit (4 Byte) Float Wert kann dabei, je nach Formatierung, bis zu 24 Stellen lang sein und somit 192 Bit (24 Byte) belegen.
Beim Speichern der Datenreihen als Textdatei beim Oszilloskop müssen (da das Oszilloskop pro Kanal bis zu 524288 Werte speichern kann) zum Skalieren der Daten (Umrechnen in eine Fließkommazahl) knapp 4.5 Mio Fliesskomma-Rechenoperationen durchgeführt werden (und das auf einem Prozessor, der dies nativ nicht unterstützt).  Die exportieren Textdateien können dabei bis zu 26 MByte groß werden und können deshalb nicht im Arbeitsspeicher des Oszilloskops gehalten, sondern müssen direkt auf den USB-Stick geschrieben werden. Bei dem verwendeten USB-Standard dauert allein die Übertragung dieser Datenmenge auf den USB-Stick bis zu 1 min.  Alles in allem kann so das Speichern als CSV Datei durch Rechenzeit und Zugriff auf den USB-Stick bis zu 15 min dauern. Realtiv oft reagiert das Oszilloskop während der Konvertierung nicht mehr oder friert ein - dann hilft oft nur ein Neustart.
Dem gegenüber steht das Speichern einer knapp 1MByte großen wfm-Datei ohne "Kovertierungsaufwand", was in der Regel unter 2s benötigt.

Programme zum Anzeigen/Konvertieren von wfm Dateien

Leider gibt es Seitens des Herstellers so gut wie keine Unterstützung für die Konvertierung von Waveform Dateien mit dem PC. Dazu kommt, dass es keinen "Standard" für Waveform gibt. Zwar "kennen" die meisten digitalen Oszilloskope den Dateityp Waveform, die Dateien unterschiedlicher Hersteller (und teilweise auch unterschiedlicher Baureihen eines Herstellers) sind nicht kompatibel. Trotzdem gibt es einige Tools, die mit den wfm Dateien der Oszilloskope im Praktikum etwas anfangen können.

  • klar favorisierte Lösung für den Studiengang Physik:
    Importieren der wfm-Dateien in Origin
  • read-binary-rigol-waveforms für MATLAB
    Dieses MATLAB Script ist quasi die "Mutter" aller Konvertierungprogramme und liefert mit die besten Ergebnisse.
    Nachteil: es funktioniert nur innerhalb einer MATLAB Umbegung, ist also nichts für die "schnelle Konvertierung" daheim.
    Vorteil: wer sich mit MATLAB auskennt, kann von dort aus die Daten einfach weiter verarbeiten.
    Internetquelle: Produktseite auf MATLAB Central
    Alternativ: readRigolWaveform.m (lokal, passwortgeschützt)
  • rigol2dat von Gary Steele
    Ein Konsolenprogramm für die Konvertierung von wfm-Dateien. Dieses Programm wurde nach den ersten Versionen des oben genannten Scripts geschrieben.
    Nachteil: Das Programm nutzt "falsche" Parameter für die Skalierung der Y-Werte, beachtet den "Zeitoffset" nicht und liefert für jeden Kanal eine separate Datei.
    Vorteil: Quellcode sowie Linux und Windows Version erhältlich.
    Internetquelle: Internetseite von Gary Steele
    Alternativ: interner Mirror
  • wfm2dat (AP-Version von rigol2dat)
    Verbesserung des rigol2dat Programms von Gary Steele. Nutzt die "richtige" Skalierung und Zeitbasis basierend auf der neuesten readRigolWaveform.m Version. Produziert jeweils nur eine Datei mit allen Datenreihen.
    Nachteil: Keine graphische Benutzeroberfläche, nur "intern" weiterzugeben.
    Vorteil: Quellcode sowie Linux- und Windows-Version (läuft auch unter Windows 7 mit 32/64 bit) erhältlich.
    Download: Win32, Linux, MacOSX und Quelltext
  • WFM Reader
    Eine OpenSource Libraray für die Unterstützung von WFM Dateien. Ein Programm zum Anzeigen der Daten ist als Demo enthalten.
    Nachteil: Mit dem Demo ist es nicht möglich, Daten exportieren.
    Vorteil: die Anzeige funktioniert teilweise auch bei "beschädigten" Dateien, die von den anderen Programmen nicht lesbar sind.
    Internetquelle: WFM Reader Projekt auf SourceForge
    Alternativ: CompiledDemo.zip (intern, passworgeschützt)
  • Ultrascope (Windows)
    Die einzige Möglichkeit der Konvertierung mit Software des Herstellers Rigol besteht in der Verwendung von Ultrascope.
    Nachteil: Die Genauigkeit der exportierten Werte ist manchmal nicht ausreichend, so dass aufeinander folgende Datenpunkte die gleichen Zeitwerte erhalten.
    Vorteil: graphische Benutzeroberfläche
    Internetquelle: Ultrascope und zusätzlich eine Runtime Library installieren
    Alternativ: lokal
    Benutzung: File / New / Memory Wave. Im neu geöffneten Unterfenster im Menü Open auf File klicken und dann die gewünschte wfm-Datei auswählen.

Kurzanleitungen für rigol2dat

Da die beiden rigol2dat Programme wohl die "beste" Wahl unter den Konvertierungsprogrammen ist (abgesehen von der Lösung mit Origin, die aber leider nicht für alle kostenlos zur Verfügung gestellt werden kann), folgt eine Kurzanleitung für den Umgang mit den Programmen.
Beides sind Konsolenprogramme und müssen von der Konsole mit der zu konvertierenden Datei als Parameter aufgerufen werden. Am einfachsten ist es dabei die ausführbare Datei rigol2dat in das selbe Verzeichnis wie die zu konvertierenden Dateien zu kopieren.

  1. Konsole öffenen
    (Unter Windows dazu den Befehl "cmd" unter "Start->Ausführen" [alternativ "WinKey+R"] eingeben, bei Linux eine Konsole zBsp "xterm" unter "ALT+F2" öffnen)
  2. In das Verzeichnis mit dem Programm bzw. den zu konvertierenden Dateien mit dem Befehl "cd PFAD" wechseln
    (Windows 7 Beispiel - Eigene Dateien: "cd \Users\MeinKonto\Documents", Linux Beispiel: "cd /home/meinkonto/")
  3. Das Programm rigol2dat mit jeweils einem Dateinamen aufrufen
    (Win: "rigol2dat.exe NewFile0.wfm", Linux: "./rigol2dat NewFile0.wfm" Hinweis: Unter Linux muss die Datei dazu zunächst als "executable" markiert werden, das geht z. B. mit "chmod 755 rigol2dat".)
Nach dem Aufruf des rigol2dat Programms sollten eine (bei der Version von Gary Steele zwei) Datei mit dem gleichen Namen wie die konvertierte Datei, aber mit der Dateiendung ".dat" (bei Version von Gary Steele mit Endungen "1.dat" und "2.dat" für die einzelnen Kanäle der Dateien) erzeugt worden sein.

Die "*.dat" Dateien enthalten Leerzeichen bzw. durch Tabulatoren getrennte Werte, wobei in der ersten Spalte immer die Zeitbasis zu finden ist. Diese Dateien können in die meisten Grafik- und Rechenprogramme importiert werden.
Etwas Vorsicht ist geboten bei Dateien mit "voller Speichertiefe" des Oszilloskops. Diese enthalten bis zu 524288 Datensätze, womit manche Grafikprogramme nicht klar kommen. Microsoft Exel und OpenOffice Calc stürzen dabei regelmäßig ab, QtiPlot verabschiedet sich (je nach Arbeitsspeicher) nach dem Import von 5-10 solcher Dateien in eine Projektdatei, die einzige stabile Software für das Bearbeiten vieler solcher Dateien ist MATLAB.

© 2017 Physikalisches Anfängerpraktikum - Powered by LION
Universität Konstanz Fachbereich Physik TEACHSPIN, Inc.