噪声是常态,保真是智慧。四个思维模型,帮你在不确定中构建确定性。
所有物理信道皆有噪声。从NFC到CAN,从Wi‑Fi到毫米波雷达,每一个信息传输或感知系统都必须面对同一个根本问题:如何在不确定的环境中保真?
差错控制不是孤立的纠错技术,而是一套应对不确定性的思维工具箱。我从十多个技术领域(蓝牙、Wi‑Fi、USB、CAN、MIPI、雷达......)中提炼出四个通用思维模型,它们共同构成了差错控制的底层逻辑。
模型一:冗余------用"多余"对抗"无常"
冗余的核心思想:在多个维度上提供额外的资源,当某个维度失效时,其他维度仍能维持功能。冗余有多种形态:
| 冗余维度 | 原理 | 技术案例 |
|---|---|---|
| 时间冗余 | 错了就重传 | USB ARQ、TCP重传、CAN自动重发 |
| 空间冗余 | 多条路径/多个副本 | 蓝牙Mesh泛洪、Wi‑Fi MIMO分集、CAN差分信号 |
| 信息冗余 | 附加额外校验比特 | CRC、FEC(LDPC、卷积码)、ECC、位填充 |
| 频率冗余 | 多频段/多子载波 | 蓝牙跳频、Wi‑Fi OFDM、ZigBee DSSS |
| 混合冗余 | 结合多种 | HARQ(时间+信息)、蓝牙Mesh友谊机制(时间+空间) |
关键:冗余不是浪费,而是系统为对抗不确定性必须支付的"保险费"。优秀的系统会根据场景选择冗余维度------实时性要求高的场景多用FEC(信息冗余),可靠性要求高的场景多用ARQ(时间冗余),多径环境则用空间/频率冗余。
模型二:分层------复杂问题的"降维打击"
分层是把大问题分解成相对独立的层次,每层专注于解决特定类型的噪声,层间通过标准化接口交互。上层依赖下层提供的"更干净"服务。
USB协议栈的分层检错:
- 物理层:NRZI编码 + 位填充,保证时钟同步
- 链路层:CRC校验、PID校验,检测错误后丢弃或重传
- 事务层:数据切换位(DATA0/DATA1)解决ACK丢失
- 设备层:端点配置、STALL握手,处理功能级错误
Wi‑Fi协议栈的协同:
- 物理层:OFDM/MIMO、LDPC纠错,对抗多径和衰落
- MAC层:CRC校验、ACK/块确认,处理冲突和瞬时错误
- 网络层及以上:TCP端到端确认覆盖Wi‑Fi可能遗漏的错误
CAN的极简分层:
- 物理层:差分信号、自适应阈值,对抗共模干扰
- 数据链路层:五类检错(位错误、填充错误、CRC错误、格式错误、应答错误)+ 故障界定状态机
分层让复杂系统变得可设计、可验证、可演进。每层只需信任下层提供的接口,同时向上层屏蔽本层的复杂性。
模型三:反馈------闭环控制
差错控制就是一个"观测 → 决策 → 执行"的闭环。优秀的系统不仅反馈当前错误,还会调整自身运行状态以适应环境。
| 技术 | 观测 | 决策 | 执行 |
|---|---|---|---|
| USB 3.0 LTSSM | LFPS、有序集监测链路质量 | 根据超时/错误计数决定状态迁移 | 发送链路命令,调整均衡器 |
| CAN故障界定 | 发送/接收错误计数器 | TEC≥128→被动错误,≥256→总线关闭 | 发送错误标志,或离线恢复 |
| 蓝牙Mesh友谊 | LPN定期轮询Friend | Friend根据缓存队列决定响应 | 缓存消息一次性转发 |
| Wi‑Fi速率自适应 | 误码率、RSSI、重传率 | 选择最合适的MCS | 调整PHY参数 |
| FMCW雷达相位校正 | 分析调频非线性误差 | 选择校正算法 | 数字域补偿 |
反馈让系统从"静态设计"走向"动态适应"。优秀的反馈机制不仅纠正瞬时错误,还能调整系统自身的"健康模式"(如CAN的节点状态),甚至在感知层面重构信号(如雷达相位校正)。
模型四:估计------从"纠正"到"推断"
这是最深层的思维模型。核心是:我们无法直接知道"真实状态",只能通过带噪的"观测"去推断它。这个模型将差错控制从工程提升到了认知科学的层面。
通信中的最大似然估计:
- 维特比译码:在卷积码中寻找与接收序列最匹配的编码路径(最大似然序列估计)
- LDPC译码:通过置信传播迭代更新比特的概率估计
网络状态估计:
- 蓝牙Mesh的贝叶斯网络:从端到端包送达率和时延推断节点是否离线
- ZigBee LQI加权定位:用链路质量指示动态调整距离测量权重
物理世界状态估计------FMCW雷达的极致演绎:
- 状态:目标的距离、速度、角度
- 观测:差拍信号
- 算法链:距离FFT → 多普勒FFT → MUSIC/ESPRIT角度估计 → CFAR检测 → 卡尔曼滤波跟踪
估计模型告诉我们,差错控制的终极目标不是"修复错误",而是"从噪声中还原真实"。这个视角让我们能够借用统计学、控制论和机器学习中的丰富工具,也揭示了通信与感知在本质上的统一。
四个模型的统一
| 模型 | 核心思想 | 典型问题 | 技术案例 |
|---|---|---|---|
| 冗余 | 用额外资源对冲不确定性 | 丢包、误码 | ARQ、FEC、跳频 |
| 分层 | 分解复杂度,逐层封装噪声 | 跨层耦合 | OSI模型、协议栈 |
| 反馈 | 闭环调整,动态适应 | 信道变化 | LTSSM、速率自适应 |
| 估计 | 从噪声中推断真实状态 | 目标跟踪、信道估计 | 维特比、卡尔曼滤波 |
这四大模型不是孤立的,而是层层递进:冗余是基础,分层是结构,反馈是动态调节,估计是认知飞跃。一个鲁棒的差错控制系统,往往需要组合使用多个模型。
写在最后
当你未来遇到一个新的通信或感知系统,可以用这套工具箱快速拆解:
- 识别冗余维度:哪些维度引入了冗余?时间?空间?信息?频率?
- 解析分层结构:如何分解不确定性?每层用什么机制对抗本层噪声?
- 寻找反馈闭环:有哪些"观测-决策-执行"环节?闭环时延和代价如何?
- 明确估计对象:需要推断什么状态?用什么算法(匹配滤波、卡尔曼、深度学习)?
噪声是常态,保真是智慧。四个模型------冗余、分层、反馈、估计------提供了一套应对不确定性的通用方法。从近场通信到雷达感知,从有线总线到无线Mesh,技术的外在形式各不相同,但内在的差错控制逻辑是一致的。
本文节选自《权衡之境》主题4。书稿已完成,出版在即。
更多思维模型可访问我的 GitHub 仓库:https://github.com/jakegom/weighing-the-world
------高翔,技术哲学作者,系统架构师。著有《权衡之境:一位工程师的技术哲学笔记》,专注技术决策的底层逻辑与思维模型。