Project

General

Profile

Actions

Support Request #836

closed

Process ADTF Data in Matlab

Added by hidden almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Customer:
DAIMLER
Department:
RD/FAV
Requester's Priority:
Blocker
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Platform:
Windows 7 64bit
Topic:
MLSLBlockset::DAT2MAT
FAQ Links:

Description

Sehr geehrtes Support Team,

ich möchte gerne ADTF-Messdaten in Matlab weiterverarbeiten und hierzu die "*.dat" Daten nach Matlab konvertieren (Analog zum Beispiel aus der MLSL-Toolbox "DAT2MAT")

Dabei habe ich ein vorhandenes ADTF-Projekt, dass den Ethernet Rohdatenstream verarbeitet und anschließend die Daten ((x,y,z)-Punktewolke) im "3D_Scene_Grapf_Display" darstellt.
Die Punktewolke speichere ich in einem neuen "*.dat" File per Harddiskrecorder inkl. "*.dat.description"-File.
Anschließend habe ich versucht, diese Datei per "DAT2MAT" in Matlab einzulesen. Leider funktioniert das nicht. Ich vermute, dass das Description-File nicht richtig erzeugt wird.

Können Sie mir bei diesem Problem weiterhelfen?

Die Vorgehensweise ist im angehängten Bild dargestellt.

Mit freundlichen Grüßen,
Robin Heinzler

Ergebnisbeschreibung:
Das Problem ist tatsächlich, dass das Description-File nicht korrekt erstellt wird. Ihre Punktwolke ist darin nämlich nicht beschrieben.
Dies liegt vermutlich daran, dass ADTF das Format des Pins fpga_raw_data nicht bekannt ist, sondern nur der Filter ...Ethernet_StreamDecoder dieses kennt. Um das Format bekannt zu machen müssen Sie manuell eine Description für den Port anlegen. Unter Options -> Settings -> Global Configuration Settings -> Media Description -> Files sind alle Ordner aufgelistet, in denen ADTF automatisch nach Description-Files sucht. In einen der Ordner müssen sie ein neues Description-File anlegen oder ein bestehendes File erweitern.
Siehe weitere Details in Kommentar #836-5


Files

ADTF-Struktur.png (39.2 KB) ADTF-Struktur.png hidden, 2017-07-05 14:15
image001.png (15 KB) image001.png hidden, 2017-07-27 17:45
image002.png (202 KB) image002.png hidden, 2017-07-27 17:45
Actions #1

Updated by hidden almost 7 years ago

  • Status changed from New to In Progress
  • Topic set to MLSLBlockset::DAT2MAT
Actions #2

Updated by hidden almost 7 years ago

@Markus: Bitte um Bearbeitung. Danke.

Actions #3

Updated by hidden almost 7 years ago

  • Status changed from In Progress to Customer Feedback Required

Guten Tag Herr Heinzler,

So wie ich das Problem verstehe erzeugen sie mit ADTF ein neues DAT-File inkl. entsprechender Description. Das DAT-File enthält lediglich einen Stream der eine Menge von dreidimensionalen Punkten enthält.

Dann Öffnen sie Matlab und benutzen einen Aufruf ähnlich dem folgenden:

streamData=MEX_matlab_adtf_converter('dat2mat', 'GetStreamDataWithinSamples','C:\Tools\ADTF\2.14.0\addons\adtf-mlslblockset\examples\DAT2MAT\testfile.dat','1','0','5');

Sind diese Annahmen korrekt?

Mit ihrer Vermutung, dass das Description-File nicht richtig erzeugt wird, meinen Sie das der Harddisc-Recorder die Datei "*.dat.description" falsch erzeugt?

Um das Problem besser eingrenzen zu können, hätte ich noch ein paar Fragen:
  • Sie konnten das DAT-File aus dem Example korrekt mit Hilfe von Matlab konvertieren?
  • Besteht die Möglichkeit, dass Sie uns ihr erzeugtes DAT-File und das Description-File zukommen lassen?
  • Können Sie uns auch zukommen lassen, welche Befehle sie in Matlab genau ausführen?
  • und welche Fehlermeldung dabei erscheint? bzw. welche Daten in Matlab als Ergebnis produziert werden? (das Skript MEX_matlab_adtf_converter schreibt Fehlermeldungen teilweise auch in den Rückgabewert der Funktion).
  • Liegt das Description-File mit gleichem Namen wie das DAT-File inkl. dem postfix .description im gleichen Ordner wie das DAT-File?

Viele Grüße

Markus Schmailzl

Actions #4

Updated by hidden almost 7 years ago

  • File ADTF_Files.zip added

Hallo Herr Schmailzl,

vielen Dank für die Rückmeldung. Ich arbeite erst neuerdings mit ADTF, daher war meine Problemformulierung vermutlich etwas unpräzise. Ich hoffe ich kann das hiermit verbessern:

Ihre Annahmen sind, mit Ausnahme der Matlab Funktion, soweit richtig.
Im Anhang habe ich das Beispiel Beigefügt.
Als Matlab Funktion verwende ich folgendes Skript (aus dem Beispiel der Matlab-Toolbox): "ExampleM.m"
Mittlerweile wird das Description File gefunden. Zuvor hatte ich eine sinngemäße Fehlermeldung, dass das Description File nicht gefunden wird oder nicht korrekt sei.
Allerdings sind die Daten in Matlab als Zeitwert und Zahlenwert vorhanden. Die eigentliche Punktewolke (siehe "ADTF_Test.dat_Output.mat") ist nicht vorhanden.

Ich kann den Stream der dreidimensionalen Punkte mittels des "3D_Scene_Grapf_Display" in ADTF sehen. Daher gehe ich davon aus, dass in der Verbindung die xyz-Punkte so enthalten sind. Der "3D_Scene_Grapf_Display" ist ja ein Standard-Block, demnach denke ich wird dort keine Konvertierung der Daten vorgenommen. Oder ist diese Annahme falsch?

Im ADTF Projekt wird der Rohdaten-Ethernetstream decodiert. Mein Ziel ist es, diese Decodierung zu nutzen und anschließend die decodierten Daten in Matlab weiter zu verarbeiten?
Ein Screenshot der ADTF-Konfiguration und des 3D_Scene_Grapf_Display sind ebenfalls beigefügt.

Ich hoffe ich konnte damit weiterhelfen.

Viele Grüße,
Robin Heinzler

Actions #5

Updated by hidden almost 7 years ago

Hallo Herr Heinzler,

Ich denke ich habe ihr Problem verstanden und kann ihnen auch schon eine Lösung anbieten.

Das Problem ist tatsächlich, dass das Description-File nicht korrekt erstellt wird. Ihre Punktwolke ist darin nämlich nicht beschrieben.
Dies liegt vermutlich daran, dass ADTF das Format des Pins fpga_raw_data nicht bekannt ist, sondern nur der Filter ...Ethernet_StreamDecoder dieses kennt. Um das Format bekannt zu machen müssen Sie manuell eine Description für den Port anlegen. Unter Options -> Settings -> Global Configuration Settings -> Media Description -> Files sind alle Ordner aufgelistet, in denen ADTF automatisch nach Description-Files sucht. In einen der Ordner müssen sie ein neues Description-File anlegen oder ein bestehendes File erweitern.

Sie müssten in der Description innerhalb des Knotens <structs> einen neuen Struct ähnlich wie folgt definieren. Dadurch wird ADTF dem Pin fpga_raw_data automatisch diese Beschreibung zuordnen können und der Harddisk_Recorder wird diese in die erzeugte Description schreiben.

 <struct alignment="1" name="fpga_raw_data" version="2>
     <element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tUInt32" />
     <element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="y" type="tUInt32" />
     <element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="z" type="tUInt32" />
  </struct>

Das genaue Format des Pins müsste auch im Source-Code des Filters ...Ethernet_StreamDecoder zu finden sein.

Ich hoffe ich konnte Ihnen weiterhelfen

Freundliche Grüße

Markus Schmailzl

Actions #6

Updated by hidden almost 7 years ago

Hallo Herr Schmailzl,

vielen Dank für die schnelle Rückmeldung.

Genau, das ist die Lösung meines Problems. Ich hoffe das funktioniert, leider habe ich den Source-Code des Filters nicht.
Ich werde diesen aber anfordern bzw. das Description File zu den entsprechenden Pins. Dann sollte der Export funktionieren.

Vielen Dank und viele Grüße,
Robin Heinzler

Actions #7

Updated by hidden almost 7 years ago

Hallo Herr Heinzler,

wenn von Ihrer Seite nichts dagegen spricht, würden wir das Support Ticket gerne schließen.
Können wir das Ticket beim Abschluss auf Public stellen?

Bitte um kurzes Feedback.
Vielen Dank.

Actions #8

Updated by hidden almost 7 years ago

Hallo Herr Fick-Gredler,

ja das Ticket können Sie gerne schließen.
Von meiner Seite aus können Sie das Ticket auf Public stellen, wenn Sie den Anhang "ADTF_FILES.zip" und meine Telefonnummer nicht mit veröffentlichen.

Viele Grüße,
Robin Heinzler

Actions #9

Updated by hidden almost 7 years ago

  • File deleted (ADTF_Files.zip)
Actions #10

Updated by hidden almost 7 years ago

  • Subject changed from ADTF Daten in Matlab Verarbeiten to Process ADTF Data in Matlab
  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Private changed from Yes to No
  • Resolution set to Solved Issue
Actions #12

Updated by hidden almost 7 years ago

  • Status changed from To Be Closed to Closed
Actions #13

Updated by hidden over 6 years ago

Sehr geehrtes Support Team,

anbei wie gewünscht die folgenden Screenshots für Issue #836 "Process ADTF Data in Matlab"

[cid:]
[cid:]

Mit freundlichen Grüßen/Kind regards
Robin Heinzler

Actions

Also available in: Atom PDF