WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

MDF einlesen - Probleme mit Data Type

 

sexyphil
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 03.03.2015, 14:30     Titel: MDF einlesen - Probleme mit Data Type
  Antworten mit Zitat      
Hallo,

ich habe unter folgendem Thread schon mal mein Problem erläutert aber leider keine Antwort erhalten:

http://www.gomatlab.de/measurement-.....rmat-einlesen-t22227.html


Ich versuche mein Problem vielleicht nochmal allgemeiner zu formulieren. Eine MDF Datei besteht aus mehreren Blöcken. U.a. aus einem ID Block der aus Strings besteht. Diese konnte ich mit
Code:
% fread(fid,64,'uint8=>char');  
ohne Probleme einlesen. Allerdings habe ich Probleme Daten vom Typ 'uint16' einzulesen. Ich erhalte immer willkürliche Zahlen und vermute deswegen eine falsche Datentyp Zuweisung.

Mit der Funktion
Code:
kann man ja verschiedene Input Datentypen und Outputdatentypen wählen. Ich habe meiner Meinung nach alle Varianten durchprobiert und erhalte nie das Ergebnis welches ich benötige.

Kennt sich zufällig jemand damit aus? Ich habe versucht das Skript MDF-Reader welches von Mathworks zur Verfügung gestellt wird nachzuvollziehen, leider konnte ich die herangehensweise nicht komplett nachvollziehen, da mir da leider die Erfahrung fehlt.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.03.2015, 15:37     Titel:
  Antworten mit Zitat      
Code:
Ich habe meiner Meinung nach alle Varianten durchprobiert und erhalte nie das Ergebnis welches ich benötige.

es ist immer hilfreich den code mit anzugeben den man versucht hat. desweiteren wäre es sicher hilfreich beispiel daten zur verfügung zu stellen die den fehler reproduzieren. alles was das raten reduziert ist hilfreich bei der fehlersuche.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sexyphil
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 03.03.2015, 16:20     Titel:
  Antworten mit Zitat      
Alles klar, ich versuchs mal ausführlich mit Bildern etc. zu beschreiben.

So sieht die MDF Datei Version 3.00 im Hex Editor aus:

http://www.bilder-upload.eu/show.php?file=514418-1425392721.jpg

Mit
Code:
fseek(fid,0,'bof');
               A=fread(fid,64,'uint8=>char');


liest er bis zum 64 Bit alle Strings ein. Laut MDF Spezifikation

http://www.bilder-upload.eu/show.php?file=febd3a-1425391688.jpg

sind die Strings vom Datentyp 'char'. Durch probieren bin ich auf 'uint8=>char' gekommen und er zeigt mir in Matlab folgendes an.

http://www.bilder-upload.eu/show.php?file=673b22-1425391725.jpg

das macht für mich alles Sinn und klappt auch.

Wie man in der Spezifikation der MDF Ddatei ID Block oben erkennen kann sollte bei Bit 27 die "Version number of the MDF , i.e. 300 for this version" stehen. Datentyp ist 'uint16'. Probiere ich nun folgendes, bekomme ich meiner Meinung nach nicht das richtige.

Code:
fseek(fid,0,'bof');
         A=fread(fid,27,'uint16');


Ergebnis:

http://www.bilder-upload.eu/show.php?file=3646f6-1425392020.jpg

Meinem Verständnis nach müsste doch jetzt an Stelle 27 "300" stehen?
Selbst wenn ich mehr als 27 Bits einlese ändert sich am Ergebnis nichts.

Ich hoffe jetzt ist mein Problem etwas besser dargestellt!

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.