卡尔曼滤波器及matlab代码.doc
文本预览下载声明
信息融合大作业
——维纳最速下降法滤波器,卡尔曼滤波器设计及Matlab仿真
时间:2010-12-6
专业:信息工程
班级学号:2007302171
姓名:马志强
滤波问题浅谈
估计器或滤波器这一术语通常用来称呼一个系统,设计这样的系统是为了从含有噪声的数据中提取人们感兴趣的,接近规定质量的信息。由于这样一个宽目标,估计理论应用于诸如通信、雷达、声纳、导航、地震学、生物医学工程、金融工程等众多不同的领域。例如,考虑一个数字通信系统,其基本形式由发射机、信道和接收机连接组成。发射机的作用是把数字源(例如计算机)产生的0、1符号序列组成的消息信号变换成为适合于信道上传送的波形。而由于符号间干扰和噪声的存在,信道输出端收到的信号是含有噪声的或失真的发送信号。接收机的作用是,操作接收信号并把原消息信号的一个可靠估值传递给系统输出端的某个用户。随着通信系统复杂度的提高,对原消息信号的还原成为通信系统中最为重要的环节,而噪声是接收端需要排除的最主要的干扰,人们也设计出了针对各种不同条件应用的滤波器,其中最速下降算法是一种古老的最优化技术,而卡尔曼滤波器随着应用条件的精简成为了普适性的高效滤波器。
2.维纳最速下降算法滤波器
2.1 最速下降算法的基本思想
考虑一个代价函数J(w),它是某个未知向量w的连续可微分函数。函数J(w)将w的元素映射为实数。这里,我们要寻找一个最优解w。使它满足如下条件
J(w0)≤J(w)
(2.1)
这也是无约束最优化的数学表示。
特别适合于自适应滤波的一类无约束最优化算法基于局部迭代下降的算法:
从某一初始猜想w(0)出发,产生一系列权向量w1,w2,?,使得代价函数J(w)在算法的每一次迭代都是下降的,即
Jwn+1J(w(n))
其中w(n)是权向量的过去值,而wn+1是其更新值。
我们希望算法最终收敛到最优值w0。迭代下降的一种简单形式是最速下降法,该方法是沿最速下降方向连续调整权向量。为方便起见,我们将梯度向量表示为
g=?Jw=?J(w)?w
(2.2)
因此,最速下降法可以表示为
wn+1=wn-12μg(n)
(2.3)
其中n代表进程,μ是正常数,称为步长参数,1/2因子的引入是为了数学上处理方便。在从n到n+1的迭代中,权向量的调整量为
δwn=wn+1-wn=-12μg(n)
(2.4)
为了证明最速下降算法满足式(2.1),在wn处进行一阶泰勒展开,得到
Jwn+1≈Jwn+gHnδw(n)
(2.5)
此式对于μ较小时是成立的。在式(2.4)中设w为负值向量,因而梯度向量g也为负值向量,所以使用埃尔米特转置。将式(2.4)用到式(2.5)中,得到
Jwn+1?Jwn-12μg(n)2
此式表明当μ为正数时,Jwn+1J(w(n))。因此,随着n的增加,代价函数Jn减小,当n=∞时,代价函数趋于最小值J∞。
2.2最速下降算法应用于维纳滤波器
考虑一个横向滤波器,其抽头输入为un,un-1,?,u(n-M+1),对应的抽头权值为w0n,w1n,?,wM-1n。抽头输入是来自零均值、相关矩阵为R的广义平稳随机过程的抽样值。除了这些输入外,滤波器还要一个期望响应d(n),以便为最优滤波提供一个参考。在时刻n抽头输入向量表示为u(n),滤波器输出端期望响应的估计值为d(n|Un),其中Un是由抽头输un,un-1,?,u(n-M+1)所张成的空间。空过比较期望响应d(n)及其估计值,可以得到一个估计误差e(n),即
en=dn-dnUn=dn-wHnu(n)
(2.6)
这里wHnu(n)是抽头权向量w(n)与抽头输入向量u(n)的内积。w(n)可以进一步表示为
wn=w0n,w1n,?,wM-1nT
同样,抽头输入向量u(n)可表示为
un=un,un-1,?,un-M+1T
如果抽头输入向量un和期望响应dn是联合平稳的,此时均方误差或者在时刻n的代价函数J(n)是抽头权向量的二次函数,于是可以得到
Jn=σd2-wHnp-pHwn+wHnRw(n)
(2.7)
其中,σd2为目标函数dn的方差,p抽头输入向量un与期望响应dn的互相关向量,及R为抽头输入向量un的相关矩阵。从而梯度向量可以写为
?Jn=?J(n)?a0(n)+j?J(n)?b0(n)?J(n)?a1(n)?J(n)?aM-1(n)+?+j?J(n)?b1(n)?J(n)?bM-1(n)=-2p+2Rw(n)
显示全部