Gestern, 07:58
Beitrag #1
|
PPS
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Nov 2007
2020
2007
kA
Deutschland
|
TDMS Datenpunkte reduzieren
Hi,
sicherlich sind bereits einige auf die Herausforderung gestoßen, dass man zu beginn mit vielen Datenpunkte abtastetet und wenn man sich die Daten dann anschaut feststellt das es wesentlich weniger auch gerreicht hätte....
Hab hier eine 4Gb Datei liegen, wo wir über viele Stunden mit 400Hz abgetastet haben, weil wir nicht wußten was passieren würde, nun haben wir festgestellt, dass wohl auch 100Hz genügen.
Wie kann ich die TDMS-Datei von der Dateigrüße reduzieren, da gibt es sicherlich schon eine nette Funktion in Labview....
|
|
|
Gestern, 09:07
Beitrag #2
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: TDMS Datenpunkte reduzieren
Hallo PPS,
Zitat:Wie kann ich die TDMS-Datei von der Dateigrüße reduzieren, da gibt es sicherlich schon eine nette Funktion in Labview....
Wenn du nur die Dateigröße reduzieren willst: einfach SetFileSize nehmen…
Wenn du dagegen deine Daten dezimieren willst:
1. TDMS-Datei öffnen
2. Daten blockweise einlesen
3. Daten dezimieren
4. dezimierte Daten blockweise in eine neue Datei schreiben
5. zurück zu 1, bis die Datei komplett bearbeitet wurde
Zu Punkt 3: mir fallen da Funktionen wie Mittelwert, Median, Dezimieren ein…
|
|
|
Gestern, 09:15
Beitrag #3
|
|
|
Gestern, 09:34
(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 09:37 von PPS.)
Beitrag #4
|
|
|
Gestern, 10:35
Beitrag #5
|
Kiesch
LVF-Stammgast
Beiträge: 414
Registriert seit: Mar 2009
2019, 2018, 2016
2009
DE
04519
Deutschland
|
RE: TDMS Datenpunkte reduzieren
Prinzipiell könntest du in bestimmten Zeitintervallen auch automatisch deine tdms Datei einlesen und mit den zip VIs aus den OpenG Tools zippen. Das kann schnell mal 90-99% Dateigröße (auf der Platte) sparen.
Gruß Kiesch
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
|
|
|
Gestern, 10:46
Beitrag #6
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: TDMS Datenpunkte reduzieren
Hallo PPS,
Zitat:brauchen allerdings wirklich den Verlauf relativ genau.
Du willst von 400S/s auf 100S/s dezimieren, also ein von 4 Samples behalten…
Ich kenne deine Messdaten nicht, aber reicht der einfache Mittelwert (pro 4 Samples) dann nicht aus?
|
|
|
Gestern, 12:57
(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 13:00 von PPS.)
Beitrag #7
|
PPS
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Nov 2007
2020
2007
kA
Deutschland
|
RE: TDMS Datenpunkte reduzieren
(Gestern 10:46 )GerdW schrieb: Hallo PPS,
Zitat:brauchen allerdings wirklich den Verlauf relativ genau.
Du willst von 400S/s auf 100S/s dezimieren, also ein von 4 Samples behalten…
Ich kenne deine Messdaten nicht, aber reicht der einfache Mittelwert (pro 4 Samples) dann nicht aus?
Sind Spannungsabfälle an einer kleinen Batterie, welche bei gewissen Ereignissen angesehen wird (Licht anschalten etc.), insbesonders der Verlauf.
Da noch nicht ganz klar ist was pasiert haben wir erstmal schnell abgetastet.
Am coolsten wäre es natürlich wenn es was geben würde, wo er den Verlauf best möglich aufgezeigt werden kann und lediglich die "überschüssigen Punkte raus nimmt" z.b: Licht ist aus (wo nichts an der Spannung passiert)-ist aber nur ein Traum
Fakt ist, dass wir an bestimmten Stellen die Aufzeichnungsrate runter setzen können. In welcher Größenordnung es ist, ist auch noch nicht ganz klar. Dacht zunächst das 1/4 der Datenpunkte reichen würde an manchen Stellen brauchen wir allerdings immernoch die 1/2....
Der Wechsel von DBL (wohl Standardgemäß hinterlegt) auf SGL hat die Dateigröße halbiert ohne negative Einflüsse.
Evtl. gibts ja noch paar einfache Ideen, ohne wirklichen Einflüsse auf Signalverlauf?
|
|
|
Gestern, 15:35
Beitrag #8
|
TpunktN
LVF-Gelegenheitsschreiber
Beiträge: 218
Registriert seit: Jul 2011
2021
2011
EN
70***
Deutschland
|
RE: TDMS Datenpunkte reduzieren
(Gestern 12:57 )PPS schrieb: Am coolsten wäre es natürlich wenn es was geben würde, wo er den Verlauf best möglich aufgezeigt werden kann und lediglich die "überschüssigen Punkte raus nimmt" z.b: Licht ist aus (wo nichts an der Spannung passiert)-ist aber nur ein Traum
Programmiere es halt Du hast die freie Wahl zu programmieren was du willst
Zitat:Fakt ist, dass wir an bestimmten Stellen die Aufzeichnungsrate runter setzen können. In welcher Größenordnung es ist, ist auch noch nicht ganz klar. Dacht zunächst das 1/4 der Datenpunkte reichen würde an manchen Stellen brauchen wir allerdings immernoch die 1/2....
Hast du denn Events die passieren mit aufgezeichnet? Dann teil jedes Event in eine eigene Datei, diese kannst du dann von den Daten besser reduzieren, da du ja je nach Event eine andere Auflösung brauchst.
Auch könnte ich mir vorstellen ähnliche Werte in einem Zeitraum einfach rauszuschmeißen, 5 sekunden lang 1V +-0,1 mV baucht man nicht mit 400 Hz speichern (oder was auch immer unrelevant genau ist).
(Hat TDMS einen festen Signalabstand? Kenne mich mit dem Format nicht aus.)
Grüße Timo
Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
|
|
|
Gestern, 15:54
Beitrag #9
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: TDMS Datenpunkte reduzieren
Hallo zusammen,
Zitat:Der Wechsel von DBL (wohl Standardgemäß hinterlegt) auf SGL hat die Dateigröße halbiert ohne negative Einflüsse.
Evtl. gibts ja noch paar einfache Ideen, ohne wirklichen Einflüsse auf Signalverlauf?
Welche Auflösung brauchst du auf der Y-Achse?
Evtl. kannst du ja auch auf U16- oder gar U8-Werte skalieren, dann kannst du die Datenmenge noch einmal halbieren/vierteln. Musst dann nur als Property 2 Werte zu jedem Channel ablegen, mit Scale/Offset für das Umrechnen von Integer zurück auf Float. (So wie analoge Messwerte üblicherweise bei Modbus oder CAN gehandhabt werden…)
Zitat:Hat TDMS einen festen Signalabstand? Kenne mich mit dem Format nicht aus.
TDMS "mag" Waveforms, d.h. Signale mit fester Samplerate.
Du kannst aber natürlich "normale" Arrays abspeichern, hier also z.B. ein Kanal mit den Werten der Zeitachse (dann nicht mehr äquidistant) und ein Kanal mit den zugehörigen Messwerten. Erfordert aber Rechenaufwand beim Speichern (Erstellen der Datenarrays) und auch beim Einlesen (alles als XY-Plots behandeln).
Oder du nutzt aus, das TDMS Messdaten auch auf verschiedene Weise abspeichern kann: wenige große Blöcke mit Messdaten oder viele kleinere Blöcke. Führt natürlich auch irgendwo zu Rechenaufwand…
|
|
|
| |