想象你要为一杯新水果茶打分。你请来三位评审:视觉评审看茶汤颜色,味觉评审尝甜度,嗅觉评审闻香气。他们各有专长,也各有盲区——光线暗时视觉评审会走眼,味觉评审连续试饮会麻木,嗅觉评审容易被隔壁的咖啡香干扰。如果只信其中任何一位,结论总是不够稳。于是你这位“评审主持人”要做一件事:把三份意见综合成一个更可信的综合分。传感器融合算法,干的就是这件事。在物联网设备里,加速度计、陀螺仪、GPS 就像这些各怀绝技的评审,它们分别感知物体的姿态、位置和运动;融合算法就是那位主持人,用数学方法把多路观测拧成一股绳。加权平均像按可信度投票,卡尔曼滤波像不断预测再修正,互补滤波像各管一摊然后合流。读完这篇文章,你就会明白这三招分别适合什么场景,以及为什么汽车导航、无人机飞控都离不开它们。

岗位关联

对 AI 从业者而言,掌握传感器融合是理解和落地“具身智能、边缘感知系统”的基础能力,能帮你在 IoT 项目里做出更稳的技术选型。

目录
  1. 可视化演示
  2. 融合基本概念
  3. 传感器与IMU
  4. 加权平均融合
  5. 卡尔曼滤波
  6. 互补滤波
  7. 姿态估计融合
  8. GPS组合定位
  9. 融合选型实战
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示加权平均、卡尔曼滤波与互补滤波三种融合方法,切换模式观察多传感器数据整合估计过程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

加权平均融合 多传感器读数按权重w_i加权求和 融合值降低个体噪声方差 x_fused = Σ(w_i * x_i) / Σ(w_i) 权重与传感器精度成正比,简单但有效。

融合基本概念

想象你为新品水果茶举办品鉴会,视觉、味觉、嗅觉三位评审各执一词。视觉评审能看出茶汤是否清亮,但灯光暗时会把浑浊误判成醇厚;味觉评审对甜度最敏感,可连续喝五杯后舌头会“失灵”;嗅觉评审总能捕捉到那股花果香,却容易被邻座咖啡的香气带偏。如果只信其中任何一位,结论都可能不稳定。传感器融合算法,就是那位“主持人”——它不做无意义的大合唱,而是把三份各有所长的观测合成为一个更可信的综合判断。

在物联网中,传感器融合解决的是“单传感器不可靠”的典型问题。加速度计有噪声、陀螺仪会漂移、GPS偶尔失锁,单独看任何一路数据,都像只听取一位评审的意见。融合算法的目标是:利用多路观测的冗余与互补,降低不确定性,对某个物理量(位置、姿态、温湿度)给出一个比任何单一传感器都更稳健的估计。这不是把数据简单相加,而是根据每一路的可信度“配权重、做修正”。

融合算法有三个基本流派:加权平均最朴素,卡尔曼滤波最通用,互补滤波最灵巧。它们都是对“多路观测如何合流”的不同回答。用数学语言概括,融合输出可以写成:

少了任何一位评审,综合判断都会有偏科;少了任何一种融合思想,物联网系统都会在某个角落暴露出脆弱。理解这三种 f,就等于拿到了主持人手里的三套控场方案。

x^=f(z1,z2,…,zn)\displaystyle \hat{x} = f(z_1, z_2, \dots, z_n)
通俗说明:最终融合结果可以理解为对 n 路观测施加某个“综合函数”后的输出,三种算法只是换了不同的 f。
  1. 观测集合括号里是各路传感器在当前时刻的读数,就像三位评审各自给出的分数。
    z1,z2,…,zn\displaystyle z_1, z_2, \dots, z_n
  2. 融合函数不同的 f 对应不同的融合策略,加权平均、卡尔曼滤波、互补滤波都是 f 的某一种实现。
    f(⋅)\displaystyle f(\cdot)
  3. 估计输出带帽子符号的 x 表示这是估计值而非真值,真实值永远无法完全获知。
    x^\displaystyle \hat{x}

传感器与IMU

评审团里每位评委都带着自己的“测量工具”。视觉评审的眼睛擅长颜色,但怕暗;味觉评审的舌头擅长甜度,但会疲惫。传感器也一样,各怀绝技:加速度计像舌头,能感知重力带来的“倾斜感”;陀螺仪像鼻子上的气流感应器,擅长感受旋转的快慢;GPS 则像一位只看地图的场外导航员,报位置很准,但张口频率低,进了隧道还会失联。

在姿态估计场景中,IMU 是核心角色。它通常由三轴加速度计、三轴陀螺仪组成,有时再加三轴磁力计。加速度计测量的是比力,静止时能靠重力方向反推出倾斜角;陀螺仪测量角速度,对角速度积分可以得到角度变化。然而,陀螺仪积分会随时间累积漂移——就像蒙眼走路,每一步都感觉走得直,实际上早已偏离方向。加速度计则相反,长期稳定,但一运动起来就会被额外的运动加速度“污染”。

IMU 和 GPS 是一对典型的异构传感器:量纲不同、噪声特性不同、采样频率不同。正因为如此,它们才能互补。陀螺仪的姿态积分公式是理解 IMU 的基础:

这就像评审组长记录每位评委的连续打分:上一轮分数加上本轮的“变化量”,就是这一轮的新印象。单靠这一接力棒会越跑越偏,所以后面需要其他传感器来“校稿”。

θt=θt−1+ωtΔt\displaystyle \theta_t = \theta_{t-1} + \omega_t \Delta t
通俗说明:当前角度等于上一时刻角度加上这一小段时间里转过的角度增量。
  1. 上一时刻角度状态是有记忆的,新的角度在旧角度基础上演化。
    θt−1\displaystyle \theta_{t-1}
  2. 角速度乘时间角速度表示转得多快,乘上采样间隔就是这段时间转过的角度。
    ωtΔt\displaystyle \omega_t \Delta t
  3. 累加得到新角度这个递推式正是惯性姿态解的“接力棒”。
    θt\displaystyle \theta_t

加权平均融合

如果只给一个最简单策略,主持人会这样做:每位评审按“历史可信度”拿不同权重。味觉评审最稳定,权重给 0.5;视觉评审今天略有疲惫,给 0.3;嗅觉评审被环境干扰,只给 0.2。最后加权求和,这就是加权平均融合。

技术上的关键是权重如何定。假设每个传感器都测同一个常量,观测噪声方差为 \sigma_i^2。方差大,说明读数“飘”,理应少信;方差小,说明读数“稳”,理应多信。数学上可以证明,权重取方差的倒数时,融合结果的方差最小。这就是“精度加权”的含义:

加权平均最大的局限,是它只适合处理静态或缓慢变化的量,并且要求各路观测已经对齐到同一物理量上。一旦目标在运动,单纯加权就会滞后。就像评审组长只有在菜品稳定不变时,才能用固定权重凑出一个好分数;一旦菜品在烹饪中不断变化,就得请出更聪明的算法。

x^=∑i=1nwizi∑i=1nwi,wi=1σi2\displaystyle \hat{x} = \frac{\sum_{i=1}^{n} w_i z_i}{\sum_{i=1}^{n} w_i}, \quad w_i = \frac{1}{\sigma_i^2}
通俗说明:各路观测按噪声方差倒数的比例加权,噪声越大,权重越小;最后归一化得到融合估计。
  1. 加权求和每个观测 z_i 先乘上自己的权重 w_i,再累加起来,相当于每位评审的分数按权重进入总分。
    ∑i=1nwizi\displaystyle \sum_{i=1}^{n} w_i z_i
  2. 权重归一化分母是所有权重之和,保证即使权重不凑成 1,最终结果仍是合理的加权平均。
    ∑i=1nwi\displaystyle \sum_{i=1}^{n} w_i
  3. 权重反比方差方差 \sigma_i^2 越大,权重越小;方差越小,权重越大,这是“谁稳谁多信”的数学表达。
    wi=1σi2\displaystyle w_i = \frac{1}{\sigma_i^2}

卡尔曼滤波

如果评审组长升级成品控师,他会这样做:上一杯茶的分数我已经心中有数(状态),根据配方稳定程度,我预估下一杯茶大概还是这个分数,但不确定度会稍微增大(预测);新评审分数一到,我先看它和我预估值差多少,再决定信预测多一点还是信观测多一点。这个“预测—修正”的循环,就是卡尔曼滤波。

卡尔曼滤波假设系统状态变化和观测过程都近似线性、噪声近似高斯。t 时刻,先利用上一时刻的状态预测当前状态,得到先验估计 \hat{x}_{t|t-1} 和先验方差 P_{t|t-1};然后计算卡尔曼增益 K_t,它由预测方差和观测方差 R 共同决定;最后用观测 z_t 修正先验,得到后验估计 \hat{x}_t。核心更新式如下:

卡尔曼滤波的美妙之处,在于它会持续跟踪自己的不确定度 P:观测噪声大时自动降低 K,靠预测“硬撑”;观测质量好时自动抬高 K,大胆跟随观测。这种“对评委态度的动态管理”,正是它在 GPS 定位、无人机飞控中无处不在的原因。

x^t=x^t∣t−1+Kt(zt−x^t∣t−1),Kt=Pt∣t−1Pt∣t−1+R\displaystyle \hat{x}_t = \hat{x}_{t|t-1} + K_t (z_t - \hat{x}_{t|t-1}), \quad K_t = \frac{P_{t|t-1}}{P_{t|t-1} + R}
通俗说明:新估计 = 预测值 + 按不确定度比例修正的“观测误差”;K_t 越大,越信任这次观测。
  1. 先验预测\hat{x}_{t|t-1} 表示“站在 t-1 时刻对 t 时刻的预测”,它带着旧信息,但没有用到新观测。
    x^t∣t−1\displaystyle \hat{x}_{t|t-1}
  2. 观测残差z_t 减预测值,等于是评审的实际打分与我预估值之间的“意外偏差”。
    zt−x^t∣t−1\displaystyle z_t - \hat{x}_{t|t-1}
  3. 卡尔曼增益P 大说明预测不太可信,R 大说明观测不太可信;两者博弈后 K_t 落在 0 到 1 之间。
    Kt=Pt∣t−1Pt∣t−1+R\displaystyle K_t = \frac{P_{t|t-1}}{P_{t|t-1} + R}
  4. 后验更新用 K_t 乘以残差去修正预测,残差为零就不需要改,残差大且 K_t 大,就大幅贴近观测。
    x^t=x^t∣t−1+Kt(zt−x^t∣t−1)\displaystyle \hat{x}_t = \hat{x}_{t|t-1} + K_t(z_t - \hat{x}_{t|t-1})

互补滤波

第三种策略更像“分工”:嗅觉评审鼻子灵,适合捕捉香气这种快速变化;视觉评审看颜色稳,适合判断茶汤这种缓慢变化。与其让两人在所有维度上都吵一架,不如让嗅觉评审负责快变化,视觉评审负责慢变化,最后把两段信息拼起来。互补滤波就是这种频段分工的数学版。

在 IMU 姿态解算中,陀螺仪的优势是短时准确,但它的积分会像“蒙眼走路”一样慢慢漂移——这是低频误差;加速度计的优势是长期稳定,但动态环境下高频噪声很大——这是高频干扰。互补滤波把陀螺仪的积分结果通过高通通道(把低频漂移滤掉),把加速度计的倾角测量通过低通通道(把高频噪声滤掉),两者相加得到最终姿态:

互补滤波的工程价值,在于它不需要像卡尔曼滤波那样维护协方差矩阵,计算量极低,在 Arduino 这类小芯片上也能跑到几百赫兹。就像那位精明的评审组长,不搞复杂的信任模型,只是清楚地知道“谁适合看快、谁适合看慢”,就能把团队带得服服帖帖。

θ^t=α(θ^t−1+ωtΔt)+(1−α) θacc,t\displaystyle \hat{\theta}_t = \alpha(\hat{\theta}_{t-1} + \omega_t \Delta t) + (1-\alpha)\,\theta_{\text{acc},t}
通俗说明:最终角度是“陀螺仪短时积分”与“加速度计倾角观测”的按比例组合;α 越接近 1,越信任陀螺积分。
  1. 陀螺积分项把上一时刻角度加上角速度增量,得到短时连续的姿态预测。
    θ^t−1+ωtΔt\displaystyle \hat{\theta}_{t-1} + \omega_t \Delta t
  2. 加速度计观测项加速度计直接给出的倾角参考,作为“长期校准基准”。
    θacc,t\displaystyle \theta_{\text{acc},t}
  3. 互补系数α 通常取 0.98 左右,表示 98% 信任陀螺仪的短时变化,2% 信任加速度计的长期方向,两个比例相加必须为 1。
    α+(1−α)=1\displaystyle \alpha + (1-\alpha) = 1

姿态估计融合

有了互补滤波这个“融合引擎”,接下来要解决的问题是:用什么语言来描述姿态?就像评审组在打分前必须先统一打分维度——是甜度、香气还是色泽——姿态也要有坐标系语言。欧拉角和四元数就是两种最常用的“姿态语言”。

欧拉角用俯仰、横滚、航向三个角描述旋转,直观易懂,但存在万向锁问题,某些姿态下会丢失一个自由度。四元数用四个数表示旋转,没有奇异性,非常适合计算机做连续积分。实际飞控中,通常用四元数做状态更新,再在输出时转换成欧拉角。然而,四元数本身只是“语言”,姿态的观测修正仍要靠加速度计和磁力计。例如,加速度计可以直接估计横滚角:

同样地,磁力计可以给出航向角参考,修正陀螺仪在偏航轴上的漂移。把这些修正项放进互补滤波或卡尔曼滤波,就构成了完整的姿态估计融合。评审团于是有了统一的“打分语言”,各评委的分数终于能在同一张表格里被公平地合在一起。

ϕacc=arctan⁡ ⁣2(ay,az)\displaystyle \phi_{\text{acc}} = \arctan\!2(a_y, a_z)
通俗说明:利用重力在加速度计两轴上的投影分量,用反三角函数直接算出当前绕前进轴的倾斜角。
  1. 加速度分量a_y 和 a_z 是加速度计在机体坐标系下测到的水平与垂直比力分量。
    ay,az\displaystyle a_y, a_z
  2. 反正切二函数atan2 能根据两个分量的正负判断象限,得到完整角度,避免除零问题。
    arctan⁡ ⁣2(ay,az)\displaystyle \arctan\!2(a_y, a_z)
  3. 横滚角输出这个角度携带重力方向信息,可作为姿态融合中的修正项。
    ϕacc\displaystyle \phi_{\text{acc}}

GPS组合定位

想象一位配送机器人:GPS 是坐在副驾驶看手机地图的导航员,每两三秒报一次“你在路口附近”;IMU 则是蒙着眼但能数步数的乘客,每秒报很多次“这一步走了半米”。GPS 有全局视野,但更新慢,进了隧道就哑火;IMU 连续不断,但数着数着方向会偏。最好的办法,正是让两人合作,用 GPS 定期校正 IMU 的漂移。

GPS 和 IMU 的组合导航,是卡尔曼滤波最经典的实战舞台。系统状态通常包含位置 p 和速度 v。IMU 以高频做“惯性推算”:用上一时刻位置和速度估计当前时刻位置;GPS 以低频到达时,卡尔曼滤波计算位置残差,并按增益 K_t 修正位置和速度。一个简化的一维位置更新可以写成:

这套组合的工程意义在于:即使在 GPS 短暂失锁的隧道里,系统也能靠着 IMU 维持几秒到几十秒的可接受精度;GPS 信号恢复后再平滑吸回。对汽车导航、AGV 小车这些边缘设备来说,这就是那位“既能连续记录、又能定时签到”的可靠评审组长。

p^t=p^t−1+v^t−1Δt+Kt (pGPS−p^t∣t−1)\displaystyle \hat{p}_t = \hat{p}_{t-1} + \hat{v}_{t-1}\Delta t + K_t\,(p_{\text{GPS}} - \hat{p}_{t|t-1})
通俗说明:先用惯性推算一个位置,再根据 GPS 观测与推算值的差距做一次修正,融合后的位置既平滑又不漂移。
  1. 惯性推算项位置预测 = 旧位置 + 速度乘时间,这是 IMU 每秒高频输出的部分。
    p^t−1+v^t−1Δt\displaystyle \hat{p}_{t-1} + \hat{v}_{t-1}\Delta t
  2. GPS 残差GPS 给的真实位置与预测位置之间的偏差,是导航员带来的“校正信号”。
    pGPS−p^t∣t−1\displaystyle p_{\text{GPS}} - \hat{p}_{t|t-1}
  3. 增益修正项乘以 K_t 后,才把残差按可信度并入最终位置,避免被一次坏 GPS 信号带偏。
    Kt (pGPS−p^t∣t−1)\displaystyle K_t\,(p_{\text{GPS}} - \hat{p}_{t|t-1})

融合选型实战

不是所有评审会都需要请满三位评审。街边快闪店的饮品试饮,让味觉评审一个人拍板就够了;高端品鉴会则要视觉、味觉、嗅觉齐上阵,再配上数据分析师。融合算法的选型也一样,取决于成本、算力、功耗和实时性。

加权平均实现最简单,不占内存,适合传感器数量少、量测已经对齐、被测量近似恒定的场景,比如温度校准。互补滤波只有几个乘法,在 ESP32 这类低功耗芯片上能轻松跑高频姿态解算,适合飞控和穿戴设备。卡尔曼滤波精度最高,但要维护协方差矩阵、处理矩阵求逆,对算力要求高,适合自动驾驶、精密导航等对精度敏感的场合。选型时要评估融合效果,最常用的指标是 RMSE:

在真实 IoT 项目中,“最好的算法”不是某项指标最高的那个,而是与功耗、实时性、开发成本匹配的那个。评审组长最后拍板时考虑的,不只是分数算法的华丽,而是预算、场景和整个后厨能否接得住——融合算法选型,本质是一门系统工程。

RMSE=1N∑i=1N(x^i−xi∗)2\displaystyle \text{RMSE} = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(\hat{x}_i - x_i^*)^2}
通俗说明:RMSE 衡量估计值 \hat{x}_i 与真值 x_i^* 之间的平均误差幅度,越小说明融合越准。
  1. 单步误差平方把每一步的估计误差平方,避免正负误差相互抵消。
    (x^i−xi∗)2\displaystyle (\hat{x}_i - x_i^*)^2
  2. 平均误差平方对所有 N 步的平方误差求和再取平均,得到“平均能量”。
    1N∑i=1N(x^i−xi∗)2\displaystyle \frac{1}{N}\sum_{i=1}^{N}(\hat{x}_i - x_i^*)^2
  3. 开方还原开根号后单位与原始数据一致,方便直观比较精度。
    1N∑i=1N(x^i−xi∗)2\displaystyle \sqrt{\frac{1}{N}\sum_{i=1}^{N}(\hat{x}_i - x_i^*)^2}

AI 应用场景

无人机与穿戴设备的姿态解算

阶段:边缘感知 / 实时姿态估计

解决的问题:无人机飞行时需要高频、低延迟的姿态信息。单独用陀螺仪积分,几秒后姿态就漂移;单独用加速度计,机身一振动读数就乱。互补滤波以极低算力融合陀螺仪与加速度计,给出稳定的横滚、俯仰角。

具体案例:一款教育无人机在翻飞动作后能快速回正,飞行姿态抖动从 ±5° 降到约 ±1°,MCU 占用率不到 15%。

配送机器人的多源定位

阶段:多传感器融合 / 组合导航

解决的问题:室内外配送机器人需要既平滑又无漂移的位置。GPS 更新慢、室内失效,IMU 会累积漂移。卡尔曼滤波将 GPS 绝对位置与 IMU 高频推算结合,实现连续定位。

具体案例:某园区配送机器人经过高架桥下 GPS 短暂失锁 10 秒,仍能保持 0.5 米内定位误差,驶出桥洞后平滑恢复到亚米级。

工业设备振动监测

阶段:边缘数据融合 / 状态监测

解决的问题:多台振动传感器安装在电机不同位置,单一传感器易受局部干扰。加权平均融合按传感器历史噪声方差分配权重,结合卡尔曼滤波抑制随机噪声,准确判断设备异常。

具体案例:某工厂在风机轴承采集三轴加速度数据,融合后故障报警误报率下降约 60%。

Python 演示

python30 行
import randomimport math def kalman_filter(measurements, Q=0.04, R=4.0):    x, P = 0.0, 1.0    estimates = []    for z in measurements:        P += Q        K = P / (P + R)        x += K * (z - x)        P *= (1 - K)        estimates.append(x)    return estimates def main():    T = 100    true_vals = [50 + 30 * math.sin(i * 0.08) for i in range(T)]    noises = [random.gauss(0, math.sqrt(4.0)) for _ in range(T)]    measures = [true_vals[i] + noises[i] for i in range(T)]    estimates = kalman_filter(measures)     obs_rmse = math.sqrt(sum((measures[i] - true_vals[i]) ** 2 for i in range(T)) / T)    est_rmse = math.sqrt(sum((estimates[i] - true_vals[i]) ** 2 for i in range(T)) / T)     print("观测噪声 RMSE: {:.3f}".format(obs_rmse))    print("卡尔曼滤波 RMSE: {:.3f}".format(est_rmse))    print("估计值前 5 个: {}".format([round(v, 2) for v in estimates[:5]])) if __name__ == "__main__":    main()
目的:用一维卡尔曼滤波对含噪声的位置观测进行在线估计,并打印滤波前后的 RMSE 对比,直观展示融合带来的精度提升。
  1. for z in measurements:逐帧读入观测值,模拟实时到达的传感器数据。
  2. P += Q预测阶段让状态不确定性随时间缓慢增大,对应“越走越没底”。
  3. K = P / (P + R)计算卡尔曼增益,动态决定这次该信预测还是信观测。
  4. x += K * (z - x)用观测残差修正当前估计,这是整个滤波的核心动作。
  5. P *= (1 - K)修正完成后,状态不确定性下降,表示我们对结果更有把握。
  6. est_rmse = ...量化滤波后估计与真值的平均误差,比观测 RMSE 更小。

常见误区

误区我把四个传感器数据取个平均值,既然测的是同一个量,平均后误差总会变小吧?

正解平均只有在各路噪声相互独立且无偏的时候才有效。若某传感器突然故障或严重漂移,平均会把错误“掺”进结果。加权平均、卡尔曼滤波、互补滤波的核心都是动态权衡“谁可信、信多少”,而不是无脑平均。就像一个评审眼神不好时,你还要他和别人同票,结果就被拉低了。

为何常见:统计学里的误差抵消直觉上让人以为平均能消除一切噪声,忽略了传感器故障和系统性偏差。

误区我的传感器噪声肯定不是高斯分布,卡尔曼滤波要求又线性又高斯,我是不是完全不能用?

正解卡尔曼滤波确实假设线性系统和高斯噪声,但工程中大量近似场景仍然适用。非线性系统可以用扩展卡尔曼或无迹卡尔曼近似;非高斯噪声只要均值和方差可估,滤波器往往仍能给出不错效果。它更像一位能容忍小误差的品控师,而不是论文里严苛的数学判官。

为何常见:教材强调数学假设,初学者容易把模型看成“非黑即白”。

误区卡尔曼滤波听起来高级又精确,互补滤波只是两个滤波器相加,精度差很多吧?

正解互补滤波在姿态估计场景中,若调好 α,效果与轻量卡尔曼非常接近,但计算量小一个量级,还不用调噪声协方差矩阵。很多量产飞控用的就是互补滤波。选型要看场景:小芯片、高实时性、姿态够用,互补滤波反而是最优解。

为何常见:算法的“复杂性”被误当成“先进性”,低估了工程约束。

误区融合了 GPS,IMU 的漂移不就被校正了吗?那系统永远准确。

正解GPS 更新频率低,校正只发生在有信号且观测到达的时刻。在两次校正之间,系统仍在靠 IMU 惯性推算,漂移依然存在;GPS 丢星时间越长,推算误差越大。融合算法只是把漂移“拉回”,不是“清零”。

为何常见:把周期性修正误当成持续性的补偿,忽略了传感器采样率的物理限制。

面试题

Q1. 传感器融合算法的主要目标是什么?

单选题 · easy

  • A.展示所有传感器的原始读数
  • B.获得比单传感器更可靠估计← 正确答案
  • C.提高每个传感器的采样频率
  • D.减少系统中传感器的安装数量

答案:B。融合算法是为了把多路观测合成为一个比任何单一传感器都更稳、更准的估计。展示原始读数只是界面问题,采样频率由硬件决定,减少传感器数量也不是融合目标,因此 B 正确。

Q2. 在加权平均融合中,传感器观测噪声方差越大,权重应该?

单选题 · easy

  • A.越大,因为数据越多越好
  • B.越小,因为读数越不可靠← 正确答案
  • C.保持不变,由采样频率决定
  • D.置零且不参与任何融合计算

答案:B。最优权重与噪声方差成反比,方差越大说明读数越“飘”,自然要少信。置零是故障处理而非常态,因此 B 正确。

Q3. 陀螺仪积分测量姿态时最典型的缺点是什么?

单选题 · easy

  • A.对快速旋转毫无反应
  • B.长期工作后产生明显漂移← 正确答案
  • C.无法测量任何角速度
  • D.完全不受温度变化干扰

答案:B。陀螺仪短时准确,但角速度积分会随时间累积误差,导致姿态慢慢漂移,这正是需要加速度计或 GPS 定期校准的原因。

Q4. 互补滤波中参数 α 接近 1 时,系统会?

单选题 · mid

  • A.更信任陀螺仪的短时积分← 正确答案
  • B.更信任加速度计的倾角
  • C.完全忽略磁力计修正
  • D.两个传感器权重完全相同

答案:A。互补滤波中 α 是陀螺仪积分项的权重,α 接近 1 表示 (1-α) 很小,系统主要依赖陀螺仪的短时连续变化,同时保留少量加速度计修正防止漂移。

Q5. 卡尔曼滤波的卡尔曼增益 K 的主要作用是?

单选题 · mid

  • A.直接替换掉所有测量数据
  • B.权衡预测值和观测值可信度← 正确答案
  • C.提高传感器硬件的采样率
  • D.让噪声方差固定为一个常数

答案:B。K 由预测方差和观测方差共同决定,K 大则更信观测,K 小则更信预测。它不会替换数据、不会改变硬件采样率,也不负责固定噪声方差。

Q6. 当观测噪声方差 R 增大时,卡尔曼滤波会?

单选题 · mid

  • A.更信任预测,响应变得更缓← 正确答案
  • B.更信任观测,响应变得更快
  • C.预测和观测权重均不改变
  • D.滤波结果与观测值完全一致

答案:A。R 增大时,K 变小,系统认为观测更不可信,因此更依赖预测,输出变化更平滑、响应更慢;B 说反了,C 和 D 也不符合 K 的自适应特性。

Q7. GPS 与 IMU 融合定位最核心的原因是?

单选题 · mid

  • A.GPS 精度太低,完全不可用
  • B.IMU 高频连续,GPS 低频无漂移← 正确答案
  • C.IMU 绝对定位准确,胜过 GPS
  • D.GPS 提供姿态而 IMU 提供位置

答案:B。IMU 数据率高但会积分漂移,GPS 数据率低但绝对误差有界,两者天然互补。GPS 并非完全不可用,IMU 也不提供绝对位置,因此 B 正确。

Q8. 卡尔曼滤波在实际工程中能工作需要哪些近似条件?

多选题 · hard

  • A.系统模型近似线性可描述← 正确答案
  • B.噪声可用高斯分布近似← 正确答案
  • C.状态转移方程可以被建立← 正确答案
  • D.传感器必须使用同一种型号

答案:ABC。经典卡尔曼滤波要求线性系统和高斯噪声,并且要有状态转移方程;传感器可以是异构的,因此 D 不是必要条件。

Q9. 以下哪些传感器可以作为互补滤波中修正陀螺仪漂移的依据?

多选题 · hard

  • A.加速度计提供的重力倾角← 正确答案
  • B.磁力计提供的航向角← 正确答案
  • C.GPS 接收机提供的经纬度
  • D.温度计提供的环境温度

答案:AB。姿态互补滤波常用加速度计修正横滚和俯仰,用磁力计修正航向,它们共同抑制陀螺仪积分漂移。GPS 更多用于定位而非姿态修正,温度计也不参与姿态修正。

Q10. 在资源受限的 IoT 边缘设备上部署融合算法,哪些做法是合理的?

多选题 · extreme

  • A.使用互补滤波控制算力开销← 正确答案
  • B.全维卡尔曼滤波并保持毫秒级
  • C.根据传感器故障动态调整权重← 正确答案
  • D.所有融合都放到云端再回传

答案:AC。边缘设备算力和功耗有限,互补滤波是常见选择;动态调整权重能应对传感器失效。全维卡尔曼滤波可能超出资源预算,所有融合放云端会引入延迟和断网风险,因此 B、D 不合理。