Vad är filformatet MF4?
.mf4 är filändelsen för ASAM MDF 4 (Measurement Data Format version 4), fordonsindustrins öppna standard för lagring av tidsseriemätdata från ECU:er, CAN/LIN/Ethernet-bussar och sensorer. Standarden underhålls av ASAM e.V. och utvecklades gemensamt av Vector Informatik och Robert Bosch GmbH.
Varje .mf4-fil inleds med ett 64-byte ID-block som bär ASCII-identifieraren MDF (8 byte med efterföljande mellanslag), följt av en hierarkisk länkad lista av typade block: Header (HD), Data Groups (DG), Channel Groups (CG), Channel definitions (CN) och Data blocks (DT/DZ). Varje kanal bär sitt signalnamn, fysiska enhet och formel för värdekonvertering i samma fil, vilket gör .mf4 självbeskrivande.
Datakomprimering - DEFLATE, LZ4 eller Transpose+DEFLATE - kan tillämpas per datablock sedan MDF 4.1. Formatet stöder bifogade block för inbäddning av kalibreringsfiler eller bilder, och en slutgiltighetsflagga markerar om en inspelning stängdes korrekt. Oavslutade inspelningar börjar med ASCII-strängen UnFinalizedMDF istället för det vanliga ID-blocket.
.mf4 används genomgående vid HIL/SIL-testning, fordonsdatainsamling och AUTOSAR-kalibreringsarbetsflöden. Filer kan nå tiotals gigabyte för fullständiga provkörningssessioner. Det öppna källkodsbiblioteket för Python asammdf (pip install asammdf) ger snabb läs- och skrivåtkomst; MATLAB, CANape och CANalyzer är de dominerande kommersiella verktygen. Föregångaren .mdf-formatet (MDF 3.x, från 1991) delar samma filidentifierarprefix men använder en annan blockstruktur.
Säkerhet & trygghet
RISK: LOWMF4 är en binär datafil; inte körbar. Filer kan innehålla proprietär fordonsmätdata (fordonssignaler, ECU-parametrar) som är affärsmässigt känslig. Att dela .mf4-filer externt kan exponera konfidentiell kalibrerings- eller prestandadata.
Formatdetaljer
i ett nötskalProgram som öppnar MF4-filer
Tekniska detaljer
djup specifikation| Standardiseringsorgan | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| Filidentifierare | 8-byte ASCII 'MDF ' (MDF + 5 mellanslag) vid offset 0 i det 64-byte stora ID-blocket |
| Byteordning | Little-endian (standard); big-endian tillåts av specifikationen men används sällan |
| Blockstruktur | Hierarkisk länkad lista: ID → HD → DG → CG/CN → DT/DZ-block via pekare för absoluta byte-positioner |
| Komprimering | Valfri DEFLATE (zlib), LZ4 eller Transpose+DEFLATE per datablock (MDF 4.1+) |
| Typisk filstorlek | 1 MB - 10 GB (stora ECU/CAN-loggsessioner) |
| Signalmetadata | Signalnamn, fysisk enhet och formel för värdekonvertering lagras per kanal inuti filen |
| Versionskodning | 4-teckens ASCII-sträng vid ID-blockets offset 8 (t.ex. '4.10', '4.20') |
| Stöd för bussloggning | Loggning av CAN-, LIN-, FlexRay- och Ethernet-ramar (tillagt i MDF 4.1+) |
| Integritetskontroll | Valfri MD5-kontrollsumma som bilaga; slutgiltighetsflagga i MDF 4.1+; oavslutade filer börjar med 'UnFinalizedMDF' |
| Python-åtkomst | asammdf-biblioteket (pip install asammdf) - öppen källkod för läsning/skrivning |
| Samplingshastighet | Metadata per kanal; CAN-buss vanligtvis 1-1 000 Hz, sensordata upp till MHz-området |
| Operativsystem | Windows, Linux |
| Släppt | 2009 (ASAM MDF 4.0 published as official standard) |
| Senaste version | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.asam.net |
MF4-konverteringar
Frågor & svar
frågat av användareVanliga frågor
Vad är en .mf4-fil?
Hur öppnar jag en .mf4-fil gratis?
Kan MATLAB öppna .mf4-filer?
Hur konverterar jag .mf4 till CSV?
from asammdf import MDF; MDF('file.mf4').export('csv'). Eller öppna i CANape och använd dess exportfunktion.Vad är skillnaden mellan .mdf och .mf4?
.mdf är det äldre MDF 3.x-formatet; .mf4 är uttryckligen MDF 4.x. Båda använder samma magic bytes men skiljer sig åt i versionssträngen. asammdf och Vector-verktyg läser båda.