卡尔曼滤波基本原理详解

卡尔曼滤波

卡尔曼滤波简介

卡尔曼滤波器(Kalman Filter)是一种高效的递推滤波器(即基于上一个时刻的估计来更新当前时刻的估计),它能够从一系列含有噪声的观测数据中估计动态系统的状态。它在1960年由鲁道夫·卡尔曼提出,如今广泛应用于航空航天、汽车导航系统、机器人导航以及经济学等领域。

基本原理

卡尔曼滤波器基于线性动态系统的状态空间表示法。它假设系统状态是线性的,并且过程噪声和观测噪声均为高斯分布。基本的卡尔曼滤波器可以分为两个步骤:预测(Predict)和更新(Update)。

  1. 预测阶段

    • 根据系统的先前状态和控制输入来预测当前状态。
    • 同时预测当前状态的估计不确定性(协方差)。
  2. 更新阶段

    • 使用新的测量数据来更新预测。
    • 计算一个增益(卡尔曼增益),它决定了预测和测量中哪部分更加可靠。
    • 更新估计的状态和估计的不确定性。

数学表示

假设系统的状态是一个向量 ( x) ,动态模型可以表示为:

( x k = F k x k − 1 + B k u k + w k x_{k} = F_{k} x_{k-1} + B_{k} u_{k} + w_{k} xk=Fkxk1+Bkuk+wk )

其中,( x k x_{k} xk )是当前状态,( F k F_{k} Fk )是状态转移矩阵,( B k B_{k} Bk )是控制输入矩阵,( u _ k u\_{k} u_k )
是控制向量,( w k w_{k} wk ) 是过程噪声。

观测模型可以表示为:

( z k = H k x k + v k z_{k} = H_{k} x_{k} + v_{k} zk=Hkxk+vk )

其中,( z k z_{k} zk )是观测量,( H k H_{k} Hk) 是观测矩阵,( v k v_{k} vk )
是观测噪声。

应用领域

  • 航空航天:用于飞行器的导航和轨迹估计。
  • 汽车:用于车辆定位系统和自动驾驶。
  • 机器人:用于路径规划和位置估计。
  • 经济学:用于估计经济指标和市场趋势。

扩展

  • 扩展卡尔曼滤波器(EKF):适用于非线性系统,通过在每个时刻对系统进行线性化处理。
  • 无迹卡尔曼滤波器(UKF):用于处理更强的非线性,使用一组精心选择的样本点(称为sigma点)来近似分布。

总结

卡尔曼滤波器是一种强大的工具,适用于各种需要估计动态系统状态的场景。它的主要优点是能够处理噪声和不确定性,同时提供实时更新的能力。随着技术的发展,卡尔曼滤波器及其变体在现代工程和科学中的应用越来越广泛。

滤波

滤波是信号处理中的一个基本概念,其目的是从含有干扰的信号中提取所需信息或减少干扰。滤波器可以是模拟或数字的,用于处理各种类型的信号,如音频、视频、电力和无线电频率信号。

类型

  1. 低通滤波器(LPF):只允许低于某个截止频率的信号通过。
  2. 高通滤波器(HPF):只允许高于某个截止频率的信号通过。
  3. 带通滤波器(BPF):只允许在特定频率范围内的信号通过。
  4. 带阻滤波器(BSF):阻止特定频率范围内的信号通过。

滤波器的实现

  1. 模拟滤波器:使用电阻、电容、电感等元件实现。例如,RC(电阻-电容)电路可以构成一个简单的低通滤波器。
  2. 数字滤波器:通过数字信号处理技术实现,可以设计更精确、更灵活的滤波器。数字滤波器通过算法对数字化信号进行处理,如FIR(有限冲击响应)和IIR(无限冲击响应)滤波器。

应用

  1. 音频处理:在音响系统中,滤波器用于去除噪声或调整音频信号的特定频率。
  2. 图像处理:在数字图像处理中,滤波器用于去除图像噪声、锐化边缘或进行模糊处理。
  3. 无线通信:在无线电通信中,滤波器用于隔离或增强特定的信号频率。
  4. 电源管理:在电源系统中,滤波器用于减少电源线上的噪声和干扰。

重要概念

  • 截止频率:滤波器性能改变的频率点,通常是信号被显著衰减的点。
  • 带宽:特别是对于带通和带阻滤波器,带宽是滤波器允许通过的频率范围。
  • 阻尼:滤波器减少信号强度的程度。
  • 相位变化:信号通过滤波器时,其相位可能发生变化。

总结

滤波是一个复杂但极其重要的领域,它涉及到信号处理的许多基础和高级概念。不同类型的滤波器和它们的应用场景广泛,覆盖从日常电子产品到专业级通信系统。通过理解和应用滤波技术,可以显著改善信号的质量和性能。

适用系统:线性高斯系统

线性高斯系统是一种在控制理论和信号处理领域中常见的系统模型,它结合了线性动态系统的特性和高斯(正态)分布的噪声模型。这种系统的基本特性在于系统的动态(即状态的演变)和观测(即如何从状态中获取测量值)都是线性的,同时在这些过程中加入的噪声遵循高斯分布。

线性动态系统

[ x k + 1 = A x k + B u k + w k x_{k+1} = Ax_k + Bu_k + w_k xk+1=Axk+Buk+wk ]

其中:

  • ( x_k ):在时间点 ( k ) 的系统状态。
  • ( A ):状态转移矩阵,描述状态如何从一个时间点转移到下一个时间点。
  • ( B B B ):控制输入矩阵,将控制动作 ( u k u_k uk ) 影响纳入模型。
  • ( u k u_k uk ):在时间点 ( k k k ) 的控制输入。
  • ( w k w_k wk ):过程噪声,假设遵循均值为0的高斯分布。

观测模型

观测模型描述了如何从系统状态中得到可观测的测量值。如果用 $ z_k $ 表示在时间点 k k k 的观测值,观测模型可以表示为:

z k = H x k + v k z_k = Hx_k + v_k zk=Hxk+vk

  • H H H:观测矩阵,描述状态如何映射到观测值。
  • v k v_k vk:观测噪声,也假设遵循均值为0的高斯分布。

高斯噪声

在线性高斯系统中,噪声 w k w_k wk v k v_k vk 都假设为高斯分布。这意味着它们的分布可以用均值和协方差来完全描述。高斯分布的这一特性使得涉及这些噪声的计算变得相对简单,尤其是在涉及预测和滤波的情况下。

应用

线性高斯系统模型在许多领域都有应用,例如:

  • 控制系统:用于设计飞机、汽车或其他复杂系统的控制器。
  • 信号处理:用于处理和估计受到高斯噪声影响的信号。
  • 经济学模型:用于预测和分析经济指标的变化。

重要性

线性高斯系统之所以重要,是因为它提供了一个既简单又强大的框架来描述和处理现实世界中的许多系统和过程。尽管现实世界的许多系统都是非线性的,线性高斯模型仍然是一个有用的近似,尤其是在系统状态变化不大的情况下。此外,对于非线性系统,线性高斯模型常常作为更复杂模型的起点。

线性

"线性"是一个在数学、物理学、工程学和经济学等众多领域中极为重要的概念。它描述了一种简单而直接的关系,无论是在函数、方程还是系统的行为中。理解线性的概念有助于深入理解各种科学和工程问题。

线性的基本定义

  1. 线性函数:最简单的线性形式是线性函数,其一般形式为 f ( x ) = a x + b f(x) = ax + b f(x)=ax+b,其中 a a a b b b 是常数。这种函数在图形上表示为直线。如果 b = 0 b = 0 b=0,函数通过原点,这种特殊情况称为齐次线性函数。

  2. 线性方程:线性方程是指方程两边的每一项都是一次的(即变量的指数为1)。例如, 2 x + 3 y = 6 2x + 3y = 6 2x+3y=6 是一个线性方程。

  3. 线性系统:在工程和物理中,一个系统如果对于输入的响应是线性的,那么该系统被称为线性系统。这意味着系统的输出是输入的线性函数,并且遵循叠加原理和比例原理。

    • 叠加原理:如果输入信号的线性组合导致输出信号的同样的线性组合,系统就满足叠加原理。
    • 比例原理:如果输入信号乘以一个常数因子导致输出信号同样乘以这个因子,系统就满足比例原理。

线性代数

线性代数是一门研究向量空间和线性映射(包括线性方程组和矩阵运算)的数学分支。在这个领域中,"线性"指的是这样的映射或变换:它们保持向量加法和标量乘法的操作不变。

非线性

与线性相对的是非线性。在非线性系统或方程中,输出不与输入成正比,且不满足叠加原理。非线性系统在现实世界中非常普遍,常常更难以分析和解决。

应用

线性概念在许多领域都有广泛应用:

  • 物理学:在力学、光学、电磁学等领域,线性方程经常被用来简化问题,使其更易于解决。
  • 经济学:在微观经济学和宏观经济学中,线性模型被用来预测经济变量。
  • 工程学:在电子工程、控制理论和结构工程中,线性系统分析是解决实际问题的基本工具。

总结

线性是描述事物之间直接且成比例关系的一个基本概念。它在科学和工程的许多领域中都是一个基础和关键的概念,提供了一种简化和解析复杂现象的方式。虽然现实世界中很多系统和过程是非线性的,但线性模型和分析仍然是理解和近似这些复杂系统的重要工具。

叠加性

叠加性是物理学、工程学、数学和其他科学领域中的一个重要概念,尤其在线性系统理论中占有核心地位。叠加性指的是一个系统对于多个输入的响应,可以表示为对这些输入各自响应的总和。这个特性是线性系统的一个关键属性,对于理解和分析各种物理和工程问题至关重要。

定义

叠加性可以通过以下两个主要原理来描述:

  1. 线性叠加原理(Linear Superposition Principle):如果一个系统是线性的,那么当系统同时受到多个独立输入的作用时,其总体响应等于对每个单独输入响应的总和。数学上,如果 f ( x ) f(x) f(x) g ( x ) g(x) g(x) 是系统对两个不同输入 x x x 的响应,则系统对这两个输入的组合 a x + b y ax + by ax+by(其中 a a a b b b 是常数)的响应是 a f ( x ) + b g ( y ) af(x) + bg(y) af(x)+bg(y)

  2. 叠加原理:更一般地,在非线性系统中,叠加原理可能不完全适用,但在某些情况下,系统的响应仍然可以通过输入的某种形式的叠加来近似。

应用

叠加性在许多科学和工程领域中都有广泛的应用:

  • 电子学:在电路分析中,线性电路的输出可以看作是每个独立输入源的输出之和。
  • 力学:在结构力学中,材料的应力响应可以视为各个力作用点上的应力的叠加。
  • 声学:声波的总压力波形是单个声源产生的压力波形的总和。
  • 波动理论:在光学和电磁学中,波的叠加可以形成干涉和衍射模式。

重要性

叠加性的重要性在于它为分析和设计复杂系统提供了一种强大的工具。通过将复杂的输入或作用分解为简单的部分,并独立地分析这些部分,可以更容易地理解系统的总体行为。然而,需要注意的是,这一原理只适用于线性或近似线性的系统。在非线性系统中,叠加原理可能不成立,这使得分析变得更加复杂。

总结

总的来说,叠加性是一个在许多科学和工程问题中都极其重要的概念。它在简化系统分析中发挥着关键作用,特别是在涉及到线性系统的情况下。然而,在应用叠加原理时,必须考虑系统的线性或非线性特性,以确保分析的准确性。

齐次性

齐次性(Homogeneity)是数学、物理学和工程学等领域中的一个重要概念,它描述了一个系统、方程或函数对于缩放(比例变化)的响应特性。在不同的背景下,齐次性可能有稍微不同的含义,但基本思想是相似的:一个齐次的对象在经过比例扩大或缩小后,其本质特性保持不变。

数学中的齐次性

在数学中,特别是在代数和微积分中,齐次性通常指的是函数或方程对于输入缩放的行为。

  • 齐次函数:一个函数 f ( x ) f(x) f(x) 是齐次的,如果对于所有的标量 α \alpha α 和所有的向量 x x x,它满足 f ( α x ) = α n f ( x ) f(\alpha x) = \alpha^n f(x) f(αx)=αnf(x),其中 n n n 是一个固定的数,称为齐次度。例如, f ( x , y ) = x 2 + x y + y 2 f(x, y) = x^2 + xy + y^2 f(x,y)=x2+xy+y2 是一个二次齐次函数,因为 f ( α x , α y ) = α 2 ( x 2 + x y + y 2 ) f(\alpha x, \alpha y) = \alpha^2 (x^2 + xy + y^2) f(αx,αy)=α2(x2+xy+y2)

  • 齐次方程:一个方程是齐次的,如果它只包含变量的相同次数的项。例如, a x 2 + b x y + c y 2 = 0 ax^2 + bxy + cy^2 = 0 ax2+bxy+cy2=0 是一个二次齐次方程。

物理学中的齐次性

在物理学中,齐次性经常与空间和时间的均匀性联系在一起。这里的齐次性通常指的是物理定律在空间或时间的不同区域中保持不变。

  • 空间齐次性:指的是在空间的不同位置,物理定律保持不变。例如,牛顿的运动定律在地球上的任何地点都是一样的。
  • 时间齐次性:指的是随着时间的推移,物理定律保持不变。例如,引力定律今天和一百年前是相同的。

工程学中的齐次性

在工程学中,特别是在控制系统和信号处理中,齐次性指的是一个系统对于输入的响应不依赖于特定的起始时间或位置。在这个背景下,一个线性齐次系统对于输入信号的响应与输入信号的时间或空间位置无关。

总结

齐次性是一个跨学科的概念,它描述了系统、方程或函数对于比例变化的响应。在数学中,它涉及到函数对于输入的缩放的行为;在物理学中,它涉及到物理定律在空间和时间上的不变性;而在工程学中,它通常与系统对于输入信号的时间或空间位置独立性相关。了解齐次性对于理解和分析各种科学和工程问题是非常重要的。

高斯(噪声满足正态分布)

高斯噪声

“高斯”一词通常与德国数学家和科学家卡尔·弗里德里希·高斯(Carl Friedrich Gauss)的名字相关联。在统计学和概率论中,当提到“高斯”特别是与噪声有关时,通常是指“高斯噪声”或“高斯分布”,即正态分布的一种特殊形式。

高斯噪声(正态分布噪声)
  1. 定义:高斯噪声是一种统计噪声,其幅度的分布遵循正态分布。这意味着噪声的值在其平均值(或均值)附近最为集中,并且随着远离均值的增加而指数级减少。

  2. 数学表达:高斯噪声可以用正态分布的概率密度函数表示:
    f ( x ∣ μ , σ ) = 1 σ 2 π e − 1 2 ( x − μ σ ) 2 f(x|\mu,\sigma) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2} \left(\frac{x-\mu}{\sigma}\right)^2} f(xμ,σ)=σ2π 1e21(σxμ)2
    其中 μ \mu μ 是均值, σ \sigma σ 是标准差。

  3. 特性

    • 对称性:高斯噪声的分布是关于其均值对称的。
    • 单峰性:分布有一个明显的峰值,位于均值 μ \mu μ
    • 均值、中位数和众数的一致性:在高斯分布中,这三个值是相同的。
应用

高斯噪声在自然科学和工程学领域有着广泛的应用:

  • 信号处理:在信号处理中,高斯噪声常被用来模拟环境噪声或系统内部的随机噪声。
  • 通信:在通信系统中,高斯噪声是分析信号传输和接收质量的一个重要因素。
  • 图像处理:在数字图像处理中,高斯噪声常用于模拟照相机传感器或传输过程中的噪声。
为什么使用高斯噪声

选择高斯噪声作为模型的原因在于它的数学特性和在现实世界中的普遍存在。许多自然和人造过程产生的噪声都可以用高斯模型来近似,这使得高斯噪声成为分析和设计系统时的一个实用和有效的工具。

总结

高斯噪声,即满足正态分布的噪声,是一个在多个领域中广泛应用的概念。它的重要性在于其数学上的特性和在现实世界中的普遍适用性。无论是在信号处理、通信还是图像处理等领域,高斯噪声都是理解和模拟随机噪声的一个关键工具。

正态分布

正态分布(又称高斯分布)是统计学和概率论中最重要的概率分布之一。它在自然科学、社会科学、工程学和许多其他领域都有广泛的应用。正态分布的图形呈现出著名的钟形曲线形状,它不仅描述了某些类型的数据的自然分布,还在统计推断中扮演着核心角色。

定义

正态分布是一个连续概率分布,由两个参数决定:均值 μ \mu μ和标准差 σ \sigma σ 。均值决定了分布的中心位置,标准差决定了分布的宽度,即数据的离散程度。

正态分布的概率密度函数(PDF)为:

f ( x ∣ μ , σ ) = 1 σ 2 π exp ⁡ ( − 1 2 ( x − μ σ ) 2 ) f(x|\mu,\sigma) = \frac{1}{\sigma \sqrt{2\pi}} \exp\left( -\frac{1}{2} \left(\frac{x-\mu}{\sigma}\right)^2 \right) f(xμ,σ)=σ2π 1exp(21(σxμ)2)

其中 x x x是变量, μ \mu μ 是均值, σ \sigma σ 是标准差, exp ⁡ \exp exp 表示自然指数函数。

特性
  1. 对称性:正态分布是关于其均值对称的,这意味着均值左侧和右侧的形状是镜像对称的。
  2. 单峰性:正态分布的图形有一个单一的峰值,位于均值 μ \mu μ
  3. 均值、中位数和众数相等:在正态分布中,这三个统计量是相同的,并且都等于 μ \mu μ
  4. 标准差:大约68%的数据值落在均值的一个标准差范围内 μ ± σ \mu \pm \sigma μ±σ ,大约95%的数据值落在两个标准差范围内 μ ± 2 σ \mu \pm 2\sigma μ±2σ ,而大约99.7%落在三个标准差范围内 μ ± 3 σ \mu \pm 3\sigma μ±3σ
应用

正态分布在许多领域中都有广泛应用:

  • 自然科学:测量误差通常假设为正态分布。
  • 社会科学:很多社会现象,如考试成绩、人的身高等,往往近似遵循正态分布。
  • 工程学:在信号处理和质量控制等领域,正态分布用于建模噪声和其他变量。
  • 金融:在金融模型中,资产价格的变动往往被假设为正态分布,尽管这种假设有时可能过于简化。
总结

正态分布是统计学中最基本和最重要的概率分布之一。它以其独特的钟形曲线、对称性和明确的数学属性而闻名。理解正态分布对于进行统计分析和数据解释是非常重要的。虽然许多现实世界的现象可能不会完全遵循正态分布,但它仍然是一个强大的工具,用于对各种数据进行建模和分析。

宏观意义:滤波即加权

卡尔曼滤波器(Kalman Filter)是一种广泛应用于信号处理和数据融合领域的算法,它以其创造者鲁道夫·卡尔曼(Rudolf Kalman)的名字命名。卡尔曼滤波的核心思想在于对信息进行有效的加权处理,以提炼出更准确、更可靠的数据。这种加权的过程,从宏观上看,可以视为一种“滤波”操作。

卡尔曼滤波的基本原理

卡尔曼滤波器通过两个基本步骤来处理数据:预测(Predict)和更新(Update)。

  1. 预测步骤:根据系统的先前状态和模型,预测当前状态。在这一步,滤波器会生成一个状态估计及其不确定性(协方差)的预测。

  2. 更新步骤:当新的观测数据可用时,滤波器会更新其状态估计。这一步包括计算卡尔曼增益(一种权重因子),它决定了预测和新观测之间的相对重要性。

加权的意义

在卡尔曼滤波中,"加权"是指在合成最终估计时给予不同来源的信息以不同的权重。这些权重反映了数据的可靠性和相关性。

  • 卡尔曼增益:这是一个关键的概念,它决定了在最终估计中对预测状态和新观测数据的信任程度。如果观测数据的不确定性较小(即信号噪声较低),滤波器会更加依赖这些新数据。反之,如果预测的准确性更高,滤波器会更多地依赖其预测。

宏观意义

从宏观角度看,卡尔曼滤波的过程实际上是一个动态的加权和调整过程,旨在实时融合各种信息源,以达到减少整体估计误差的目的。这一过程在处理具有噪声和不确定性的数据时尤为重要。

应用领域

卡尔曼滤波在许多领域中都有着广泛的应用,包括:

  • 航空航天:用于飞行器的导航和轨迹跟踪。
  • 汽车导航系统:结合GPS和内部传感器数据来提供更准确的位置估计。
  • 机器人学:用于机器人的定位和地图构建。
  • 经济学:用于时间序列数据的分析和预测。

总结

总体而言,卡尔曼滤波器的宏观意义在于它提供了一种有效的方法来加权和融合来自不同来源的信息,从而在存在噪声和不确定性的情况下提高数据的准确性和可靠性。这种方法在许多需要精确数据处理和实时估计的领域中都是非常宝贵的。

状态空间表达式

状态方程

x k = A k x k − 1 + B k u k + w k x_{k} = A_{k} x_{k-1} + B_{k} u_{k} + w_{k} xk=Akxk1+Bkuk+wk

其中, x k x_{k} xk是当前状态, A k A_{k} Ak是状态转移矩阵, B k B_{k} Bk是控制输入矩阵, u _ k u\_{k} u_k 是控制向量, w k w_{k} wk 是过程噪声。

状态方程用于表示如何从一个时刻的系统状态推断出下一个时刻的状态。让我们逐一解释这些组成部分,并通过一个实例来具体理解它们的含义。

各部分解释
  1. ( x k x_k xk ) - 当前状态

    • ( x k x_k xk ) 表示在第 ( k k k ) 个时间点的系统状态。状态可以包括诸如位置、速度、温度等各种物理量,取决于系统的具体类型。
  2. ( A k A_k Ak ) - 状态转移矩阵

    • ( A k A_k Ak ) 描述了状态如何随时间演变。它定义了从时刻 ( k − 1 k-1 k1 ) 到 ( k k k ) 状态如何转换。状态转移矩阵通常取决于系统的动态特性。
  3. ( B k B_k Bk ) - 控制输入矩阵

    • ( B k B_k Bk ) 用于表示外部控制输入如何影响系统状态。这可能包括驱动力、控制信号或任何外部操作。
  4. ( u k u_k uk ) - 控制向量

    • ( u k u_k uk ) 表示在第 ( k k k ) 个时间点施加在系统上的外部控制。这可能是一个力、电信号或任何其他形式的控制输入。
  5. ( w k w_k wk ) - 过程噪声

    • ( w k w_k wk) 表示在状态转换过程中的随机扰动或噪声。这反映了现实世界中的不确定性和任何无法预测的变化。
实例

假设我们有一个简单的移动机器人,我们想要建模其位置随时间的变化。

  • 状态 ( x k x_k xk):假设机器人在一维空间中移动,其状态可以简单地表示为其位置 ( p k p_k pk )。

  • 状态转移 ( A k A_k Ak):如果我们假设机器人以恒定速度移动,则状态转移矩阵可以是 ( A k = 1 A_k = 1 Ak=1 ),表示位置在每个时间步上的增加是一致的。

  • 控制输入 ( B k B_k Bk) 和 ( u k u_k uk ):如果我们可以通过某种控制信号来加速或减速机器人,( B k B_k Bk ) 可能是一个缩放因子,而 ( u k u_k uk ) 是加速或减速的量。

  • 过程噪声 ( w k w_k wk):这可以表示为机器人运动中的随机偏差,如轮子打滑或地面不平造成的偏移。

在每个时间步,我们可以使用状态方程 ( x k = A k x k − 1 + B k u k + w k x_k = A_k x_{k-1} + B_k u_k + w_k xk=Akxk1+Bkuk+wk ) 来更新机器人的预测位置。这个方程将过去的状态( x k − 1 x_{k-1} xk1 ),当前的控制输入( u k u_k uk),以及任何可能的随机偏差( w k w_k wk )结合起来,以估计当前的状态( x k x_k xk)。

观测方程

y k = C k x k + v k y_{k} = C_{k} x_{k} + v_{k} yk=Ckxk+vk

其中, y k y_{k} yk是观测量, C k C_{k} Ck 是观测矩阵, v k v_{k} vk 是观测噪声。

这段话描述的是观测方程,它在动态系统和信号处理中非常重要,特别是在状态估计和滤波问题中。观测方程描述了如何从系统的内部状态得到外部的可观测量。我们来逐一解释这些组成部分,并通过一个实例来理解它们的含义。

各部分解释
  1. ( y k y_k yk ) - 观测量

    • ( y k y_k yk ) 表示在第 ( k k k ) 个时间点的实际观测数据。这些数据是你能够从系统中直接测量到的,例如,传感器读数。
  2. ( C k C_k Ck ) - 观测矩阵

    • ( C k C_k Ck) 描述了系统状态与观测量之间的关系。它是一个映射,用于将系统的内部状态转换为外部的观测量。
  3. ( v k v_k vk) - 观测噪声

    • ( v k v_k vk ) 表示观测过程中的噪声或误差。这反映了实际测量中的不确定性,可能由传感器误差、环境干扰等引起。
实例

假设我们有一个温度监测系统,用于测量一个房间内的温度。

  • 状态 ( x k x_k xk):在这个例子中,系统的状态可以简单地表示为房间在时间点 ( k k k) 的温度 ( T k T_k Tk )。

  • 观测量 ( y k y_k yk ):假设我们使用一个温度传感器来测量房间温度。在时间点 ( k k k ),传感器给出的读数是我们的观测量 ( y k y_k yk )。

  • 观测矩阵 ( C k C_k Ck ):如果传感器直接测量温度,则观测矩阵可能是简单的标量值 1,表示观测值直接反映了状态变量。

  • 观测噪声 ( v k v_k vk ):这可能代表传感器的测量误差,如传感器精度不高或受到环境干扰影响。

在实际应用中,我们可能会得到传感器的读数 ( y k y_k yk),但由于观测噪声的存在,这个读数可能不完全准确。观测方程 ( y k = C k x k + v k y_k = C_k x_k + v_k yk=Ckxk+vk) 就是用来描述这一过程的,它将系统的真实状态 ( x k x_k xk) 与实际观测到的数据 ( y k y_k yk) 之间的关系建立起来。通过这个方程,我们可以更好地理解观测数据与系统实际状态之间的关系,并在必要时进行适当的滤波和状态估计。

卡尔曼滤波基本原理详解_第1张图片

这张图是一个动态系统的状态空间表示模型的图解,它展示了状态方程和观测方程在一个离散时间系统中的应用。

图中的各个组成部分:

  1. ($ x_{k-1}$ ):这是系统在时间 ($ k-1$ ) 的状态。在动态系统中,状态可以是一组用于描述系统当前情况的变量,例如,机器人的位置和速度。

  2. ( A A A ):这是状态转移矩阵。它描述了系统如何从一个状态过渡到下一个状态,不考虑外部输入和噪声的影响。

  3. ( ⊕ \oplus ):这个符号通常表示加法操作。在这个上下文中,它表示系统状态的更新包括了由状态转移矩阵 ( A A A) 确定的确定性变化和随机的过程噪声 ( w k w_k wk )。

  4. ( x k x_k xk):这是系统在时间 ( k k k ) 的新状态,考虑了前一状态、控制输入以及过程噪声的影响。

  5. ( B B B):这是控制输入矩阵。它与控制向量 ( u k u_k uk ) 相乘,描述了控制输入如何影响系统状态。

  6. ( u k u_k uk):这是在时间 ( k k k ) 的控制输入。它可以是驱动力、加速度或其他任何形式的外部操作。

  7. ( w k w_k wk ):这是过程噪声,代表了在状态转换过程中的随机扰动或不确定性。

  8. ( C C C):这是观测矩阵。它描述了如何从系统状态得到观测输出,或者说它映射了系统状态到观测空间。

  9. ($ y_k$ ):这是在时间 ( k k k) 的观测输出。它是系统状态的函数,加上观测噪声 ( v k v_k vk)。

  10. ( v k v_k vk):这是观测噪声,代表了测量过程中的随机误差或不确定性。

如何理解图示

这个模型展示了从上一个状态 ( x k − 1 x_{k-1} xk1) 经过状态转移矩阵 ( A A A) 的作用,并加上控制输入 ( B B B ) 和 ( u k u_k uk ) 的影响,再加上过程噪声 ( w k w_k wk ),得到当前状态 ( x k x_k xk )。然后,当前状态 ( x k x_k xk) 通过观测矩阵 ( C C C ) 的作用,并加上观测噪声 ( v k v_k vk),最终产生观测输出 ( y k y_k yk)。

实际例子

假设我们正在考虑一个自动驾驶汽车的简化模型:

  • ( x k − 1 x_{k-1} xk1):前一时刻车辆的位置和速度。
  • ( A A A ):描述车辆的运动,比如根据物理学中的运动定律。
  • ( B B B )( u k u_k uk):代表对汽车施加的加速度,例如油门踏板的压力。
  • ( w k w_k wk ):代表无法预测的因素,如道路摩擦或风的影响。
  • ( C C C):可能是一个简单的单位矩阵,如果我们直接测量位置和速度。
  • ( y k y_k yk):是传感器读取的位置和速度。
  • ( v k v_k vk):代表传感器误差,如GPS或速度计的不准确性。

高斯白噪声

高斯白噪声是一个重要的概念,特别是在信号处理、通信和控制系统领域。它描述了一种理想化的随机过程,具有两个关键特性:高斯概率分布和白噪声的频谱特性。

高斯概率分布

首先,“高斯”指的是概率分布的类型。高斯分布,也称为正态分布,是一个对称的钟形曲线,其数学表达式为:

[ p ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} p(x)=2πσ2 1e2σ2(xμ)2 ]

其中,( \mu ) 是均值,( \sigma ) 是标准差。高斯分布的关键特性是大多数值(大约68%)在均值周围的一个标准差范围内,而几乎所有值(大约99.7%)在均值周围的三个标准差范围内。

在高斯白噪声中,每一个时间点上的随机变量都服从高斯分布,而且每个变量都是独立的,这意味着任意两个时间点上的值之间没有相关性。

白噪声的频谱特性

“白噪声”指的是该噪声在所有频率上都具有均匀功率,就像白光包含所有可见光频率一样。在理想的白噪声中,频谱是平坦的,这意味着噪声在所有频率上都有相同的强度或功率密度。

结合高斯分布和白噪声

因此,当我们说高斯白噪声时,我们是指一个理想的随机过程,其中任意时刻的噪声样本都独立地从相同的高斯分布中抽取,且噪声在所有频率上都有相同的平均功率。

应用

高斯白噪声在许多实际应用中作为理想化或基准噪声模型出现:

  • 通信系统:在分析和设计通信系统时,经常假设背景噪声是高斯白噪声,因为这种噪声模型简化了数学处理。

  • 信号处理:在处理信号时,如在滤波器设计和系统识别中,高斯白噪声常被用作测试信号或模拟信号源。

  • 控制系统:在控制理论中,系统的干扰或不确定性有时被建模为高斯白噪声,以便分析系统的鲁棒性。

物理意义和现实世界

在物理世界中,完美的高斯白噪声是不存在的,因为所有真实的物理过程都有某种形式的频率依赖性或相关性。然而,这个模型作为一个近似,在很多情况下都是非常有用的。例如,电子设备中的热噪声接近高斯白噪声的特性,尤其是在特定的频率范围内。

方差

方差是统计学中衡量数据离散程度的一个重要概念。它是衡量随机变量或一组数值在其平均值(均值)周围分散或集中程度的量度。方差的数学定义和计算方式能够提供对数据波动大小的量化评估。

数学定义

如果有一个随机变量 ( X X X) 或一组数值 ( x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn ),它们的平均值是 ( μ \mu μ )(或样本均值 ( x ˉ \bar{x} xˉ )),那么方差 ( σ 2 \sigma^2 σ2 )(在样本统计中常用 ( s 2 s^2 s2 ) 表示)定义为:

[ σ 2 = E [ ( X − μ ) 2 \sigma^2 = E[(X - \mu)^2 σ2=E[(Xμ)2]

对于样本方差,计算公式为:

[ s 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar{x})^2 s2=n11i=1n(xixˉ)2 ]

这里,( E E E ) 表示期望值操作符,($ n$ ) 是样本大小,( x i x_i xi) 是单个观测值,( x ˉ \bar{x} xˉ ) 是样本均值。

计算步骤

为了计算一组数据的方差,你需要按照以下步骤进行:

  1. 计算平均值(均值)。
  2. 从每个数值中减去均值,得到偏差。
  3. 将每个偏差平方。
  4. 将所有平方和除以数值的总数(在样本统计中,除以 ( n − 1 n-1 n1),这称为Bessel’s correction)。

物理意义

方差的物理意义在于它告诉我们数据值相对于均值的波动情况。一个高方差意味着数据值在均值附近分散开来,而一个低方差意味着数据值紧密地聚集在均值周围。

应用

  • 风险评估:在金融中,方差被用来衡量资产回报的风险。
  • 质量控制:在工业生产中,方差用于判断产品的一致性。
  • 科学实验:评价测量结果的重复性和精确性。
  • 数据分析:在统计分析中,方差是分析数据波动性的基础。

与标准差的关系

方差的平方根称为标准差(( σ \sigma σ) 或 ( s s s )),它在统计学中的应用比方差更为广泛,因为标准差与原始数据具有相同的单位,更容易直观理解。

总结

方差是一个基本的统计量,它提供了关于数据集波动大小的有用信息。了解方差有助于我们理解数据的可靠性和预测的不确定性。在许多实际问题中,方差和标准差是衡量变异性和预测准确性的关键工具。

超参数

超参数是机器学习、统计建模和其他数学优化问题中的一个概念,它们是模型训练之前需要设置的参数。与模型参数不同,模型参数是在学习过程中通过数据自动学习和调整的,比如线性回归中的权重。而超参数是在开始学习过程之前设置的,它们控制着学习过程本身。

超参数的特点

  1. 不是直接从数据中学习得出:超参数不能通过传统的训练过程来学习,它们通常是通过先验知识、经验或实验来设定的。

  2. 影响模型的性能:超参数的设置会影响模型的学习能力和最终的性能。比如,它们可能控制模型的复杂度或学习算法的速度。

  3. 搜索和优化:选择合适的超参数通常需要使用网格搜索、随机搜索、贝叶斯优化等技术。

常见的超参数

  • 学习率:在许多基于梯度的学习算法中,学习率控制着模型在每次迭代中更新的幅度。
  • 正则化系数:在包含正则化的模型中,如岭回归或LASSO,正则化系数控制着正则化的强度,以防止过拟合。
  • 树的深度:在决策树和随机森林等算法中,树的深度决定了模型可以学习的决策规则的复杂性。
  • 批大小:在批量梯度下降或其变种中,批大小决定了每次迭代中用于计算梯度的数据样本数量。
  • 神经网络的层数和神经元数:在神经网络中,网络的深度(层数)和每层的宽度(神经元数)是重要的超参数。

超参数调整

超参数调整是模型开发过程中的一个重要步骤,因为合适的超参数可以显著提高模型的性能。通常,数据科学家会使用以下方法之一或结合使用来选择超参数:

  • 手动调整:基于经验和直觉来选择超参数。
  • 网格搜索:系统地遍历多种超参数组合来找到最佳解。
  • 随机搜索:随机选择超参数组合,通常比网格搜索更高效。
  • 贝叶斯优化:使用贝叶斯统计方法来选择超参数,能够在尝试更少的组合的情况下找到好的解。

超参数与模型参数的区别

  • 模型参数:是模型内部的配置变量,其值可以从数据估计或学习得到,如线性回归的系数。
  • 超参数:是在开始学习过程之前需要决定的配置,它们定义了模型结构或学习过程。

总结

超参数是机器学习中的重要概念,正确的超参数选择对于构建高效的模型至关重要。尽管超参数调整可能是一个时间消耗的过程,但它是优化模型性能和避免过拟合的关键步骤。通过结合领域知识、实验和调优策略,数据科学家可以找到最适合特定问题的超参数设置。

随机过程

随机过程(也称为随机过程)是一个数学概念,用于描述随着时间变化的随机或不确定现象。在随机过程中,随着时间的推移,系统的状态以不确定的方式变化,每一个特定时间点的状态都可以是一个随机变量,整个过程是这些随机变量的集合。

基本定义

随机过程可以定义为一个随机变量序列,这些随机变量被索引为通常解释为时间的参数。这个序列可以是离散的(例如,每天的股票价格)或连续的(例如,随时间变化的温度)。

随机过程的特性

  1. 随机性:随机过程的核心在于其结果不是确定的,而是具有某种随机性,这意味着即使在完全相同的条件下,过程的行为也可能不同。

  2. 动态性:随机过程随时间动态演变,而不是在一个静态状态。

  3. 概率分布:随机过程的每一个状态都可以通过一个概率分布来描述,而整个过程则可以通过联合分布来描述。

  4. 状态空间:随机过程可以在某个状态空间内演变,这个空间包括了所有可能的状态。

随机过程的类型

  • 离散时间随机过程:如果时间参数是离散的(例如,整数集),则称为离散时间随机过程,如马尔可夫链。

  • 连续时间随机过程:如果时间参数是连续的,例如实数线上的任意点,那么过程就是连续时间的,如布朗运动。

  • 离散状态空间:如果随机过程在有限或可数的状态空间中演变,它被称为离散状态空间随机过程。

  • 连续状态空间:如果随机过程在无限或不可数的状态空间中演变,它被称为连续状态空间随机过程。

实际应用

随机过程在科学和工程的许多领域中都有应用:

  • 金融:在金融数学中,资产价格被模型化为随机过程,例如在期权定价中的布莱克-舒尔斯模型。

  • 物理学:在物理学中,随机过程用来描述诸如布朗运动这样的自然现象。

  • 工程学:在电信领域,信号通常被视为随机过程,噪声也是如此。

  • 生物学:在生物学和生态学中,种群的动态和扩散过程可以用随机过程来建模。

总结

随机过程是对随时间变化的随机现象的数学描述。它通过概率论的工具来捕捉和分析在许多现实世界系统中出现的不确定性。随机过程模型的构建和分析是现代概率论和统计学中的一个重要领域,对于预测和管理不确定性具有重要意义。

随机变量

随机变量是一个数学概念,用于量化随机现象的结果。它将一个随机过程的结果映射到一个具体的数值上,使得我们可以用数学工具来分析随机现象。

随机变量大致分为两类:

  1. 离散随机变量:这类变量的取值是可数的,通常是整数。例如,掷骰子的结果就是一个离散随机变量,因为它只能取1到6这六个整数值。

  2. 连续随机变量:这类变量可以取某个区间或整个实数线上的任意值。例如,一个人的身高就是一个连续随机变量,因为它可以取任意的正实数值。

随机变量通常用大写字母表示(例如 ( X , Y , Z X, Y, Z X,Y,Z)),而其具体的取值用对应的小写字母表示(例如 ( x , y , z x, y, z x,y,z))。

随机变量的分布

随机变量的可能取值及其发生的概率由概率分布描述。

  • 对于离散随机变量,其概率分布可以用概率质量函数(probability mass function, PMF)来描述,记为 ( P ( X = x ) P(X = x) P(X=x)),表示随机变量 ( X X X) 取特定值 ( x x x) 的概率。

  • 对于连续随机变量,其概率分布是用概率密度函数(probability density function, PDF)来描述的。PDF 不直接描述随机变量取某一具体值的概率,因为对于连续随机变量来说,取任何具体值的概率都是零。相反,PDF ( f ( x ) f(x) f(x)) 描述的是随机变量在某一区间内取值的概率密度,实际的概率是通过对PDF在某个区间上积分来获得的。

期望值和方差

两个重要的统计量用于描述随机变量的特性:

  1. 期望值(Expected Value):又称为均值,是随机变量可能取值的加权平均,其中每个值的权重是其发生的概率。对于离散随机变量,期望值是 ( ∑ x P ( X = x ) \sum x P(X = x) xP(X=x) ),对于连续随机变量,期望值是 ( $\int x f(x) dx $)。

  2. 方差(Variance):衡量随机变量取值的波动程度,即其分布的离散程度。方差的计算公式是 ( Var ( X ) = E [ ( X − E [ X ] ) 2 ] \text{Var}(X) = E[(X - E[X])^2] Var(X)=E[(XE[X])2]),即随机变量取值与其期望值差的平方的期望值。

随机变量是概率论和统计学中的基础概念,对于理解和处理不确定性至关重要。在实际应用中,我们通常会遇到多个随机变量的组合,此时它们的联合分布、协方差、相关系数等统计量就变得非常重要。在卡尔曼滤波器中,状态向量就可以被视为一个多维随机变量,其分布情况通过协方差矩阵进行表达。

二维协方差

二维协方差是统计学中用于衡量两个随机变量联合变异性的度量。当你有一对随机变量时,比如 ( X ) 和 ( Y ),它们各自有自己的波动(变异性),协方差描述了这两个变量波动之间的关系。

数学定义

对于随机变量 ( X ) 和 ( Y ),它们的协方差定义为:

Cov ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] \text{Cov}(X, Y) = E\left[(X - E[X])(Y - E[Y])\right] Cov(X,Y)=E[(XE[X])(YE[Y])]

其中,( E [ X ] E[X] E[X]) 是随机变量 ( X X X) 的期望值(均值),( E [ Y ] E[Y] E[Y] ) 是随机变量 ( Y Y Y ) 的期望值,( E E E ) 表示期望值操作。

直观理解

  • 当两个变量正相关时,它们的协方差是正数。这意味着如果一个变量高于其平均值,另一个变量通常也高于其平均值。
  • 当两个变量负相关时,它们的协方差是负数。这意味着如果一个变量高于其平均值,另一个变量通常低于其平均值。
  • 如果两个变量独立或不相关,它们的协方差接近零。这意味着一个变量的波动不会系统性地影响另一个变量。

计算样本协方差

在实际应用中,我们通常有一组观测数据,而非整个总体。给定 ( n n n) 对观测值 ( ( x i , y i ) (x_i, y_i) (xi,yi)),样本协方差计算公式为:

[ s x y = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) s_{xy} = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y}) sxy=n11i=1n(xixˉ)(yiyˉ) ]

其中,( x ˉ \bar{x} xˉ) 和 ( y ˉ \bar{y} yˉ) 分别是 ( X X X) 和 ( Y Y Y ) 观测值的样本均值。

二维协方差的应用

  • 数据分析:在多变量数据分析中,协方差是衡量变量之间关系强度的一种方式。
  • 金融:在投资组合理论中,不同资产的协方差用于计算资产组合的风险。
  • 机器学习:在特征选择中,协方差可以用来识别和去除冗余特征。

协方差与相关系数

协方差的一个局限是它不是标准化的,这意味着它的值可能难以直接解释。为了克服这个问题,通常使用相关系数来衡量变量之间的关系强度,它是协方差除以两个变量标准差的乘积:

[ ρ X , Y = Cov ( X , Y ) σ X σ Y \rho_{X,Y} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} ρX,Y=σXσYCov(X,Y)]

相关系数的取值范围是 [-1, 1],它提供了变量之间线性关系强度和方向的度量。

总结

二维协方差是一个描述两个变量之间线性关系的统计度量。它是理解变量如何共同变化的有用工具,并且是相关系数的基础,后者用于衡量变量之间的相关性强度。在数据分析和统计建模中,协方差和相关性是分析多维数据集中变量之间关系的基本工具。

最优估计值

最优估计值是统计学和信号处理中的一个概念,用于指在给定的信息和条件下对未知量的最佳猜测。在这里,“最佳”通常是根据某种性能标准或准则定义的,例如最小化估计误差的平均值或方差。

最优估计的准则

最优估计值的选择通常依赖于以下几种准则之一:

  1. 最小均方误差(MSE):最常用的准则是最小化估计值与真实值之间差的平方的期望值,即 ( E [ ( X ^ − X ) 2 ] E[(\hat{X} - X)^2] E[(X^X)2] ),其中 ( X ^ \hat{X} X^ ) 是估计值,( X X X ) 是真实值。

  2. 最大似然估计(MLE):在概率模型中,最大似然估计选择能够使观测数据出现概率最大的参数值。

  3. 贝叶斯估计:在贝叶斯框架中,最优估计值是基于后验分布计算的,可以是后验分布的均值(贝叶斯估计)或最大后验概率估计(MAP估计)。

  4. 最小化最大误差(Minimax):在对最坏情况进行优化的准则下,选择最小化最大可能误差的估计值。

估计的类型

  • 点估计:提供一个单一值作为未知参数的最优猜测。
  • 区间估计:提供一个范围,认为这个范围内包含未知参数的概率很高。

最优估计值的性质

  1. 无偏性:如果估计值的期望等于真实参数值,那么这个估计就是无偏的。

  2. 一致性:如果随着样本量的增加,估计值越来越接近真实参数值,那么这个估计就是一致的。

  3. 有效性:在所有无偏估计中,如果一个估计的方差最小,那么它就是有效的。

实际应用

最优估计在多个领域有广泛应用,包括:

  • 工程:在信号处理中,最优估计用于从噪声数据中恢复信号。

  • 经济学:在计量经济学中,用来估计模型参数,如回归分析中的系数。

  • 医学:在临床试验中,估计新药物或治疗的效果。

  • 物理科学:在实验物理中,估计物理常数或测量值。

总结

最优估计值是对未知量的最佳推断,通常在某种意义上最小化误差或最大化概率。选择最优估计值的方法取决于具体的应用、可用信息以及估计准则。通过合理选择估计准则和方法,可以确保估计值在统计学意义上尽可能接近真实值。

先验估计值

在统计学和贝叶斯推断中,先验估计值(Prior Estimate)是在观测数据被考虑之前,关于未知参数的估计。它基于先验知识或者信念,这些知识可能来自于以往的经验、历史数据、专家意见或者其他信息源。

先验的角色

先验估计值在贝叶斯统计学中扮演着核心角色,它代表了在观测数据分析前对于参数的信念或者知识的量化。先验可以是:

  • 非信息性先验:当没有足够的先验信息时,可以使用非信息性先验,这种先验旨在对参数估计产生最小的影响。
  • 信息性先验:如果有关于参数的先前知识,可以使用信息性先验来反映这些知识。

先验估计的形式

先验估计通常表示为概率分布,这个分布描述了在观测数据获得前,参数可能的值及其相应的概率。这个分布可以是:

  • 离散分布:如果参数是离散变量。
  • 连续分布:如果参数是连续变量。

例如,如果我们相信某个参数的值大约在某个范围内,但不确定具体位置,我们可以选择一个均匀分布作为先验。或者,如果我们相信参数服从某个特定的平均值,我们可能会选择正态分布作为先验。

先验估计值的使用

在贝叶斯分析中,先验估计值与观测数据结合使用,通过贝叶斯定理更新为后验估计。后验估计值结合了先验估计和新的观测信息,提供了对参数的更新估计。

贝叶斯定理的形式为:

[ P ( θ ∣ data ) = P ( data ∣ θ ) ⋅ P ( θ ) P ( data ) P(\theta | \text{data}) = \frac{P(\text{data} | \theta) \cdot P(\theta)}{P(\text{data})} P(θdata)=P(data)P(dataθ)P(θ)]

  • ( P ( θ ∣ data ) P(\theta | \text{data}) P(θdata) ) 是后验概率分布,即考虑了数据后对参数 ( θ \theta θ ) 的估计。
  • ( P ( data ∣ θ ) P(\text{data} | \theta) P(dataθ)) 是似然函数,它表示了在给定参数 ( θ \theta θ ) 的情况下,观测到现有数据的概率。
  • ( P ( θ ) P(\theta) P(θ) ) 是先验概率分布,即在观测数据之前对参数 ( θ \theta θ) 的估计。
  • ( P ( data ) P(\text{data}) P(data) ) 是数据的边际概率,也称为证据因子,它确保后验概率是合适的概率分布。

先验估计值的争议

在统计学中,先验估计值的使用有时会引发争议,特别是在频率学派和贝叶斯学派之间。频率学派通常依赖于数据本身而不使用先验知识,而贝叶斯学派则认为先验是理解不确定性和进行推断的重要组成部分。

总结

先验估计值是贝叶斯推断中的一个基本概念,它代表了在考虑数据之前对未知参数的信念或知识的量化。先验估计值在与观测数据结合时发挥作用,形成对参数的后验估计。通过选择适当的先验,可以将先前的知识有效地融入分析过程,从而在统计模型和决策过程中得到更全面的视角。

卡尔曼滤波基本原理详解_第2张图片

这张图展示的是一个用于状态估计的概率分布的序列,它描绘了在离散时间点上进行状态估计的过程,这在卡尔曼滤波算法中非常常见。图中的概率分布用来估计一个动态系统的“位置”(Position),可能是物理位置或者某个参数的值。我们可以按照从左到右的顺序解释图中的各个部分:

  1. 先验估计
  • 最左边的黑色曲线表示时间 ( k-1 ) 的状态估计(Prior Estimate),也就是在时间 ( k ) 的观测之前,我们对系统状态的估计。这通常基于系统的先前状态和系统模型进行预测。
  1. 预测的更新(修正预测)
  • 紧随其后的黄色曲线表示在时间 ( k ) 的预测估计(Predicted Estimate),这个预测考虑了从 ( k-1 ) 到 ( k ) 的状态转移,但还没有包含任何新的观测信息。
  1. 测量值
  • 接下来的红色垂直线表示在时间 ( k ) 的实际观测值(Measurement),它是从系统中获得的新信息。
  1. 修正的预测与测量的结合
  • 紫色曲线是考虑观测值之后的更新估计(Updated Estimate),也称为后验估计。这个估计是根据预测估计和新的观测值结合得到的,通常是通过加权平均的方式,在卡尔曼滤波中是通过计算卡尔曼增益来进行的。
  1. 修正后的最终估计
  • 图中没有明确标出,但最终的估计应该是紫色曲线的峰值所在位置,它代表了在当前时间点上,基于所有可用信息的最佳状态估计。

整个过程反映了在动态系统中对状态进行估计和更新的连续过程,其中每个新的观测都用来修正和提高状态估计的准确性。这个过程是动态的,因为每一次观测和每一个时间步骤都可能改变状态估计。在实际应用中,这个过程可以帮助我们更好地跟踪和预测系统的行为,例如在目标跟踪、导航和控制系统中。

先验估计值和最优估计值的区别

在卡尔曼滤波器的上下文中,"最优估计值"和"先验估计值"是两个关键的概念,它们的符号表示有特定的含义:

  1. 先验估计值(Prior Estimate):

    • 表示为 ( x ^ t − \hat{x}_{t}^- x^t)。
    • 这是在获得新的测量信息之前,基于模型预测得到的估计值。
    • 它是基于上一时刻的最优估计值 ( x ^ t − 1 \hat{x}_{t-1} x^t1 ) 和过程模型进行的预测。
    • 称为"先验"是因为它不包括当前时刻的测量信息,只基于先前的知识。
    • 在图中,它是通过状态转移矩阵 ( F t F_{t} Ft) 和控制输入 ( B t u t − 1 B_{t}u_{t-1} Btut1) 来预测的。
  2. 最优估计值(Posterior Estimate):

    • 表示为 ( x ^ t \hat{x}_{t} x^t )。
    • 这是在考虑了当前时刻的测量信息 ( z t z_{t} zt ) 后更新的估计值。
    • 它是结合了先验估计值 ( x ^ t − \hat{x}_{t}^- x^t) 和新的测量信息,通过卡尔曼增益 ( K t K_{t} Kt ) 来加权这两者的结果。
    • 称为"最优"是因为它结合了所有可用信息(模型预测和新的测量数据)来提供当前时刻状态的最佳估计。
    • 在图中,它是由先验估计值和通过卡尔曼增益加权的测量残差 ( z t − H t x ^ t − z_{t} - H_{t}\hat{x}_{t}^- ztHtx^t) 相加得到的。

在符号表示上,加减号( − ^- )通常用来区分先验估计值和最优估计值。没有加减号的 ( x ^ t \hat{x}_{t} x^t) 表示在考虑了新的测量信息后的最优估计值,而带有加减号的 ( x ^ t − \hat{x}_{t}^- x^t ) 表示没有考虑新的测量信息的先验估计值。

这些估计值的计算是卡尔曼滤波器迭代过程的核心,通过预测和更新步骤不断优化系统的状态估计。

卡尔曼公式

  • 实现过程:使用上一次的最优结果预测当前的值,同时使用观测修正当前的值,得到最优结果。

卡尔曼滤波基本原理详解_第3张图片

这张图展示了卡尔曼滤波的关键方程,分为两部分:预测(时间更新)和更新(测量更新)。以下是每个方程的详细解释:

预测(时间更新)部分:

  1. 状态预测 ( x ^ t − \hat{x}_{t}^- x^t ):当前时刻先验估计值
    ( x ^ t − = F t x ^ t − 1 + B t u t − 1 \hat{x}_{t}^- = F_{t}\hat{x}_{t-1} + B_{t}u_{t-1} x^t=Ftx^t1+Btut1 )

    • ( x ^ t − \hat{x}_{t}^- x^t) 是在时间步 ( t ) 的状态预测。
    • ( F t F_{t} Ft) 是状态转移矩阵,用于预测下一个状态。
    • ( x ^ t − 1 \hat{x}_{t-1} x^t1) 是上一个时间步 ( t − 1 t-1 t1 ) 的状态估计。上一时刻最优估计值
    • ( B t B_{t} Bt) 是控制输入矩阵,用于将控制输入 ( u t − 1 u_{t-1} ut1) 的影响加入到状态预测中。
  2. 误差协方差预测 ( P t − P_{t}^- Pt):当前时刻先验估计协方差
    ( P t − = F t P t − 1 F t T + Q P_{t}^- = F_{t}P_{t-1}F_{t}^T + Q Pt=FtPt1FtT+Q )

    • ( P t − P_{t}^- Pt ) 是预测状态估计的误差协方差。
    • ( P t − 1 P_{t-1} Pt1 ) 是上一个时间步的误差协方差。上一时刻最优古估计协方差
    • ( Q Q Q ) 是过程噪声协方差矩阵,它表示模型中未捕获的随机变动。

更新(测量更新)部分:

  1. 卡尔曼增益 ( K t K_{t} Kt ):(与Q和R都有关) 更新卡尔曼增益
    ( K t = P t − H t T ( H t P t − H t T + R ) − 1 K_{t} = P_{t}^- H_{t}^T (H_{t}P_{t}^- H_{t}^T + R)^{-1} Kt=PtHtT(HtPtHtT+R)1 ) 权重

    • ( K t K_{t} Kt) 是卡尔曼增益,它决定了测量更新对状态估计的影响程度
    • ( H t H_{t} Ht) 是观测矩阵,用于将状态空间转换为测量空间。
    • ( R R R ) 是测量噪声协方差矩阵,表示测量中的随机误差。
  2. 状态估计更新 ( x ^ t \hat{x}_{t} x^t):当前时刻最优估计值 修正估计
    ( x ^ t = x ^ t − + K t ( z t − H t x ^ t − ) \hat{x}_{t} = \hat{x}_{t}^- + K_{t}(z_{t} - H_{t}\hat{x}_{t}^-) x^t=x^t+Kt(ztHtx^t)) 估计值和观测值的融合得到最优估计值

    • ( x ^ t \hat{x}_{t} x^t ) 是考虑最新测量信息后的状态估计。
    • ( z t z_{t} zt ) 是在时间步 ( t t t ) 的实际测量值。观测值
    • ( H t x ^ t − H_{t}\hat{x}_{t}^- Htx^t ) 是将状态预测转换为测量空间的结果,用于与实际测量值进行比较。
  3. 误差协方差更新 ( P t P_{t} Pt ):当前时刻最优估计协方差 更新后验估计协方差
    ( P t = ( I − K t H t ) P t − P_{t} = (I - K_{t}H_{t})P_{t}^- Pt=(IKtHt)Pt) 融合了观测值

    • ( P t P_{t} Pt ) 是更新后的误差协方差。
    • ( I I I ) 是单位矩阵,其维数与状态空间的维数相同。

在实际应用中,卡尔曼滤波器会在每个时间步重复这些预测和更新步骤,以便在考虑最新观测数据的同时,递归地优化状态估计。

  • 预测
  • 根据上一时刻最优估计值,得出当前时刻先验估计值(预测值)
    • x ^ t − = F t x ^ t − 1 + B t u t − 1 \hat{x}_{t}^- = F_{t}\hat{x}_{t-1} + B_{t}u_{t-1} x^t=Ftx^t1+Btut1
  • 根据上一时刻最优估计的协方差矩阵,得出当前时刻先验估计的协方差矩阵
    • P t − = F t P t − 1 F t T + Q P_{t}^- = F_{t}P_{t-1}F_{t}^T + Q Pt=FtPt1FtT+Q
  • 更新
  • 得出当前时刻卡尔曼增益
    • K t = P t − H t T ( H t P t − H t T + R ) − 1 K_{t} = P_{t}^- H_{t}^T (H_{t}P_{t}^- H_{t}^T + R)^{-1} Kt=PtHtT(HtPtHtT+R)1
  • 根据当前时刻先验估计值(预测值)和当前时刻的观测值(测量值)融合,得到当前时刻最优估计值(最终想要的值)
    • x ^ t = x ^ t − + K t ( z t − H t x ^ t − ) \hat{x}_{t} = \hat{x}_{t}^- + K_{t}(z_{t} - H_{t}\hat{x}_{t}^-) x^t=x^t+Kt(ztHtx^t)
  • 根据当前时刻先验估计的协方差矩阵得出当前时刻最优估计的协方差矩阵
    • P t = ( I − K t H t ) P t − P_{t} = (I - K_{t}H_{t})P_{t}^- Pt=(IKtHt)Pt
  • 循环往复,预测部分更新预测值之后,给到更新部分作修正,更新部分修正完之后,再给到预测部分作下一轮预测,如此循环。

调节超参数

Q Q Q R R R

这张图展示的是卡尔曼滤波器中误差协方差的预测和更新,以及卡尔曼增益的计算,最后是状态估计的更新。这些步骤是在给定过程噪声协方差 ( Q ) 和测量噪声协方差 ( R ) 的情况下进行的。

图中的公式可以分为几个部分进行解释:

预测步骤

  1. 误差协方差的预测 ( P t − P_{t}^- Pt ):
    [ P t − = F t P t − 1 − F t T + Q P_{t}^- = F_{t}P_{t-1}^-F_{t}^T + Q Pt=FtPt1FtT+Q]
    其中 ($ P_{t}^-$ ) 是在时刻 ( t t t) 的预测误差协方差,( F t F_{t} Ft ) 是状态转移矩阵,( P t − 1 − P_{t-1}^- Pt1 ) 是前一时刻的误差协方差,( Q Q Q ) 是过程噪声协方差。

更新步骤

  1. 卡尔曼增益 ( K K K ) 的计算简化:
    [ K = P t − H T H P t − H T + R K = \frac{P_{t}^- H^T}{H P_{t}^- H^T + R} K=HPtHT+RPtHT ]
    这里展示了卡尔曼增益 ( K K K ) 的计算方式,其中 ( H H H ) 是观测矩阵,( R R R ) 是测量噪声协方差。在这个简化的形式中,假设 ( H H H) 是单位矩阵,这样 ( H P t − H T H P_{t}^- H^T HPtHT ) 就简化为 ( P t − P_{t}^- Pt)。

  2. 状态估计的更新
    [ x ^ t = x ^ t − + K ( Z t − H x ^ t − ) \hat{x}_{t} = \hat{x}_{t}^- + K(Z_{t} - H \hat{x}_{t}^-) x^t=x^t+K(ZtHx^t) ]
    这里 ( x ^ t \hat{x}_{t} x^t ) 是更新后的状态估计,( x ^ t − \hat{x}_{t}^- x^t ) 是预测状态估计,( Z t Z_{t} Zt ) 是在时刻 ( t t t ) 的实际测量值。

在图中,作者还提到了简化假设:

  • 简化假设I:如果 ( H H H ) 是单位矩阵,那么卡尔曼增益 ( K K K ) 可以简化为 ( K = P t − 1 − + Q P t − 1 − + Q + R K = \frac{P_{t-1}^- + Q}{P_{t-1}^- + Q + R} K=Pt1+Q+RPt1+Q )。
  • 简化假设II:对于状态估计的更新,如果 ( H H H ) 是单位矩阵,那么更新公式可以简化为 ( x ^ t = x ^ t − + K ( z t − x ^ t − ) \hat{x}_{t} = \hat{x}_{t}^- + K(z_{t} - \hat{x}_{t}^-) x^t=x^t+K(ztx^t))。

这些简化假设通常用于当观测模型是直接的身份映射时,即系统的状态直接等于观测值加上一些噪声。在实际应用中,这种情况可能出现在一些简单的跟踪和估计问题中。通过这些简化,卡尔曼滤波器的计算会更加直观和容易执行。

这张图中显示的公式是卡尔曼滤波的关键方程,其中包含了两个非常重要的超参数:过程噪声协方差 ( Q ) 和测量噪声协方差 ( R )。这两个参数对滤波器的性能有显著影响,因为它们分别代表了系统模型和测量模型中的不确定性。下面是如何调节这两个超参数:

过程噪声协方差 ( Q Q Q ):
  • ( Q Q Q ) 参数代表了对系统过程中不确定性的信任程度。如果你认为模型对系统的预测非常准确,那么可以设置较小的 ( Q Q Q ) 值。反之,如果模型预测的不确定性较大,或者系统中存在许多未建模的动态,( Q Q Q ) 值应该较大。
  • 通常 ( Q Q Q ) 是一个正定矩阵,它的大小和结构取决于系统的具体情况。在实际应用中,( Q Q Q ) 可以通过经验或系统性能调试来确定。
  • 增加 ( Q Q Q ) 的值会使得卡尔曼滤波器更加注重最近的观测数据,因为它会减少对先前状态估计的信任度。
测量噪声协方差 ( R R R ):
  • ( R R R ) 参数代表了对测量噪声的信任程度。如果测量设备非常准确,测量误差小,那么 ($ R$ ) 可以设置为较小的值。如果测量数据非常嘈杂,应增加 ( R R R ) 的值。
  • ( R R R ) 通常也是一个正定矩阵,它的大小应该与测量噪声的实际统计特性相匹配。
  • 提高 ( R R R ) 的值会使得卡尔曼滤波器减少对新测量数据的依赖,而更多地信任模型预测。
调节过程

调节这两个参数通常是一个迭代过程,涉及以下步骤:

  1. 初始猜测:根据系统和测量设备的特性进行初步设定。
  2. 实验评估:在实际运行或模拟环境中评估卡尔曼滤波器的性能。
  3. 调整与优化
    • 如果滤波器对测量噪声的反应太敏感,表现为估计值波动较大,可能需要增大 ( Q ) 或减小 ( R )。
    • 如果滤波器对实际变化反应迟钝,可能需要减小 ( Q ) 或增大 ( R )。
  4. 性能评估:检查调整后的参数是否改善了估计的准确性和平滑性。

最终的目标是找到一个平衡点,使得卡尔曼滤波器能够提供既准确又平滑的状态估计。需要注意的是,过程噪声和测量噪声不应被过度估计,否则会导致过滤器性能下降。此外,这些参数可能需要随着外部条件或系统动态的变化而进行调整。

P 0 P_{0} P0 x ^ 0 \hat{x}_0 x^0

卡尔曼滤波基本原理详解_第4张图片

这两个值取值比较随意,因为后期经过几轮迭代之后就会趋于稳定值

  • x ^ 0 \hat{x}_0 x^0 习惯取0。
  • P 0 P_0 P0往小的取,方便收敛,一般取1,不可为0。

卡尔曼滤波的使用

  • 选择状态量、观测量
  • 构建方程
  • 初始化参数
  • 代入公式迭代
  • 调节超参数(Q、R)

这张图详细展示了卡尔曼滤波的基本步骤和相关数学表达。图中的内容包含了卡尔曼滤波器的两个主要部分:预测和更新。以下是各部分的解释:

系统模型

系统模型描述了如何从上一个状态预测当前状态,以及如何将当前的控制输入纳入模型中。

  • 状态转移方程:( X ( k ) = A X ( k − 1 ) + B U ( k ) + W ( k ) X(k) = AX(k-1) + BU(k) + W(k) X(k)=AX(k1)+BU(k)+W(k) )

    • ( X ( k ) X(k) X(k) ):当前状态。
    • ( A A A ):状态转移矩阵。
    • ( X ( k − 1 ) X(k-1) X(k1) ):上一个状态。
    • ( B B B ):控制输入矩阵。
    • ( U ( k ) U(k) U(k) ):当前的控制输入。
    • ( W ( k ) W(k) W(k) ):过程噪声。
  • 观测方程:( Z ( k ) = H X ( k ) + V ( k ) Z(k) = HX(k) + V(k) Z(k)=HX(k)+V(k) )

    • ( Z ( k ) Z(k) Z(k) ):当前观测值。
    • ( H H H ):观测矩阵。
    • ( V ( k ) V(k) V(k) ):观测噪声。

预测步骤

  1. 预测当前状态 ( X ( k ∣ k − 1 ) X(k|k-1) X(kk1) ):基于上一个状态和当前控制输入进行预测。
  2. 预测误差协方差 ( P ( k ∣ k − 1 ) P(k|k-1) P(kk1) ):通过状态转移矩阵和过程噪声协方差来预测当前的误差协方差。

更新步骤

  1. 观测残差 ( Z ( k ) − H X ( k ∣ k ) Z(k) - HX(k|k) Z(k)HX(kk) ):实际观测值与预测状态的差异。
  2. 计算卡尔曼增益 ( K g ( k ) Kg(k) Kg(k) ):用来衡量预测状态和观测残差之间的权衡。
  3. 更新状态估计 ( X ( k ∣ k ) X(k|k) X(kk) ):利用卡尔曼增益来更新状态。
  4. 更新误差协方差 ( P ( k ∣ k ) P(k|k) P(kk) ):反映更新状态估计后的不确定性。

图中的注释说明了每个步骤的目的和含义:

  • 红色标注“状态估计”指的是通过模型预测下一时刻的状态。
  • “误差协方差”表示估计误差的协方差,它随着时间推移而更新。
  • “观测残差”是实际观测值与根据模型预测的观测值之间的差异。
  • “卡尔曼增益”是一个关键的中间变量,用于在状态更新中平衡预测和测量。
  • “更新状态估计”利用卡尔曼增益和观测残差来校正预测状态。
  • “更新误差协方差”用于更新估计的精确度,降低未来的不确定性。

卡尔曼滤波器通过这些步骤迭代地优化状态估计,从而在存在噪声的情况下对系统进行有效的跟踪。

在卡尔曼滤波器中,预测和更新步骤可以通过一系列公式来具体表示。以下是这些步骤对应的公式:

预测步骤

  1. 预测当前状态 ( x ( k ∣ k − 1 ) x(k|k-1) x(kk1) ):
    [ x ( k ∣ k − 1 ) = A x ( k − 1 ∣ k − 1 ) + B u ( k ) x(k|k-1) = Ax(k-1|k-1) + Bu(k) x(kk1)=Ax(k1∣k1)+Bu(k) ]
  • 其中 ( x ( k − 1 ∣ k − 1 ) x(k-1|k-1) x(k1∣k1) ) 是上一个时刻的最优状态估计,( A A A ) 是状态转移矩阵,( B B B ) 是控制输入矩阵,( u ( k ) u(k) u(k) ) 是当前的控制输入。
  1. 预测误差协方差 ( P ( k ∣ k − 1 ) P(k|k-1) P(kk1) ):
    [ P ( k ∣ k − 1 ) = A P ( k − 1 ∣ k − 1 ) A T + Q P(k|k-1) = AP(k-1|k-1)A^T + Q P(kk1)=AP(k1∣k1)AT+Q ]
  • 其中 ( P ( k − 1 ∣ k − 1 ) P(k-1|k-1) P(k1∣k1)) 是上一个时刻的误差协方差矩阵,( Q Q Q ) 是描述过程噪声的协方差矩阵。

更新步骤

  1. 观测残差 ( z ( k ) − H x ( k ∣ k − 1 ) z(k) - Hx(k|k-1) z(k)Hx(kk1) ):
    [ y ( k ) = z ( k ) − H x ( k ∣ k − 1 ) y(k) = z(k) - Hx(k|k-1) y(k)=z(k)Hx(kk1) ]
  • 其中 ( z ( k ) z(k) z(k) ) 是当前时刻的实际观测值,( H H H) 是观测矩阵。
  1. 计算卡尔曼增益 ( K g ( k ) K_g(k) Kg(k) ):
    [ K g ( k ) = P ( k ∣ k − 1 ) H T [ S ( k ) ] − 1 K_g(k) = P(k|k-1)H^T[S(k)]^{-1} Kg(k)=P(kk1)HT[S(k)]1 ]
  • 其中 ( $S(k) = HP(k|k-1)H^T + R ),( R R R ) 是描述观测噪声的协方差矩阵。
  1. 更新状态估计 ( x ( k ∣ k ) x(k|k) x(kk)):
    [ x ( k ∣ k ) = x ( k ∣ k − 1 ) + K g ( k ) y ( k ) x(k|k) = x(k|k-1) + K_g(k)y(k) x(kk)=x(kk1)+Kg(k)y(k) ]
  • 使用卡尔曼增益和观测残差来更新预测状态。
  1. 更新误差协方差 ( P ( k ∣ k ) P(k|k) P(kk) ):
    [ P ( k ∣ k ) = [ I − K g ( k ) H ] P ( k ∣ k − 1 ) P(k|k) = [I - K_g(k)H]P(k|k-1) P(kk)=[IKg(k)H]P(kk1) ]
  • 更新反映状态估计不确定性的误差协方差矩阵。
    在这个过程中,预测步骤涉及使用系统模型从已知的最新状态推导出下一状态的预测,而更新步骤则涉及使用新的观测数据来校正这个预测,从而使状态估计更加准确。预测的误差协方差 ( P ( k ∣ k − 1 ) P(k|k-1) P(kk1) ) 和更新后的误差协方差 ( P ( k ∣ k ) P(k|k) P(kk) ) 分别表示在预测和更新之后状态估计的不确定性。卡尔曼增益 ( K g ( k ) K_g(k) Kg(k) ) 是一个权衡系数,它决定了观测数据在更新状态估计中的影响程度。

你可能感兴趣的:(卡尔曼滤波,控制算法,stm32,嵌入式硬件,单片机)