搜档网
当前位置:搜档网 › 自相关滤波法提取重磁场中弱异常

自相关滤波法提取重磁场中弱异常

自相关滤波法提取重磁场中弱异常
自相关滤波法提取重磁场中弱异常

粒子滤波原理和仿真

粒子滤波算法原理和仿真 1 引言 粒子滤波(Particle Filter, PF)是一种基于蒙特卡洛(Monte Carlo, MC)方法的递推贝叶斯滤波算法。其核心思想是通过从状态空间寻找的一系列随机样本来近似系统变量的概率密度函数,以样本均值代替积分运算,从而获得状态的最小方差估计。其中从状态空间中抽取的样本称为“粒子”。一般地,随着粒子数目的增加,粒子的概率密度函数就逐渐逼近状态的概率密度函数,从而达到最优贝叶斯估计的效果。 2 粒子滤波原理 2.1 系统的动态空间 对于被观测对象的状态,可以通过以下非线性离散系统来描述: 11(,)t t t x f x w --= (1) (,)t t t z h x v = (2) 以上为系统的状态方程和观测方程。其中,f ( )为状态函数,h ( )为观测函数,x t 是系统在时间t 的状态变量,w t 为对应的过程噪声,z t 是系统在时间t 的观测值,v t 为对应的观测噪声。 从贝叶斯估计角度来看,状态估计问题就是根据观测信息z 0:t 构造状态的概率密度函数p (x 0:t |z 0:t ),从而估计在系统在任何状态下的滤波值。设系统状态序列函数为g t ,则有: []0:0:0:0:0:()()()t t t t t t x E g x g x p x z dx =? (3) 根据蒙特卡洛方法,后验概率分布可以用有限的离散样本来近似,由大数定律,当系统粒子数N →∞时,期望E [g t (x 0:t )]可近似为: []() 0:0:1 1()()N i t t t t i E g x g x N ==∑ (4) 式中{() 0:i t x : i =1,2,...N }为状态空间中按p (x 0:t |z 0:t )得到的采样点。 2.2 重要性采样 在粒子采集过程中,p (x 0:t |z 0:t )往往是未知且多变的,因此可先从一个已知且容易采样的参考分布q (x 0:t |z 0:t )中抽样,再通过对抽样粒子集进行加权求和来估计系统的状态值,即:

遗传重采样粒子滤波器

第33卷第8期自动化学报Vol.33,No.8 2007年8月ACTA AUTOMATICA SINICA August,2007 遗传重采样粒子滤波器 叶龙1王京玲1张勤1 摘要粒子退化现象是影响粒子滤波器性能的一个重要因素.本文针对粒子退化,将遗传机制应用于粒子重采样,以进化设计解决退化问题.分析并给出了平衡粒子集的有效性与多样性的手段以取得最佳性能的遗传粒子滤波结构的方法. 关键词粒子滤波器,粒子退化,遗传机制,有效性粒子,多样性粒子中图分类号TP3 Genetic Resampling Particle Filter YE Long1WANG Jing-Ling1ZHANG Qin1 Abstract Particle degeneration is a key issue in the perfor-mance of a particle?lter.In this paper we introduce genetic mechanism into particle resampling process.It is shown that the new particle?lter can e?ectively eliminate particle degeneration and reduce its dependency on the particle validity.Furthermore, the new genetic particle?lter can be optimized by three key ge-netic factors–selection,crossover and mutation probabilities. Key words Particle?lter,particle degeneration,genetic mechanism,e?ective particle,diversiform particle 1引言 近年来,针对状态估计与运动跟踪,粒子滤波器[1~3](Particle?lter)由于采用蒙特卡罗采样(Monte Carlo sampling)结构而在非线性、非高斯系统状态跟踪上体现出越来越大的优越性,并得到了广泛的应用[4,5].粒子退化[3]是粒子滤波器中不可避免的、同时严重影响粒子滤波器性能的现象,在粒子滤波器经过几次迭代之后,很多粒子只有很小甚至接近于零的权值,这些权值在进行粒子的重要度更新的时候虽然还要计算但是对整个系统的帮助很小,基本上属于无用的粒子,这样一方面浪费了大量计算资源,同时也容易造成跟踪的精度降低甚至目标丢失.粒子重采样是解决粒子退化问题的一种重要方法,常用的重采样算法有累积分布重采样[2](Binary search)、系统重采样[6](Systematic resampling)、剩余重采样[7](Residual resampling)等.这些算法通过增加粒子的有效性解决了粒子退化问题,但是在实际应用中可影响系统的鲁棒性.重采样完成后,重要度高的粒子通过重采样被多次选取,这在一定程度上丢失了粒子的多样性,由此造成的后果就是一旦目标丢失或跟踪精度不够,系统自动收敛的可能性很小. 针对这一问题,本文将遗传机制[8]应用于粒子重采样,利用进化思想解决粒子退化问题,即针对重采样中粒子有效性与多样性的两个矛盾,提出了一种新型的在保证粒子有效性的同时科学地增加粒子多样性的方法—遗传重采样算法.同时通过单变量与多变量跟踪问题的实例,给出了针对具体问题寻找最佳遗传系统的方案,通过引入置信区间分析并演 收稿日期2006-2-16收修改稿日期2007-4-19 Received February16,2006;in revised form April19,2007 国家自然科学基金(60572041)资助 Supported by National Natural Science Foundation of China (60572041) 1.中国传媒大学信息工程学院北京100024 https://www.sodocs.net/doc/6d17266470.html,rmation Engineering School,Communication University of China,Beijing100024 DOI:10.1360/aas-007-0885示了多样性粒子与有效性粒子的比例对于跟踪准确性的影响. 2遗传重采样算法与遗传粒子滤波器 假设一个动态状态空间中的目标状态方程与观测方程定义如下 x k=f(x k?1,v k)(1) z k=h(x k,u k)(2) 其中,x k与z k分别表示目标状态值与观测值,f k:R ns×R nv→R ns表示目标状态非线性转移函数,v k为状态转移噪声,n s与n v分别表示目标状态矢量维数与状态噪声矢量维数;h k:R ns×R nu→R nz表示目标状态非线性观测函数,u k为观测噪声,n z与n u分别表示目标观测矢量维数与观测噪声矢量维数,跟踪的目的就是通过目标的观测状态z k 得到x k的估计. 粒子滤波器是通过递归蒙特卡罗采样实现跟踪的一种统计计算方法,其算法包括两个主要步骤:预测和更新.预测是指根据Chapman-Kolmogorov方程得到目标运动的先验概率密度函数(Probability density function,PDF);而更新是指通过贝叶斯公式与目标状态似然度对先验PDF做出的修正.在粒子滤波器中,PDF用带有权值的粒子组成的粒子集近似表示,因此粒子滤波器是一种通过粒子状态与权值的预测与更新而实现目标状态后验概率密度估计的方法.粒子退化是粒子滤波器中一个不可避免的问题.在粒子状态更新后,为解决粒子退化问题,需要对粒子集合进行重采样操作以去除不重要的粒子,但是这种去除往往使粒子集丢失其多样性(如引言中所述).因此,在本文中,我们将遗传操作引入了粒子重采样,解决了这一问题. 将遗传机制应用于粒子的重采样.首先,作为一种进化思想的理论基础,遗传机制为解决粒子退化问题提供了重要的指导思想;其次,遗传机制不仅仅通过选择算子[8]T s遴选优良个体,还可以通过重组算子T c与变异算子T m操作产生新的个体.因此,适当地优化调整选择概率P s、重组概率P c以及变异概率P m,可以在保证粒子有效性的同时兼顾粒子的多样性.遗传重采样过程是遗传机制的执行过程,即针对每一个带有权值的粒子状态,首先对状态进行二进制编码,然后按照设定的选择、交叉、变异概率对于粒子集依次进行相应的算子计算,得到的粒子集合在二进制解码后得到最终的重采样粒子集.因此,遗传重采样下的粒子滤波器算法可以描述为算法1. 算法1.遗传重采样粒子滤波器算法(GRPF) [{x i k,ωi k}N i=1]=GRPF[{x i k?1,ωi k?1}N i=1,z k] 步骤1.初始化粒子集{x i0,ωi0}i=1:N for k=1:K 步骤2.粒子状态预测 x i k~P(x i k,x i k?1)i=1:N 步骤3.粒子状态权衡(更新) ωi k∝ωi k?1P(z k|x i k) ω i k= ωi k N i=1 ωi k 步骤4.遗传粒子重采样

一种改进的粒子滤波重采样算法研究_金玉柱

2011年4月第4期 电子测试 ELECTRONIC TEST Apr.2011 No.4一种改进的粒子滤波重采样算法研究 金玉柱,李善姬 (延边大学工学院,吉林 延吉 133002) 摘要:粒子滤波是基于递推的蒙特卡罗模拟方法的总称,可用于任意非线性,非高斯随机系统的状态估计。为了减轻退化现象,引入重采样过程,但重采样过程算法复杂,计算量大,不利于硬件实现,并且会削弱粒子的多样性,从而导致滤波性能下降。提出了一种将局部重采样和优化组合算法结合的重采样算法。将粒子按权值大小分类,小权值的粒子抛弃,大权值的粒子进行复制,将复制的粒子和抛弃的粒子线性组合产生新的粒子,增加了粒子多样性并且只对大权值粒子进行运算,故降低了计算量利于实时系统的硬件实现。仿真结果证明了该算法的有效性。 关键字:粒子滤波; 局部重采样; 优化组合 中图分类号: TP391 文献标识码:A Research of improved particle filter resampling algorithm Jin Yuzhu, Li Shanji (College of Engineering, Yanbian University, Yanji 133002, China) Abstract: Particle filtering is a sequential Monte Carlo simulation algorithm. It can be used to estimate the state of any nonlinear, non-Gaussian system. In order to reduce the degeneracy, the resampling algorithm is adopted. But the resampling process has complex algorithm architecture, which have restricted its implementation in real-time system. Resampling process also leads to the loss of diversity of particles, and the loss makes filter’s performance worse. A new algorithm-partial resampling combined with optimizing combination resampling method is proposed. Assort the particles by their weights, the particles which have low weights are abandoned and the particles which have high weights are reproduced, and generate new particles by combining the reproduced particles and abandoned particles. This new method partly overcomes the loss of diversity and because it simply operates to the high weights particle so its calculation is simplified. And it is propitious to implement by hardware. The simulation results prove the effectiveness of the proposed method. Keywords : particle filtering; partial resampling; optimizing combination 0 引言 粒子滤波器,又称序贯蒙特卡罗方法。可以有效地处理非线性、非高斯滤波问题,广泛地应用在机动目标跟踪、信号传输与压缩、金融领域数据分析、图像处理、故障诊断等领域。所谓粒子滤波就是贝叶斯估计基于抽样理论的一种近似算法,通过非参数化的蒙特卡罗模拟方法来实现递推贝叶斯滤波,即通过一组动态状态空间上按贝叶斯准则进行更新的随机加权的样本或粒子,对未知状态的后验概率密度进行估计,其中这些粒子通过对后验密度序贯重

粒子滤波详解

2.4粒子滤波 例子滤波是以贝叶斯滤波和重要性采样为基本框架的。因此,想要掌握例子滤波,对于上述两个基本内容必须有一个初步的了解。重要性采样呢,其实就是根据对粒子的信任程度添加不同的权重,添加权重的规则就是:对于我们信任度高的粒子,给它们添加的权重就相对大一些;否则,就加的权重小一些。根据权重的分布形式,实际上就是它与目标的相似程度。 粒子滤波的结构实际上就是加一层重要性采样思想在里面的蒙特卡罗方法(Monte Carlo method,即以某时间出现的频率来指代该事件的概率)。该方法的基本思想是用一组样本(或称粒子)来近似表示系统的后验概率分布,然后使用这一近似的表示来估计非线性系统的状态。采用此思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理线性高斯分布的概率问题。粒子滤波的一大优势也在于此,因此近年来该算法在许多领域得到成功应用。 2.4.1贝叶斯滤波理论 贝叶斯滤波泛指一类以贝叶斯定理为基础的滤波技术,其根据所获得的观测,对状态后验概率分布、状态先验概率分布、状态估计值以及状态预测值等感兴趣量进行递归计算。 假设有一个系统,我们知道它的状态方程,和测量方程如下: =(,(状态方程)(2.4.1) =(,(测量方程)(2.4.2) 其中x为系统状态,y为测量到的数据,f,h是状态转移函数和测量函数,v,n 为过程噪声和测量噪声,噪声都是独立同分布的。 由贝叶斯理论可知,状态估计问题(目标跟踪、信号滤波)就是根据之前一系列的已有数据(测量数据)递推的计算出当前状态的可信度,这个可信度就是概率公式p(),它需要通过预测和更新两个步奏来递推的计算。 预测过程是利用系统模型(状态方程2.4.2)预测状态的先验概率密度,也就是通过已有的先验知识对未来的状态进行猜测,即p( )。更新过程则利用最新的测量值对先验概率密度进行修正,得到后验概率密度,也就是对之前的猜测进行修正。 处理这些问题之前,假设系统的状态转移服从一阶马尔科夫模型,即当前时刻的状态x(k)只与上一个时刻的状态x(k-1)有关, k时刻测量到的数据y(k)只与当前的状态x(k)有关。

扩展卡尔曼滤波和粒子滤波算法比较

扩展卡尔曼滤波和粒子滤波算法比较上海大学2013 , 2014学年秋季学期 研究生课程小论文 课程名称: 随机信号导论课程编号: 07SB17002 论文题目: 扩展卡尔曼滤波和粒子滤波算法比较 研究生姓名: 班孝坤 (33%) 学号: 13720843 研究生姓名: 倪晴燕 (34%) 学号: 13720842 研究生姓名: 许成 (33%) 学号: 13720840 论文评语: 成绩: 任课教师: 刘凯 评阅日期: 扩展卡尔曼滤波和粒子滤波算法比较 第一章绪论 在各种非线性滤波技术中, 扩展卡尔曼滤波是一种最简单的算法, 它将卡尔曼滤波局部线性化,适用于弱非线性、高斯环境下。卡尔曼滤波用一系列确定样本来逼近状态的后验概率密度, 适用于高斯环境下的任何非线性系统。粒子滤波用随机样本来近似状态的后验概率密度, 适用于任何非线性非高斯环境, 但有时选择的重要性分布函数与真实后验有较大差异, 从而导致滤波结果存在较大误差, 而粒子滤

波正好克服了这一不足, 它先通过UKF产生重要性分布, 再运用PF 算法。通过仿真实验, 对其的性能进行比较。 严格说来,所有的系统都是非线性的,其中许多还是强非线性的。因此,非线性系统估计问题广泛存在于飞行器导航、目标跟踪及工业控制等领域中,具有重要的理论意义和广阔的应用前景。 系统的非线性往往成为困扰得到最优估计的重要因素,为此,人们提出了大量次优的近似估计方法。包括EKF,基于UT变换的卡尔曼滤波(UKF),粒子滤波,等等。 第二章扩展卡尔曼滤波介绍 2.1 扩展卡尔曼滤波的理论(EKF) 设非线性状态空间模型为: xfxv,(,)(1)ttt,,11 yhxn,(,)(2)ttt 式中和分别表示在t时刻系统的状态和观测,和 xR,yR,vR,nR,tttt分别表示过程噪声和观测噪声,f和h表示非线性函数。 扩展卡尔曼滤波(Extended kalman filter,以下简称EKF)是传统非线性估计的代表,其基本思想是围绕状态估值对非线性模型进行一阶Taylor展开,然后应用线性系统Kalman滤波公式。 EKF是用泰勒展开式中的一次项来对式(1)和 ( 2 ) 中的非线性函数f和h 进行线性化处理, 即先计算f和h 的雅克比矩阵, 然后再在标准卡尔曼滤波框架下进行递归滤波。和均为零均值的高斯白噪声。 vntt 2.2 扩展卡尔曼滤波的算法 EKF的算法同KF 一样, 也可分为两步预测和更新。如图2.1所示

粒子滤波程序一看就懂

clear all; M=10000;%粒子数 P0=5; %初始状态协方差 Q=10; %过程噪声方差 R=1; %量测方差阵 tf=150; %终止时间 pdf_v=inline('1/(2*pi*1)^(1/2)*exp(-(x.^2)/(2*1))'); f=inline('x./2+25*x./(1+x.^2)+8*cos(1.2*t)','x','t');%状态转移方程 h=inline('(x.^2)/20'); %量测方程 x(1)=sqrtm(P0)*randn(1); %初始状态值 y(1)=feval(h,x(1))+sqrtm(R)*randn(1); for t=2:tf %系统仿真 x(t)=feval(f,x(t-1),t-1)+sqrtm(Q)*randn(1); y(t)=feval(h,x(t))+sqrtm(R)*randn(1); end xTrue=x; xhat=PF(f,h,pdf_v,Q,P0,M,y);%状态值、量测值、高斯分布、过程噪声方差、初始方差阵、粒子数、包含噪声的量测值 plot(1:tf,xhat,'b--',1:tf,xTrue,'r'); xlabel('时间'); legend('状态估计值','状态真实值'); title('粒子滤波仿真实验'); grid on; rms=sum((xTrue-xhat).^2); rms=sqrt(rms/tf);

function xhat=PF(f,h,pdf_v,Q,P0,M,y) n=size(P0,2); x=sqrtm(P0)*randn(n,M);%初始化粒子 tf=size(y,2); for t=1:tf e=repmat(y(t),1,M)-h(x); %计算权重 w=feval(pdf_v,e); %似然函数 w=w/sum(w); xhat(t)=sum(repmat(w,n,1).*x,2);%归一化权值 ind=resampling(w); %重采样 x=x(:,ind); %新粒子 x=feval(f,x,t)+sqrtm(Q)*randn(n,M);%时间更新end function [i]=resampling(w) wc=cumsum(w);M=length(w); u=([0:M-1]+rand(1))/M; i=zeros(1,M);k=1; for j=1:M while(wc(k)

粒子滤波原理体会

之前一直在做移动机器人定位算法。查来查去,发觉粒子滤波算法(又叫MC算法)应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫“probalistic robotic” 很不错,我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正我的想法。也希望我的这篇文章对新手有理解他有所帮助(当初我就很是苦于它难于理解)在这里我不想谈粒子滤波的理论基础和推到,这点大家可以去自己翻书。我只谈下我的体会。 粒子滤波算法。他源于Montecarlo的思想,即以某事件出现的频率来指代该事 件的概率。因此在滤波过程中,需要用到概率如P(x)的地方,一概对变量x采样,以大量采样的分布近似来表示P(x)。因此,采用此一思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理高斯分布的概 率问题。他的一大优势也在于此。 再来看对任意如下的状态方程 x(t)=f(x(t-1),u(t),w(t)) y(t)=h(x(t),e(t)) 其中的x(t)为t时刻状态,u(t)为控制量,w(t) 和e(t)分别为模型噪声和,观测噪声。前一个当然是状态转移方程,后一个是观测方程。那么对于这么一个问题粒子滤波怎么来从观测y(t),和x(t-1),u(t) 滤出真实状态x(t)呢? 看看滤波的预估阶段:粒子滤波首先根据x(t-1) 和他的概率分布生成大量的采样,这些采样就称之为粒子。那么这些采样在状态空间中的分布实际上就是x(t-1) 的概率分布了。好,接下来依据状态转移方程加上控制量可以对每一粒子得到一个预测粒子。所有的预测粒子就代表了涉及哪些参数化的东西)。 进入校正阶段来:有了预测粒子,当然不是所有的预测粒子都能得到我们的时间观测值y对不,越是接近真实状态的粒子,当然获得越有可能获得观测值y对吧。于是我们对所有的粒子得有个评价了,这个评价就是一个条件概率P(y|x i ),直白的说,这个条件概率代表了假设真实状态x(t)取第i个粒子x i 时获得观测y的概率。令这个条件概率为第i个粒子的权重。如此这般下来,对所有粒子都进行这么一个评价,那么越有可能获得观测y的粒子,当然获得的权重越高。好了预测信息融合在粒子的分布中,观测信息又融合在了每一粒子的权重中。

粒子滤波算法

粒子滤波算法 09S003057 徐飞 由于我的课题是用粒子滤波进行目标跟踪,今天参加了一场粒子滤波算法的讲座,对经典粒子滤波与其它粒子滤波进行了详细的讲解,学到了很多知识。 经典粒子滤波 算法的一般描述: 1.初始化:取k =0,按0()p x 抽取N 个样本点() 0i x ,i =1,…,N 。 2.重要性采样: ()()0:11:(|,)i i k k k k x q x x z -~,令 ()() ()0:0:1(,)i i i k k k x x x -=,其中i =1,…,N 。 3.计算权值: ()()() () ()11 ()() 0:11:(|)(|)(|,) i i i i i k k k k k k i i k k k p z x p x x q x x z ---ω =ω 若采用一步转移后验状态分布,该式可简化为()()() 1(|)i i i k k k k p z x -ω=ω。 4.归一化权值: () j j i i k k N k () ()=1 ωω = ω ∑ 5.重采样:根据各自归一化权值 () i k ω 的大小复制/舍弃样本 () 0:i k x ,得到N 个近似服从()0:1:(|)i k k p x z 分布的样本()0:i k x 。令()i k ω= ()i k ω=1/N ,i =1,…,N 。 6.输出结果:算法的输出是粒子集() 0:{: 1...}i k x i N =,用它可以近似表示后验概率和函数 0:()k k g x 的期望 0:0:1:0:11(|)()i k N k k k x i p x z dx N ()==δ∑ 0:0:1 1(())()N i k k k k i E g x g x N ==∑ 7.K=K+1,重复2步至6步。 其它粒子滤波 正则粒子滤波 正则粒子滤波(Regularized Particle Filter ,RPF)是为了解决由重采样引入的新问题而提出的一种改进的粒子滤波。当通过序贯重要性采样后引起粒子退化问题时,前面提到可以用重采样的方法来减小退化的影响,但是引入重采样策略同时也引入了新的问题,即粒子匮乏问题,经过若干次迭代之后,所有粒子都趋向于同一个粒子,导致粒子的多样性丧失。这是因为在重采样过程中,粒子是从离散分布中采样取得的,而不是从连续分布中采样得到的。 正则粒子滤波正是为了解决上述问题而提出的。它与SIR 粒子滤波的区别在于:在重采样过程中,SIR 从离散近似的分布中重采样,而正则粒子滤波则从连续近似的分布中重采样。 1 0:1 {,} (|)()N j j m i i k k j k k k h k k i x p x y K x x ==ω~≈ω-∑ 其中,1()()h n x x K x K h h = 是对核密度()K 进行了重新标度后的结果,n 为x 的维数,h 称为

相关主题