LabVIEWForum.de - Daten komprimieren

LabVIEWForum.de

Normale Version: Daten komprimieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Gibt es eine Möglichkeit mit Labview sehr grosse String's zu komprimieren?
In meiner Applikation zeichne ich sehr viele Waveform Grafen auf, wandle sie in einen String um (Flatten To String) und speichere sie in eine MySQL DB ab.

Um die Datenmenge "klein" zu halten, möchte ich den String kompriemieren bevor ich die DB füttere.
Ich verwende LV2010.

Thanks!
Quasi ohne Datenverlust? Sonst hätte ich gesagt, bilde einfach mehrere Mittelwerte aus Deinen Messwerten, dann musst Du nicht so viele Werte speichern.

Gruß Markus
Bevor ich so etwas erwäge, würde ich mir erst einmal Gedanken machen, ob es möglich ist, die Anzahl der Stützstellen (Datenpunkte) für die Waveforms zu reduzieren. Zur Reduktion gibt es in LV Funktionen.
Zur üblichen 16 bit Datenerfassung passt auch die SGL-Präzision besser als das DBL-Format: Damit würde der Speicherbedarf schon mal um die Hälfte reduziert, ohne das die Präzision leidet.
haha, kennt ihr diese Spinner, die auf 2½ Jahre alte Posts reagieren?

Trotzdem habe ich Luckis Idee zur Datenreduktion dankbar aufgenommen und weitergesponnen: Für 16bit DAQ benötigt man auch kein SGL mit 4 byte, sondern nur ein u16 Int mit 2 byte. Also wieder ein Faktor 2.

Aber das Beste, was mir dabei aufgefallen ist und ich noch nicht wusste: Integer lassen sich wesentlich besser zippen als sgls oder dbls. Die Kompressionsrate geht von 11% mit sgl auf 94% mit u16 hoch. Und das ist in etwa ein Faktor 15.

Nur so zur Ergänzung. Auch wenn der Zip-Schritt nichts mehr mit der Datenbank zu tun hat.[/align]
Sorry, der ausflug mit dem Zip hat sich als Blödsinn herausgestellt, ich hatte mein Random-Signal einach in U32 umgewandelt, worauf er nur noch nullen und einsen zu zippen hatte - geht man korrekt vor, also skaliere ich das signal auf u32, dann ändert sich nichts merkliches zwischen sgl und u32
Referenz-URLs