MF4 ファイル形式とは?
.mf4 は、ECU、CAN/LIN/Ethernet バス、およびセンサーからの時系列測定データを保存するための自動車業界のオープン標準である ASAM MDF 4 (Measurement Data Format version 4) のファイル拡張子です。この規格は ASAM e.V. によって維持されており、Vector Informatik と Robert Bosch GmbH によって共同開発されました。
各 .mf4 ファイルは、ASCII 識別子 «MDF » (末尾にスペースを含む 8 バイト) を含む 64 バイトの ID ブロックで始まり、その後にヘッダー (HD)、データグループ (DG)、チャネルグループ (CG)、チャネル定義 (CN)、およびデータブロック (DT/DZ) という型付きブロックの階層的な連結リストが続きます。すべてのチャネルは、信号名、物理単位、および値の変換式を同じファイル内に保持しているため、.mf4 は自己記述的です。
MDF 4.1 以降、データブロックごとに DEFLATE、LZ4、または Transpose+DEFLATE によるデータ圧縮を適用できます。この形式は、キャリブレーションファイルや画像を埋め込むためのアタッチメントブロックをサポートしており、ファイナライズフラグによって記録が正常に終了したかどうかが示されます。未完了の記録は、標準の ID ブロックの代わりに ASCII 文字列 «UnFinalizedMDF» で始まります。
.mf4 は、HIL/SIL テスト、車両データ収集、および AUTOSAR キャリブレーションワークフロー全体で使用されます。フルテストドライブセッションでは、ファイルサイズが数十ギガバイトに達することもあります。オープンソースの Python ライブラリ asammdf (pip install asammdf) は、高速な読み書きアクセスを提供します。MATLAB、CANape、および CANalyzer が主要な商用ツールです。前身の .mdf 形式 (1991 年からの MDF 3.x) は同じファイル識別子プレフィックスを共有していますが、ブロック構造が異なります。
セキュリティと安全性
リスク: LOWMF4 はバイナリデータファイルであり、実行可能ファイルではありません。ファイルには、商業的に機密性の高い自動車測定データ (車両信号、ECU パラメータ) が含まれている場合があります。外部に .mf4 ファイルを共有すると、機密のキャリブレーションやパフォーマンスデータが漏洩する可能性があります。
形式の詳細
概要MF4 ファイルを開くプログラム
pip install asammdf でインストール。MDF4(filename).to_dataframe() を使用して pandas にロードできます。コードなしで信号を閲覧できる GUI (asammdf GUI) も含まれています。 pip install asammdf でインストール。MDF4(filename).to_dataframe() を使用して pandas にロードできます。コードなしで信号を閲覧できる GUI (asammdf GUI) も含まれています。 技術的詳細
詳細仕様| 標準化団体 | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| ファイル識別子 | 64 バイトの ID ブロックのオフセット 0 にある 8 バイトの ASCII «MDF » (MDF + 5 つのスペース) |
| バイト順序 | リトルエンディアン (デフォルト)。仕様上はビッグエンディアンも許可されていますが、ほとんど使用されません |
| ブロック構造 | 階層的な連結リスト: 絶対バイト位置ポインタを介した ID → HD → DG → CG/CN → DT/DZ ブロック |
| 圧縮 | データブロックごとにオプションで DEFLATE (zlib)、LZ4、または Transpose+DEFLATE を適用可能 (MDF 4.1+) |
| 一般的なファイルサイズ | 1 MB - 10 GB (大規模な ECU/CAN ログセッション) |
| 信号メタデータ | 信号名、物理単位、および値の変換式がファイル内の各チャネルに保存されます |
| バージョン エンコーディング | ID ブロックのオフセット 8 にある 4 文字の ASCII 文字列 (例: «4.10», «4.20») |
| バスロギングのサポート | CAN、LIN、FlexRay、および Ethernet フレームのロギング (MDF 4.1+ で追加) |
| 整合性チェック | オプションの MD5 チェックサム添付。MDF 4.1+ のファイナライズフラグ。未完了ファイルは «UnFinalizedMDF» で始まります |
| Python アクセス | asammdf ライブラリ (`pip install asammdf`) - オープンソースの読み書き |
| サンプルレート | チャネルごとのメタデータ。CAN バスは通常 1-1,000 Hz、センサーデータは MHz 帯域まで対応 |
| オペレーティングシステム | Windows, Linux |
| リリース日 | 2009 (ASAM MDF 4.0 published as official standard) |
| 最新バージョン | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.asam.net |
MF4 の変換
コミュニティ Q&A
ユーザーからの質問よくある質問
.mf4 ファイルとは何ですか?
.mf4 ファイルを無料で開くにはどうすればよいですか?
pip install asammdf) を使用してください。これには、コーディングなしで信号を閲覧するための GUI (インストール後に «asammdf» を実行) が含まれています。Vector の無料ツール MDF Validator でもファイルの整合性を確認できます。MATLAB で .mf4 ファイルを開くことはできますか?
.mf4 を CSV に変換するにはどうすればよいですか?
from asammdf import MDF; MDF('file.mf4').export('csv') とします。または、CANape で開いてエクスポート機能を使用します。.mdf と .mf4 の違いは何ですか?
.mdf は古い MDF 3.x 形式であり、.mf4 は明示的に MDF 4.x を指します。両方とも同じマジックバイトを使用しますが、バージョン文字列が異なります。asammdf や Vector のツールは両方を読み取ることができます。