卡尔曼滤波器及matlab代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息融合大作业
——维纳最速下降法滤波器,卡尔曼滤波器设计及Matlab仿真
时间:2010-12-6
专业:信息工程
班级:09030702
姓名:马志强
1.滤波问题浅谈
估计器或滤波器这一术语通常用来称呼一个系统,设计这样的系统是为了从含有噪声的数据中提取人们感兴趣的,接近规定质量的信息。由于这样一个宽目标,估计理论应用于诸如通信、雷达、声纳、导航、地震学、生物医学工程、金融工程等众多不同的领域。例如,考虑一个数字通信系统,其基本形式由发射机、信道和接收机连接组成。发射机的作用是把数字源(例如计算机)产生的0、1符号序列组成的消息信号变换成为适合于信道上传送的波形。而由于符号间干扰和噪声的存在,信道输出端收到的信号是含有噪声的或失真的发送信号。接收机的作用是,操作接收信号并把原消息信号的一个可靠估值传递给系统输出端的某个用户。随着通信系统复杂度的提高,对原消息信号的还原成为通信系统中最为重要的环节,而噪声是接收端需要排除的最主要的干扰,人们也设计出了针对各种不同条件应用的滤波器,其中最速下降算法是一种古老的最优化技术,而卡尔曼滤波器随着应用条件的精简成为了普适性的高效滤波器。2.维纳最速下降算法滤波器
最速下降算法的基本思想
考虑一个代价函数J(J),它是某个未知向量J的连续可微分函数。函数J(J)将J的元素映射为实数。这里,我们要寻找一个最优解J。使它满足如下条件
J(J0)≤J(J)
这也是无约束最优化的数学表示。
特别适合于自适应滤波的一类无约束最优化算法基于局部迭代下降的算法:从某一初始猜想J(0)出发,产生一系列权向量J(1),J(2),?,使得代价函数J(J)在算法的每一次迭代都是下降的,即
J(J(J+1)) 其中J(J)是权向量的过去值,而J(J+1)是其更新值。 我们希望算法最终收敛到最优值J0。迭代下降的一种简单形式是最速下降法,该方法是沿最速下降方向连续调整权向量。为方便起见,我们将梯度向量表示为 J=?J(J)=?J(J) ?J 因此,最速下降法可以表示为 J(J+1)=J(J)−1 2 J J(J) 其中J代表进程,J是正常数,称为步长参数,1/2因子的引入是为了数学上处理方便。在从J到J+1的迭代中,权向量的调整量为 J J(J)=J(J+1)−J(J)=−1 2 J J(J) 为了证明最速下降算法满足式,在J(J)处进行一阶泰勒展开,得到 J(J(J+1))≈J(J(J))+J J(J)J J(J) 此式对于J较小时是成立的。在式中设J为负值向量,因而梯度向量J也为负值向量,所以使用埃尔米特转置。将式用到式中,得到 J(J(J+1))?J(J(J))−1 2 J‖J(J)‖2 此式表明当J为正数时,J(J(J+1)) 最速下降算法应用于维纳滤波器 考虑一个横向滤波器,其抽头输入为J(J),J(J−1),?,J(J−J+1),对应的抽头权值为J0(J),J1(J),?,J J−1(J)。抽头输入是来自零均值、相关矩阵为J的广义平稳随机过程的抽样值。除了这些输入外,滤波器还要一个期望响应J(J),以便为最优滤波提供一个参考。在时刻J抽头输入向量表示为J(J),滤波器输出端期望响应的估计值为Ĵ(J|J J),其中J J是由抽头输J(J),J(J−1),?,J(J−J+1)所张成的空间。空过比较期望响应J(J)及其估计值,可以得到一个估计误差J(J),即 J(J)=J(J)−Ĵ(J|J J)=J(J)−J J(J)J(J) 这里J J(J)J(J)是抽头权向量J(J)与抽头输入向量J(J)的内积。J(J)可以进一步表示为 J(J)=[J0(J),J1(J),?,J J−1(J)]J 同样,抽头输入向量J(J)可表示为 J(J)=[J(J),J(J−1),?,J(J−J+1)]J 如果抽头输入向量J(J)和期望响应J(J)是联合平稳的,此时均方误差或者在时刻J的代价函数J(J)是抽头权向量的二次函数,于是可以得到J(J)=J J2−J J(J)J−J J J(J)+J J(J)JJ(J) 其中,J J2为目标函数J(J)的方差,J抽头输入向量J(J)与期望响应J(J)的互相关向量,及J为抽头输入向量J(J)的相关矩阵。从而梯度向量可以写为 ?J(J)= [ ?J(J) ?J0(J) +J ?J(J) ?J0(J) ?J(J) ?J1(J) ?J(J) ?J J−1(J) + ? + J ?J(J) ?J1(J) ?J(J) ?J J−1(J)] =−2J+2JJ(J) 其中在列向量中?J(J) ?J J(J)和?J(J) ?J J(J) 分别是代价函数J(J)对应第J个抽头权值 J J(J)的实部J J(J)和虚部J J(J)的偏导数。对最速下降算法应用而言, 假设式中相关矩阵J和互相关向量J已知,则对于给定的抽头权向量J(J+1)为 J(J+1)=J(J)+J[J−JJ(J) 它描述了为那滤波中最速下降法的数学表达式。 3.卡尔曼滤波器 卡尔曼滤波器的基本思想 卡尔曼滤波器是用状态空间概念描述其数学公式的,另外新颖的特点是,他的解递归运算,可以不加修改地应用于平稳和非平稳环境。尤其是,其状态的每一次更新估计都由前一次估计和新的输入数据计算得到,因此只需存储前一次估计。除了不需要存储过去的所有观测数据外,卡尔曼滤波计算比直接根据滤波过程中每一步所有过去数据进行估值的方法都更加有效。 J1(J)J(J+1)J(J) J J 换句话说,状态由预测系统未来特性时所素要的,与系统的过去行为有关的最少的数据组成。典型地,比较有代表性的情况是,状态J(J)是未知的。为了估计它,我们使用一组观测数据,在途中用向量J(J)表示。y(J)成为观测向量或者简称观测值,并假设它是J维的。 在数学上,图表示的信号流图隐含着一下两个方程: (1)过程方程 J(J+1)=J(J+1,J)J(J)+J1(J) 式中,M×1向量J1(J)表示噪声过程,可建模为零均值的白噪声过程,且其相关矩阵定义为