标定数据分析-DCM(.DCM)

公众号

欢迎关注《汽车软件技术》公众号,回复关键字获取资料。

1. DCM介绍

DCM(Data Conservation Format)是一种标定数据文件格式,文件后缀是“.dcm”。

DCM在INCA等标定软件中都有包含,比如INCA CDM中:

INCA-DCM

2. 数据格式

DCM有标准的文档说明(公众号回复“DCM文档“获取)。因为DCM使用了德语关键字,加上稍微复杂的格式,所以可读性不如CVX,但数据完整性更好。DCM是我最常用的格式。

下面分别介绍其中的几种数据类型:

注意:同类型标定数据可能有多个不同的关键字,具体看文档。

2.1 标量 VALUE

VALUE占据5行,常用关键字“FESTWERT”。如下所示,标定量=DEMO_CONSTANT_1,描述=“This is a standard constant value (fixed value).”,单位=“dec”,值=1.57。

FESTWERT DEMO_CONSTANT_1 
   LANGNAME "This is a standard constant value (fixed value)." 
   EINHEIT_W "dec"
   WERT 70.0000000000000000
END

2.2 曲线 CURVE

CURVE占据多行,常用关键字“KENNLINIE”。如下所示,标定量=DEMO_CURVE,维度=7,描述=“This is a standard curve: one input and one output.”,x轴单位=“revs”,数值轴单位=“”。后面分别跟随x轴值和数值。

KENNLINIE DEMO_CURVE 7
   LANGNAME "This is a standard curve: one input and one output." 
   EINHEIT_X "revs"
   EINHEIT_W ""
   ST/X   ...
   WERT   ...
END

2.3 图表 MAP

MAP占据多行,常用关键字“KENNFELD”。如下所示,标定量=DEMO_MAP_1,维度=16x6。

KENNFELD DEMO_MAP_1 16 6
   LANGNAME "This is a standard map - to be displayed in tabular, 3D, XW, WX, ... representation." 
   EINHEIT_X "revs"
   EINHEIT_Y "ms/rev."
   EINHEIT_W "degrees"
   ST/X   ...
   ST/Y   ...
   WERT   ...
END

2.4 坐标轴 AXIS

在DCM中坐标轴已包含在标定量中。

3. 数据分析

使用python开发了pydcm库(公众号回复“DCM代码”获取),用于标定数据分析。大部分代码沿用了pycvx。如果读者有兴趣,可以把两个库合并为一个更通用的。

  • 面向对象的程序结构:根据对象属性,创建类结构。
  • 标定数据的可视化:使用matplotlib绘图。
  • 正则表达式:高效率的文本处理。
from pydcm import dcminfo

dcm = dcminfo()
dcm.read("../data/DEMO.DCM")
# find functions:0, calibrations:5, axises:0

DEMO_CURVE = dcm.calibrations["DEMO_CURVE"]
print(DEMO_CURVE)
# name=DEMO_CURVE, description=This is a standard curve: one input and one output.
# line_start=35, line_end=43
# type=CURVE, unit=
# value=
# [0.30078125, 0.3984375, 0.5, 0.59765625, 0.69921875, 0.80078125, 0.8984375]
# axis x
# name=, description=
# line_start=0, line_end=0
# type=, unit=revs
# value=
# [120.0, 200.0, 320.0, 400.0, 520.0, 600.0, 720.0]

DEMO_MAP_2 = dcm.getcalobject("calibration", "DEMO_MAP_2")
DEMO_MAP_2.show()

DEMO-MAP_2

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值