当前位置: 观测器 >> 观测器优势 >> 看完这篇卡尔曼滤波原理,我被惊到了
在网上看了不少与卡尔曼滤波关系的博客、论文,要末是只谈理论、缺少感性,或许有感性认识,缺少理论推导。能分身两者的少之又少,直到我看到了海外的一篇博文,果然冷艳到我了,不得不崇敬做家这类详细入微的精力,翻译过来跟众人分享一下。
我不得不说说卡尔曼滤波,由于它能做到的事项的确让人惊奇!不料的是很罕见软件工程师和科学家对对它有所认识,这让我觉得懊丧,由于卡尔曼滤波是一个这样强壮的用具,能够在谬误定性中合并音信,与此同时,它索取精相音信的能耐看起来不行思议。
甚么是卡尔曼滤波?
你能够在职何含有谬误定音信的动态系统中行使卡尔曼滤波,对系统下一步的走向做出有遵循的展望,假使伴有着种种搅扰,卡尔曼滤波老是能指出的确产生的境况。
在延续变动的系统中行使卡尔曼滤波是特别志愿的,它具备占用内存小的长处(除了前一个状况量外,不需求保存此外史书数据),而且速率很快,很适当运用于时刻题目和嵌入式系统。
在Google上找到的大普遍对于结尾卡尔曼滤波的数学公式看起来有点艰涩难明,这个情景有点糟了。实践上,要是以无误的方法对待它,卡尔曼滤波是特别简洁和轻易知道的,上面我将用标致的图片和颜色明晰的阐明它,你只要要懂一些基础的几率和矩阵的学识就能够了。
咱们能用卡尔曼滤波做甚么?
用玩物举例:你开采了一个能够在树林里处处跑的小机械人,这个机械人需求认识它地点确实切地方才略导航。
咱们能够说机械人有一个状况,示意地方和速率:
细致这个状况不过对于这个系统基础属性的一堆数字,它可所以任何此外的东西。在这个例子中是地方和速率,它也可所以一个容器中液体的总量,汽车鼓动机的温度,用户手指在触摸板上的地方坐标,或许任何你需求跟踪的记号。
这个机械人带有GPS,精度大抵为10米,还算不错,然而,它需求将本身的地方切确到10米之内。树林里有不少沟壑和危崖,要是机械人走错了一步,就有或许掉下危崖,是以惟独GPS是不敷的。
大概咱们认识一些机械人怎样疏通的音信:譬喻,机械人认识发送给机电的指令,认识本身是不是执政一个方位挪动而且没有人干扰,不才一个状况,机械人很或许朝着雷同的方位挪动。固然,机械人对本身的疏通是全无所闻的:它或许遭到风吹的影响,轮子方位偏了一点,或许碰到不平的大地而翻倒。是以,轮子转过的长度并不能切确示意机械人实践行走的间隔,展望也不是很完好。
GPS传感器通知了咱们一些状况音信,咱们的展望通知了咱们机械人会怎样疏通,但都不过直接的,而且伴有着一些谬误定和不许确性。然而,要是行使全数对咱们可用的音信,咱们能获得一个比任何根据自己揣测更好的终归吗?回复固然是YES,这便是卡尔曼滤波的用途。
卡尔曼滤波是怎样看到你的题目的
上面咱们连续以惟独地方和速率这两个状况的简洁例子做评释。
咱们并不认识实践的地方和速率,它们之间有不少种或许无误的组合,但此中一些的或许性要大于此外部份:
卡尔曼滤波假使两个变量(地方和速率,在这个例子中)都是随机的,而且遵守高斯散布。每个变量都有一个均值μ,示意随机散布的中间(最或许的状况),以及方差,示意谬误定性。
在上图中,地方和速率是不关系的,这象征着由此中一个变量的状况无奈揣测出另一个变量或许的值。上面的例子更意思:地方和速率是关系的,察看特定地方的或许性取决于目下的速率:
这类境况是有或许产生的,譬喻,咱们基于旧的地方来揣测新地方。要是速渡太高,咱们或许曾经挪动很远了。要是呆滞挪动,则间隔不会很远。跟踪这类干系是特别严重的,由于它带给咱们更多的音信:此中一个衡量值通知了咱们此外变量或许的值,这便是卡尔曼滤波的目标,尽或许地在包罗谬误定性的衡量数据中索取更多音信!
这类关系性用协方差矩阵来示意,简而言之,矩阵中的每个元素示意第i个和第j个状况变量之间的关系度。(你或许曾经猜到协方差矩阵是一个对称矩阵,这象征着能够随意相易i和j)。协方差矩阵通罕用“”来示意,此中的元素则示意为“”。
行使矩阵来描写题目
咱们基于高斯散布来成立状况变量,是以在时间k需求两个音信:最好揣测(即均值,此外场合罕用μ示意),以及协方差矩阵。
(1)
(固然,在这边咱们只用到了地方和速率,实践上这个状况能够包罗多个变量,代表任何你想示意的音信)。接下来,咱们需求遵循目下状况(k-1时间)来展望下一状况(k时间)。记着,咱们并不认识对下一状况的全数展望中哪个是“的确”的,但咱们的展望函数并不在意。它对全数的或许性举行展望,并给出新的高斯散布。
咱们能够用矩阵来示意这个展望经过:
它将咱们原始揣测中的每个点都挪动到了一个新的展望地方,要是原始揣测是无误的话,这个新的展望地方便是系统下一步会挪动到的地方。那咱们又怎样用矩阵来展望下一个时间的地方和速率呢?上面用一个基础的疏通学公式来示意:
如今,咱们有了一个展望矩阵来示意下短暂间的状况,然而,咱们依然不认识怎样革新协方差矩阵。此时,咱们需求引入另一个公式,要是咱们将散布中的每个点都乘以矩阵A,那末它的协方差矩阵会怎样变动呢?很简洁,上面给出公式:
联结方程(4)和(3)获得:
外部节制量
咱们并没有捕获到全部音信,或许存在外部成分会对系统举行节制,带来一些与系统自己状况没有关系性的改动。
以火车的疏通状况模子为例,火车司机或许会驾驭油门,让火车加快。雷同地,在咱们机械人这个例子中,导航软件或许会发出一个指令让轮子转向或许中止。要是认识这些额外的音信,咱们能够用一个向量来示意,将它加到咱们的展望方程中做改正。
假使由于油门的配置或节制敕令,咱们认识了渴望的加快率,遵循基础的疏通学方程能够获得:
以矩阵的样式示意便是:
称为节制矩阵,称为节制向量(对于没有外部节制的简洁系统来讲,这部份能够粗心)。让咱们再研究一下,要是咱们的展望并不是%明确的,该怎样办呢?
外部搅扰
要是这些状况量是基于系统自己的属性或许已知的外部节制影响来变动的,则不会浮现甚么题目。
然而,要是存在未知的搅扰呢?譬喻,假使咱们跟踪一个四旋翼航行器,它或许会遭到风的搅扰,要是咱们跟踪一个轮式机械人,轮子或许会打滑,或许路面上的小坡会让它放慢。这样的话咱们就不能连续对这些状况举行跟踪,要是没有把这些外部搅扰思虑在内,咱们的展望就会浮现差池。
在屡屡展望以后,咱们能够增加一些新的谬误定性来成立这类与“外界”(即咱们没有跟踪的搅扰)之间的谬误定性模子:
原始揣测中的每个状况变量革新到新的状况后,依然遵守高斯散布。咱们能够说的每个状况变量挪动到了一个新的遵守高斯散布的地域,协方差为。换句话说便是,咱们将这些没有被跟踪的搅扰看成协方差为的噪声来解决。
这形成了具备不同协方差(然而具备雷同的均值)的新的高斯散布。
咱们经过简洁地增加获得伸展的协方差,上面给出展望环节的完备表白式:
由上式可知,新的最优揣测是遵循上一最优揣测展望获得的,并加之已知外部节制量的改正。
而新的谬误定性由上一谬误定性展望获得,并加之外部处境的搅扰。
好了,咱们对系统或许的意向有了一个朦胧的揣测,用和来示意。要是再联结传感器的数据会怎样呢?
用衡量值来改正揣测值
咱们或许会有多个传感器来衡量系统目下的状况,哪个传感工详细衡量的是哪个状况变量并不严重,或许一个是衡量地方,一个是衡量速率,每个传感器直接地通知了咱们一些状况音信。
细致,传感器读取的数据的单位和标准有或许与咱们要跟踪的状况的单位和标准不同样,咱们用矩阵来示意传感器的数据。
咱们能够谋略出传感器读数的散布,用以前的示意办法如下式所示:
卡尔曼滤波的一大长处便是能解决传感器噪声,换句话说,咱们的传感器或多或少都有点不行靠,而且原始揣测中的每个状况能够和必然局限内的传感器读数对应起来。
从衡量到的传感器数据中,咱们大抵能猜到系统目下处于甚么状况。然而由于存在谬误定性,某些状况或许比咱们获得的读数更热诚的确状况。
咱们将这类谬误定性(譬喻:传感器噪声)用协方差示意,该散布的均值便是咱们读取到的传感器数据,称之为。
如今咱们有了两个高斯散布,一个是在展望值临近,一个是在传感器读数临近。
咱们必需在展望值(粉赤色)和传感器衡量值(绿色)之间找到最优解。
那末,咱们最有或许的状况是甚么呢?对于任何或许的读数,有两种境况:(1)传感器的衡量值;(2)由前一状况获得的展望值。要是咱们想认识这两种境况均或许产生的几率,将这两个高斯散布相乘就能够了。
余下的便是叠加部份了,这个叠加部份的均值便是两个揣测最或许的值,也便是给定的全数音信中的最优揣测。
瞧!这个叠加的地域看起来像另一个高斯散布。
如你所见,把两个具备不同均值和方差的高斯散布相乘,你会获得一个新的具备自力均值和方差的高斯散布!上面用公式讲授。
合并高斯散布
先以一维高斯散布来剖析对照简洁点,具备方差和μ的高斯弧线能够用下式示意:
要是把两个遵守高斯散布的函数相乘会获得甚么呢?
将式(9)代入到式(10)中(细致从头归一化,使总几率为1)能够获得:
将式(11)中的两个样式雷同的部份用k示意:
上面进一步将式(12)和(13)写成矩阵的样式,要是Σ示意高斯散布的协方差,示意每个维度的均值,则:
矩阵称为卡尔曼增益,上面将会用到。放松!咱们将近结尾了!
将全数公式调整起来
咱们有两个高斯散布,展望部份,和衡量部份,将它们放到式(15)中算出它们之间的叠加部份:
由式(14)可得卡尔曼增益为:
将式(16)和式(17)的双方同时左乘矩阵的逆(细致内里包罗了)将其约掉,再将式(16)的第二个等式双方同时右乘矩阵的逆获得以劣等式:
上式给出了完备的革新环节方程。便是新的最优揣测,咱们能够将它和放到下一个展望和革新方程中连续迭代。
归纳
以上全数公式中,你只要要用到式(7)、(18)、(19)。(要是忘了的话,你能够遵循式(4)和(15)从头推导一下)
咱们能够用这些公式对任何线性系统成立切确的模子,对于非线性系统来讲,咱们行使伸展卡尔曼滤波,差别在于EKF多了一个把展望和衡量部份举行线性化的经过。
首创RF测试条记:怎样知道相位噪声与光阴震颤的干系?1dB增益紧缩点概括及测试数字调制系列:IQ调制器个性六问射频脉冲频谱测试怎样明确测试75Ohm系统的记号?怎样明确测试相位噪声射频脉冲频谱及退敏效应简述频谱剖析系列:怎样筛选显示检波器频谱剖析系列:为甚么需求预选器?频谱剖析系列:浅谈分辩率带宽RBW频谱剖析系列:怎样知道FFT中的频谱透露效应?
频谱剖析系列:怎样知道FFT中光阴窗与RBW的干系
频谱剖析系列:为甚么低沉VBW不会低沉频谱仪底噪?数字调制系列:怎样知道IQ?数字调制系列:IQ基础理论数字调制系列:IQ调制及解调简述噪声系数系列:噪声起原、界说及影响
噪声系数系列:天线噪声温度测试办法
噪声系数系列:噪声系数测试之增益法噪声系数系列:浅析AGC电路噪声系数的测试
噪声系数系列:浅析多通道吸收单位噪声系数的测试
噪声系数系列:镜频统制滤波器对射频吸收前端输出噪声的影响
筛选示波器时的“5倍法则”投稿专栏配合请加小编