K7-04 · 控制、软件与标定 / 智能与软件定义
待认领listed
→
众筹中recruiting
→
已开课open · Course 售卖
一课题可并存多讲师版本
课程大纲
学完能做什么
- 能从一句待验证的结论反推出完整信号表,逐路给出物理量与单位、权威来源节点、上行采样率、字长与工况覆盖分箱,并说明缺哪一路会导致目标指标算不到底
- 能区分诊断冻结帧、法定监管遥测与工程抓帧三条通道的触发源、字段集、采样率与保留期,并判定某项数据需求该落在哪条通道
- 能为热管理事件设计触发判据与前/后触发窗,核算车端环形缓冲深度(含触发检出延迟与并发事件数),并定出触发风暴下的配额与降级次序
- 能用单车日/年字节数算式核算一套采集口径的上行量与云端存储、流量年成本量级,并比较车端降采样、边缘聚合、压缩三种降字节手段的收益与不可逆代价
- 能设计断连缓存、限速补传与时标校正方案,判定哪批补传样本可进时序分析、哪批只能进分箱统计,并说清丢帧统计缺失如何把选择性偏差伪装成指标改善
- 能给信号表填出合规列(是否个人信息/是否敏感/采集粒度/保留期/是否出境待评估),并判定位置与行程类数据该在车端聚合到什么粒度
- 能把采集配置当作受版本与变更管控的车端配置件处理,指出「改口径不升版本」与「只给灰度组换配置」两类错误各自造成什么后果
内容大纲
- 从「要回答哪个问题」反推信号表:采哪几路、多快、覆盖哪些工况
- 信号表的入口是**待回答的问题**,不是「能采什么就采什么」:先写下一句可验证的结论(如「本版标定在环温 −10~0 ℃、行程时长 >20 min 的样本上把百公里能耗降低 δ」),再反推该结论要用到的量——目标指标的分子与分母各一路、分层变量、剔除样本用的排除变量。判据是「拿这张表能否在纸上把目标指标算到底」,缺任一路则结论算不出来。要多少台车才算得准是另一件事,样本量与显著性判据只引 K7-02
- 上行采样率不等于车内报文周期:10 ms 的车内报文不意味着要 100 Hz 上行。上行率由待回答问题的时间尺度定——能耗与工况分布用秒级即可,压缩机启停、除霜进退、模式切换要到 1~10 Hz 量级,电气瞬态类信号根本不该走遥测通道。遥测欠采样的后果是**指标算偏**而不是波形失真,判据是「该采样率下算出的积分量与全速率参考的差落在可接受带内」;抗混叠滤波的位置与台架多通道同步只引 L7-02
- 每一路信号必填六列:物理量与单位/权威来源节点/上行采样率/字长与量化分辨率/所属层(连续层还是事件抓帧层)/语义版本号。同一物理量若两侧各算一份(包内电流与母线电流、BMS 报的温度与域控算的温度),必须在表里写死取谁为权威,否则云端两批样本口径不同却看不出来;车内报文侧的字段定义、缩放与周期只引 K2-02
- 字长按用途反选,别统一给 2 字节:进能量账要做时间积分的量按积分误差反推位数,只作分箱变量用的量 1 字节够,枚举与模式号按取值数给位。「统一 2 字节」是带宽账里最常见、也最容易删掉的浪费源
- 工况覆盖列是必填项而非附注:要声明这张表覆盖哪些工况段(环温分箱、SOC 分箱、模式、行程时长分箱),因为分层不足会让灰度组与对照组落在不同工况分布上——「采到了」与「可比」是两件事,前者是本课的责任,后者一旦破了会直接毁掉 K7-02 的显著性判断
- 法定监管遥测与工程回流是两条通道、不能合并:GB/T 32960 体系约束的是远程服务与管理平台的上传数据项与上传周期(正常与故障两档周期不同,具体项与数值按现行版本确认),接收方是监管平台,项集与周期改不动、也不面向工程评估;本课的设计对象是工程遥测与工程抓帧通道。三条通道(诊断冻结帧/法定遥测/工程抓帧)的分工判据由 K5-01 给出,本课承接并只落后两条的车端实现,做预算时法定通道作为**已占用**的一项先扣掉
- 信号表的交付形态是一份带版本号、可评审的表,签署方至少含控制、标定、诊断、云端与数据合规五方;缺合规这一签是最常见的组织性缺陷(合规列见第 5 讲)
- 热管理事件驱动的触发抓帧与环形缓冲:前/后窗、触发配额、与冻结帧的口径对照
- 稳态数据近乎无信息量,这是抓帧的立论前提:热管理在稳态段的信号自相关极高,连续记录的边际信息随时长快速衰减而字节数线性增长。所以工程抓帧的默认形态是「事件触发 + 前后窗」,连续通道只留低频的工况分箱量与累计量
- 触发事件按热管理语义定,至少五类:模式切换(须同时记前一模式与切换时刻)、保护/限值介入、压缩机启停与转速大阶跃、快充起止、除霜进退。判据是「该事件前后系统状态发生了不可由稳态外推的迁移」——满足这条才值得花字节,不满足的就该留给连续层的分箱统计
- 前触发窗 T_pre 由「要看清触发原因」定,后触发窗 T_post 由「要看清系统是否收敛回稳态」定,两者不同源、不该取同一个值。T_pre 不足的典型表现是事后只看到结果、看不到起因;T_post 不足的表现是分不清「动作有效」与「动作后又反复」
- 环形缓冲深度 = 并发事件数 ×(前触发窗 + 触发检出延迟)× 抓帧信号集字节率,检出延迟这一项最常被漏——判据在软件里成立时事件已经开始了,漏掉它的后果是缓冲看起来够、事后才发现起因段正落在缺口里,且方向偏危险。缓冲落 RAM 还是非易失介质是另一个决定,介质选型、掉电一致性与擦写寿命只引 K4-06,本课只声明需求
- 触发风暴必须预先设闸:一次真故障会连锁触发多类事件,一台异常车能把车队带宽账吃掉一个量级。做法是给每类事件设日/行程配额与最小重触发间隔,并预先定好配额耗尽后的降级次序(降采样 → 只留统计量 → 只记事件计数与首发时刻),不能靠现场随机丢帧——随机丢出来的是有偏样本
- 与 DTC 冻结帧做口径对照,两者字段可重叠但不可互相替代:冻结帧走诊断通道、是单帧加扩展记录、由诊断仪或售后读取、验收判据是「技师照这些字段能否复现工况」;工程抓帧走遥测通道、是带前后窗的时间序列、面向车队统计与模型迭代、验收判据是「云端照这段序列能否算出目标指标」。两者的触发条件也不该共用——诊断侧要稳(去抖、成熟计数),工程侧要全(宁可多抓一次工况段)。DTC、冻结帧与扩展数据记录的规格只引 K5-01
- 触发条件表是**可下发配置**而不是硬编码常量:事件清单、判据阈值、前后窗长、抓帧信号集、配额都要能随采集配置一起下发与回滚,这正是第 5 讲变更管控的对象;写成硬编码就意味着每换一个评估目标都要发一次固件
- 上行带宽与云端存储预算:单车日/年字节数、降字节三手段、保留期分层
- 先把 B_day 的两项来源(连续层 + 事件抓帧层)与协议封装开销列成算式再谈省——不列算式就讨论「要不要多采一路」,讨论必然停在感觉层。按典型量级,事件层往往占七成以上,所以先砍窗长与抓帧信号集比抠连续层有效得多
- 三个降字节手段的收益与代价不同,不可混谈:车端降采样保时间形状、丢高频;边缘聚合只传统计量保分布、丢时序且**不可逆**;无损/有损压缩保原始、吃车端算力与实时性。选型判据只有一条——「这份数据还会不会被重新算一次」,只要还要复算别的指标,就不能只留统计量
- 保留期分层要在通道设计时落,不是上线后加的项:原始序列短期(周—月量级)、事件抓帧中期、聚合统计量与派生指标长期。分层判据是「这份数据还会被谁重新算一次」;合规相关的埋点与开关同样必须在架构阶段预留(产业侧与制度侧见 N6-01)
- 单车年成本要把三项分开算:蜂窝上行流量费、云端入库与分层存储费、算力费。按本课算例的量级,流量费通常主导存储费;且成本对信号数与采样率是**线性**的——放大一个量级,车队年支出同比例放大一个量级,这正是预算闸门必须卡在信号表评审阶段而不是上线后的原因
- 本讲交付的是 N6-02 那笔 ROI 的**分母**:收益侧(虚拟寻优收益、健康监测与批次问题识别、备件预测价值)归 N6-02,本课只给成本侧算式与量级,两侧合起来才叫 ROI。N6-02 明确把「单车日/年回传字节数与云存储年成本算式」让给本课,不重复推导
- 预算闸门要写进流程而不是靠自觉:任何新增信号或新增触发事件的申请必须附三项——回答哪个问题、增量字节(按 B_day 算式)、增量年成本;缺任一项不受理。反向也要有闸:每个车型周期复盘「哪些路从没被任何分析用到」并下线,否则信号表只增不减,带宽账逐年恶化
- 断连缓存、补传与口径连续性:时标漂移、丢帧统计、信号语义版本
- 弱网/断网是常态不是异常:车端必须给上行留缓存,深度 ≥ 上行字节率 × 设计断连时长,并**由本课定义缓存满时的丢弃优先级**(先丢连续层的低价值路,保事件抓帧及其索引),交给协议栈或操作系统随机丢的后果是有偏样本——往往丢掉最长、最极端的那些行程
- 补传本身会造成带宽峰值:积压数据在恢复连接瞬间集中上行,会挤掉正在发生的事件。必须给补传限速、把补传窗与实时上行错开,并给补传数据打「补传」标记,让云端能分开统计
- 时标是回流数据可用性的底线:车端时钟相对漂移按 ppm 计,断连期间累积偏差 ≈ 漂移率 × 断连时长。判据是该偏差远小于所关注事件的最短特征时间,超出即该批样本的跨报文时序不可用、只能当分箱统计量。校正手段是重连后用网络时间源修偏,但必须**同时保留原始车端时标与校正量两列**,只覆盖不保留就无法事后判定哪些样本可用
- 跨报文、跨 ECU 且无统一时基是量产车队的常态,对齐只能靠报文内自带时标或滚动计数反推,精度天然低于台架。台架侧的多通道硬件同步、抗混叠与预触发采集实现只引 L7-02,本课处理的是它在量产车上的降级版
- 丢帧必须可统计而不是可忽略:上行要带序号或计数器,云端能算出每车每日的丢帧率与缺口分布,并把它作为分析准入门槛。缺这一项,一次「指标变好」就分不清是真变好还是缺样本导致的选择性偏差
- 信号语义版本管理是最易漏、后果最重的一条:DBC 改版(缩放系数、偏移、枚举含义、信号删改)会让历史数据与新数据成为两个口径,云端会把它读成「模型漂移」,白白触发一轮再训练。做法是给信号表与采集配置各带版本号、每条上行样本带采集配置版本、并维护版本间的可换算/不可换算标记;不可换算的跨版本样本在分析时必须切段而不是拼接。K7-03 的再训练数据集要追回的正是这个版本号
- 本讲与 K2-02 的分界写死:车内报文侧的字段定义、周期与总线负载归 K2-02;本课只管「同一信号的语义在时间轴上是否还是同一个东西」,以及它在云端能不能与历史样本放在一起算
- 数据分类分级与个人信息边界、采集配置的变更管控与跨部门交付分工
- 数据分类分级要在车端就落,不能推给云端:判据分两条并行线——个人信息线(识别到自然人即触发,靠告知同意与去标识化处置)与汽车数据安全线(按数据规模与敏感性触发,靠重要数据识别、境内存储与出境评估处置)。两线触发判据与处置动作都不同;法源、制度、出境评估流程与产业侧责任划分只引 N6-01,本课只做车端采集侧的判定与埋点落法(N6-01 已把这一段明确让给本课)
- 位置与行程数据是热管理回流最容易越界的一路:预测性热管理确实要用位置,但回流侧的多数指标只需要**去精度的派生量**(环温分箱、坡度统计量、行程时长与里程分箱、是否高速段),不需要轨迹点。做法是在车端就聚合——把「采了但不上传」改成「不采原始精度」;已经上云再脱敏,等于已经越过采集边界
- 合规列写进信号表并逐路必须有值、不许留空:是否个人信息/是否敏感/采集粒度/保留期/是否出境待评估。出境的具体门槛与目录按现行版本确认,本课不给数值,只要求这一列有结论且有签署人
- 采集配置是一份要走变更管控的车端配置件:K7-02 已写死「评估用采集配置必须在版本下发之前声明并随灰度包下发」,因此它有版本号、有回滚路径、有与软件版本的兼容矩阵。下发链路的签名校验、权限分级与防篡改只引 K2-04,本课只管配置件自身的版本、兼容矩阵与变更审批级别
- 采集配置变更有两个特有陷阱,都会静默毁掉结论:① 改了采样率或触发条件却没升版本号,云端把两种口径的样本拼在一起;② 只对灰度车下发新配置、对照组仍是旧配置,两组口径不同,比较自始就不成立。防法是把「配置版本」列进每条样本、并在分析入口做同版本校验
- 跨部门分工要落成一张责任表,每格一个具名角色:谁提出问题(算法/标定/诊断)、谁定信号表(控制 + 云端)、谁核预算(云端 + 运营)、谁签合规(法务/数据合规)、谁下发与回滚(OTA 平台)、谁在出问题时喊停(分析侧)。缺「签合规」与「喊停」两格是本课最常见的组织性缺陷
- 本课的交付边界写死在这里:车端采什么、按什么触发、上行多少、以什么语义版本入库。云端建模、特征工程、A/B 与影子模式评估只引 K7-03;灰度节奏与回滚门限只引 K7-02;本课到「干净时序样本按声明口径产生并入库」为止
关键公式
B_day = (1 + η_oh) · [ Σ_i f_i·b_i·T_on + Σ_j N_j·(T_pre,j + T_post,j)·Σ_{k∈S_j} f_k·b_k ]
判「这套采集口径一天要传多少」——它是带宽、资费、云端入库量与断连缓存深度四件事共用的分母,也是新增信号/新增触发事件申请时必须附的增量字节算法
B_year ≈ B_day · D_act ; C_year,车 ≈ B_year·c_tr + Σ_L (V_L·c_L·12),其中 V_L = B_day,L · R_L
判「这套口径一年花多少、钱主要花在哪一段」,给出车型/车队级预算闸门与保留期分层的取舍依据;同时是 N6-02 那笔 ROI 的分母侧算式(收益侧归 N6-02)
M_ring ≥ n_conc · (T_pre + T_lat) · Σ_{k∈S} f_k·b_k
判「车端要留多大缓存才不丢事件前的基线」,并把「T_pre 想取多长」翻译成能与 MCU 资源预算对账的数字
r_agg = (n_stat · b_stat) / (f · b · T_win)
判「哪几路该在车端聚合、能省多少」——它是三种降字节手段里性价比最高但代价最不可逆的一个,用来把「省带宽」与「以后还能不能复算」这对矛盾摆到台面上定
Δt_stamp ≈ ρ_clk · T_out ; M_buf ≥ ṁ_up · T_out
判「断多久还救得回来」——同时定车端缓存深度、补传限速窗口,以及补传样本的时标可用性分级(哪些能进时序分析、哪些只能进分箱统计)
关键概念
信号表(signal list)与信号表版本上行采样率与车内报文周期的区分连续层 / 事件抓帧层双层采集口径事件触发抓帧(event-triggered snapshot)前触发窗 T_pre 与后触发窗 T_post环形缓冲(pre-trigger ring buffer)与触发检出延迟触发风暴、触发配额与降级次序边缘聚合与只传统计量(不可逆压缩)保留期分层(原始序列/事件抓帧/聚合指标)断连缓存与限速补传时钟相对漂移(ppm)与时标校正量留档丢帧率与缺口分布作为分析准入门槛信号语义版本与可换算/不可换算标记采集配置件(可下发、可回滚、有兼容矩阵)数据分类分级的两条并行线(个人信息线/汽车数据安全线)去精度派生量法定监管遥测通道 vs 工程回流通道三通道分工(诊断冻结帧/法定遥测/工程抓帧)
推荐工具与标准
车队数据回流平台(上行接收、入库与丢帧率/缺口看板) T-Box / 远程通信模块(上行链路、断连缓存与限速补传) DBC 等信号数据库文件(信号语义版本比对与可换算性标记) OTA 云端管理平台(采集配置件的下发、回滚与兼容矩阵校验) Python(pandas,回流样本的丢帧率、口径版本一致性与工况分箱核查) CAN 总线记录/分析工具(车端抓帧口径与车内报文的逐路比对)
GB/T 32960(电动汽车远程服务与管理系统技术规范)⚠引用不展开:本课只用其「法定上传数据项与上传周期」作通道划分依据与带宽底座,不讲报文层;该标准有多个版本,具体数据项、正常/故障两档周期数值按现行版本确认 《汽车数据安全管理若干规定(试行)》与 GB/T 41871(信息安全技术 汽车数据处理安全要求,推荐性)——本课只用于给信号表合规列定判据;两条合规线的法源、制度与出境评估流程见 N6-01,具体适用范围与门槛按现行版本确认 ISO/SAE 21434(道路车辆网络安全工程)⚠引用不展开:采集配置下发链路的签名、权限分级与防篡改见 K2-04 ISO 24089(道路车辆软件更新工程)⚠引用不展开:采集配置随灰度包下发的发布工程(灰度节奏、回滚门限)见 K7-02
工程案例
合成案例(用于讲评,不含实测数值):某车型上线一版空调控制标定后,云端看到灰度组的百公里能耗优于对照组,团队据此准备扩大放量。复核时发现两组不可比——采集配置与软件包捆在同一个版本里下发,灰度车换了新配置(触发条件新增「除霜进退」抓帧、连续层采样率下调一档),对照组仍是旧配置;且新配置下低温长行程段的样本在缓存满时被协议栈优先丢弃,而每车每日丢帧率没有进云端看板。根因两条:① 采集口径与被评估对象一起变了,「口径差」被读成了「版本收益」;② 缓存丢弃无优先级定义,丢掉的正是最极端的那批行程,选择性偏差伪装成改善。整改三条:采集配置件与软件包解耦版本、对照组与灰度组必须同配置版本才允许比较;缓存满时的丢弃优先级写进需求(保事件抓帧及其索引);每车每日丢帧率与缺口分布进看板,并作为分析准入门槛。
动手做
交付物 · 给定评估目标「评估某 OTA 版本的冬季能耗改善」,产出三张可评审的表并附一段自查:① **信号表**——每路含物理量与单位、权威来源节点、所属层、上行采样率、字长、工况覆盖分箱、合规列(是否个人信息/是否敏感/采集粒度/保留期/是否出境待评估)、语义版本号;② **触发条件表**——事件名、触发判据、T_pre/T_post 及各自的定值理由、抓帧信号集、日配额与最小重触发间隔、配额耗尽后的降级次序;③ **带宽/存储预算表**——按连续层与事件层分别算单车日字节数与年上行量,给出 10 万台车队年上行量量级、按保留期分层的存储驻留量与流量/存储年成本量级(所有单价标「演算假设值」)。自查两段:「缺哪一路会导致目标指标算不到底」,以及「按预算结果哪几路可以下线或改成边缘聚合、代价是以后算不出什么」。
常见误区
- 以为「先把能采的都采上,以后总有用」是稳妥做法;其实字节数按信号数与采样率线性放大成车队级年支出,而没有对应问题的信号在整个车型周期里往往一次都没被分析用到,最后是花了钱、还挤掉了真正需要的那几路
- 以为上行采样率要跟车内报文周期一致;其实上行率由待回答问题的时间尺度定,10 ms 报文按秒级上行照样算准能耗积分,而电气瞬态类信号根本不该走遥测通道
- 以为连续全量记录最保险;其实热管理稳态段信号自相关极高、边际信息随时长快速衰减而字节线性增长,「事件触发 + 前后窗」才是信息/字节比最高的形态
- 以为前后触发窗取同一个值就行;其实 T_pre 由「看清触发原因」定、T_post 由「看清是否收敛回稳态」定,T_pre 不足的典型表现是事后只看到结果、看不到起因
- 以为环形缓冲按前触发窗算就够;其实还要加上触发判定自身的检出延迟,漏掉它时缓冲看起来是够的,事故起因段却正好落在缺口里
- 以为边缘聚合只传统计量是纯节省;其实聚合不可逆,一旦只留统计量,将来想用同批数据复算另一个指标就再也算不出来
- 以为断网只是少一段数据;其实缓存满时的丢弃是有偏的(往往丢掉最长、最极端的行程),加上补传瞬间的带宽峰值会挤掉正在发生的事件,两者叠加就是系统性的选择性偏差
- 以为时标重连后校正到网络时间就完事;其实只覆盖不保留原始车端时标与校正量,事后无法判定哪些样本的时序可用,跨报文对齐更无从复核
- 以为 DBC 改版只是工程内部的事;其实缩放系数、偏移或枚举含义一变,历史数据与新数据就是两个口径,云端会把它读成「模型漂移」并白白触发一轮再训练
- 以为数据合规是上云后脱敏的事;其实位置类数据一旦以原始精度采集上传就已越过采集边界,正确做法是在车端就聚合成去精度派生量
- 以为把 GB/T 32960 的法定上传通道当工程数据源就够了;其实那条通道的数据项与周期由标准定、接收方是监管平台,既改不动也不面向工程评估,工程回流必须另设通道
- 以为只给灰度车换新采集配置很合理(反正只评估灰度组);其实对照组口径不同,比较自始就不成立,样本量再大也证不出结论
相关课题