实验报告-卡尔曼滤波解剖
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验报告
姓名:任伟平 专业: 通信与信息系统 学号: 2015111806 日期:2015.11
实验内容
任务一:
一连续平稳的随机信号()t x ,自相关函数()t
x e
r -=τ,信号()t x 为加性噪声所干扰,噪
声是白噪声,测量值的离散值()k z 为已知,s T s 02.0=,-3.2,-0.8,-14,-16,-17,-18,-3.3,-2.4,-18,-0.3,-0.4,-0.8,-19,-2.0,-1.2,-11,-14,-0.9,-0.8,10,0.2,0.5,-0.5,2.4,-0.5,0.5,-13,0.5,10,-12,0.5,-0.6,-15,-0.7,15,0.5,-0.7,-2.0,-19,-17,-11,-14,自编卡尔曼滤波递推程序,估计信号()t x 的波形。
任务二:
设计一维纳滤波器。
(1)产生三组观测数据:首先根据()()()n w n as n s +-=1产生信号()n s ,将其加噪(信噪比分别为20dB ,10dB ,6dB ),得到观测数据() n x 1,() n x 2,() n x 3。
(2)估计() n x i , 1=i ,2,3的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。
实验任务一 1. 卡尔曼滤波原理
1.1 卡尔曼滤波简介
早在20世纪40年代,开始有人用状态变量模型来研究随机过程,到60年代初,由于空间技术的发展,为了解决对非平稳、多输入输出随机序列的估计问题,卡尔曼提出了递推最优估计理论。它用状态空间法描述系统,由状态方程和量测方程所组成,即知道前一个状态的估计值和最近一个观测数据,采用递推的算法估计当前的状态值。由于卡尔曼滤波采用递推法,适合于计算机处理,并且可以用来处理多维和非平稳随机信号,现已广泛应用于很多领域,并取得了很好的结果。卡尔曼滤波一经出现,就受到人们的很大重视,并 在实践中不断丰富和完善,其中一个成功的应用是设计运载体的高精度组合导航系统。卡尔曼滤波具有以下的特点:
(1)算法是递推的,且状态空间法采用在时域内设计滤波器的方法,因而适用于多维随机过程的估计;离散型卡尔曼算法适用于计算机处理。
(2)用递推法计算,不需要知道全部过去的值,用状态方程描述状态变量的动态变化规律,因此信号可以是平稳的,也可以是非平稳的,即卡尔曼滤波适用于非平稳过程。
(3)卡尔曼滤波采取的误差准则仍为估计误差的均方值最小。
1.2 卡尔曼滤波的状态方程和测量方程
假设某系统k 时刻的状态变量为k x ,状态方程和量测方程(输出方程)表示为
k
k k k k k k k v x C y w x A x +=+=---111
其中,k x 是状态变量;1-k w 表示输入信号是白噪声;k v 是观测噪声;k y 是观测数据。
为了推导简单,假设状态变量的增益矩阵A 不随时间发生变化,k w ,k v 都是均值为零的正态白噪声,方差分别是k Q 和k R ,并且初始状态与k w ,k v 都不相关,γ表示相关系数。即:
[][]kj
k v v k v
k k kj
k w w k w k k R R v E v Q Q w E w j k j k δγσδγσ======,2
,2
,,0:,,0:
其中
⎩⎨
⎧≠==j
k j
k kj 01 δ
1.3 卡尔曼滤波的递推算法
卡尔曼滤波采用递推算法来实现,其基本思想是先不考虑输入信号k w 和观测噪声k v 的影响,得到状态变量和输出信号(即观测数据)的估计值,再用输出信号的估计误差加权后校正状态变量的估计值,使状态变量估计误差的均方值最小。因此,卡尔曼滤波器的关键是计算出加权矩阵的最佳值。
当不考虑观测噪声和输入信号时,状态方程和量测方程为
1
'
1
'
-∧
∧
∧-∧
∧===k k k k k k k k k x A C x C y x A x
显然,由于不考虑观测噪声的影响,输出信号的估计值与实际值是有误差的,用k y ~
表示
'
~
k k k y y y ∧-=
为了提高状态估计的质量,用输出信号的估计误差k y ~
来校正状态变量
⎪⎭⎫ ⎝⎛-+=⎪⎪⎭⎫ ⎝⎛-+=-∧-∧∧-∧
∧
11'1C k k k k k k k k k
k k k k x A y H x A y y H x A x 其中,k H 为增益矩阵,即加权矩阵。经过校正后的状态变量的估计误差及其均方值分别用k x ~
和k P 表示,把未经校正的状态变量的估计误差的均方值用'
k P 表示
⎥⎥⎦⎤
⎢⎢⎣
⎡⎪⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛-=⎥⎥⎦⎤
⎢⎢⎣⎡⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛-=-=∧∧∧∧∧
T
k k k k k T k k k k k k
k k x x x x E P x x x x E P x x x ''~
卡尔曼滤波要求状态变量的估计误差的均方值k P 为最小,因此卡尔曼滤波的关键即为通过选择合适的k H ,使得k P 取得最小值。首先推导状态变量的估计值k x ∧
和状态变量的的估计误差k x ~
,然后计算~
x 的均方值k P ,通过化简k P ,得到一组卡尔曼滤波的递推公式: