ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:45.07KB ,
资源ID:3718918      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3718918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(仿真原理Word文档格式.docx)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

仿真原理Word文档格式.docx

1、 x(n - 3) x(n - 4) 状态变量增益矩阵为:1.352 -1.338 0.662 0.240 1000 A= 0100 0010 仅对 x 方向进行估计,即考虑一维的情况下,有: 状态变量与输出信号之间的增益矩阵 Ck =1 0 0 0;量测噪声协方差阵为 Rk =1;1 0 0 0 0 1 0 0 噪声的均方误差阵为 Pk = ; 0 0 1 0 0 0 0 1 3、仿真要求分别利用 Wiener 滤波器和 Kalman 滤波器通过测量信号估计 x(n) 的波形4、仿真原理(1) 维纳滤波原理维纳滤波的原理是根据全部过去的和当前的观测数据 x(n),x(n-1),来估计信号的当

2、前值。以均方误差最小条件下求解系统的传递函数 H(z)或单位冲激响应 h(n)。维纳滤波的信号模型是从信号与噪声的相关函数得到。Wiener 滤波器的一般结构如下:-线性滤波器y(n) = d(n)x(n)e(n)d (n)有一期望响应 d(n),滤波器系数的设计准则是使得滤波器的输出 y(n)是均方意义上对期望响应的最优线性估计。线性系统输出为:y(n) = s(n)= h(m)x(n - m)m2 均方误差为: E e2 (n) = E s(n)- h(m)x(n - m) m=0 E 维纳滤波器的设计,实际上就是在最小均方误差条件下,即hj=0 ,确定滤波器的冲激响应 h(n)或系统函数

3、 H(z),可等效于求解维纳-霍夫方程:h=xx-1xs。(2) 卡尔曼滤波原理不需要全部过去的观察数据,只根据前一个估计值和最近一个观察数据来估计信号的当前值。它是用状态空间法描述系统,即由状态方程和量测方程组成。解是以估计值(是状态变量的估计值)的形式给出的,其算法是递推。卡尔曼滤波的信号模型则是从状态方程和量测方程得到。卡尔曼滤波的信号模型(一维)如下:A(z)wkskukyk =sk +uk离散系统的 n 维状态方程: x(k ) = Ak xk -1 + wk -1离散系统的 m 维量测方程: ykck xkuk令 Ak 表示状态变量之间的增益矩阵, Ck 为状态变量与输出信号之间的

4、增益矩阵,不随时间发生变化,动态噪声wk 与观测噪声uk 都是零均值的正态噪声,kkk k且两者互不相关, R var u = E uuT 为量测噪声协方差矩阵,中Qvarw =E w wT 为动态噪声协方差矩阵。kkk k系统初始条件为:E x0 = m00000varx = E (x - m)(x - m)T = pkcovx , w = E x wT = 0covx ,u = E xuT 卡尔曼滤波的基本思想是先不考虑激励噪声wk 和观测噪声uk ,得到状态的估计值 x 和观测数据的估计值 y ,再用观测数据的估计误差 y% =y - y去修正状kkkkk态的估计值 xk ,通过选择修正

5、矩阵 H 使得状态估计误差的均方值 Pk 最小。卡尔曼滤波的递推公式如下:xk= Ak xk -1 + Hk ( yk - Ck Ak xk -1 )-1kk kk k kk H = PCT (C PCT + R )P = A P AT + Qkk k -1 kk -1P = (I - H C )Pkk kk假设初始条件 Ak,Ck ,Q,k ,R,kykxk -1Pk -1 已知,其中x0 = E x0 ,P0 = varx0 ,则卡尔曼滤波的递推流程如下:x,PPk -1k -1P =A P AT +Qkkk k -1kk -1H = PCT + Rxk = Ak xk -1 + Hk (

6、 yk - Ck Ak xk -1 )Hk)-1PkP= (I - H C)Pkk kk二、仿真流程(1) 维纳滤波仿真流程如下:初始条件+状态方程观测信号与期望信号的互相关函数 yx观测样本 y=x+v,v 表示加性高斯白噪声真实值 x输出滤波估计值 xk_s维纳滤波器系数:h=yy-1yx观测信号的自相关函数 yy误差=真实值-滤波估计值_(2) 卡尔曼滤波仿真流程如下:初始值x0k=k+1计算估计值:观测值 yk yk=x+vk kk)(P = I - H CP计算滤波后的均方误差阵:kk kk k k TH = P CC P C + R计算增益矩阵:P =A P AT +Q计算未考虑噪

7、声时的均方误差阵:给定 Ak、Ck、Rk、Pk 的初始值三、仿真结果及分析1、利用维纳滤波器进行估计:(1) Wiener 滤波器的阶数取 101 阶,观测点数取 100,u(n) 的方差为 1 时,通过仿真得到真实轨迹、观测样本及估计轨迹的比较图形如下图 1 所示: 估 估 估 估 估 估估642-2-4-60102030405060708090100图 1 采用维纳滤波,噪声方差为 1 时,真实轨迹、观测样本及估计轨迹的比较从图 1 可以看出,利用 Wiener 滤波器通过测量信号估计 x(n) 的波形,得到的估计轨迹接近于真实轨迹。当噪声方差为 1 时,估计轨迹与真实轨迹间的误差很小。(

8、2) Wiener 滤波器的阶数取 101 阶,观测点数取 100,u(n) 的方差为 1时,通过仿真得到平均误差如下图 2 所示:1.50.5-0.5-1.5图 2 采用维纳滤波,噪声方差为 1 时的平均误差从图 2 可以看出,利用 Wiener 滤波器通过测量信号估计 x(n) 的波形,当噪声方差为 1 时,得到的估计轨迹与真实轨迹的平均误差较小,而且刚开始的时候平均误差相对较大,随着时间的推移,平均误差有逐渐减小的趋势。(3) Wiener 滤波器的阶数取 101 阶,观测点数取 100,u(n) 的方差为 4 时,通过仿真得到真实轨迹、观测样本及估计轨迹的比较图形如下图 3 所示:15

9、105-5-10-15图 3 采用维纳滤波,噪声方差为 4 时,真实轨迹、观测样本及估计轨迹的比较从图 3 可以看出,当噪声方差为 4 时,估计轨迹与真实轨迹间的误差变大了。利用 Wiener 滤波器通过测量信号估计 x(n) 的波形,得到的估计轨迹接近于真实轨迹。(4) Wiener 滤波器的阶数取 101 阶,观测点数取 100,u(n) 的方差为 4时,通过仿真得到平均误差如下图 4 所示:3-3图 4 采用维纳滤波,噪声方差为 4 时的平均误差从图 4 可以看出,当噪声方差为 4 时,估计轨迹与真实轨迹间的平均误差变大了。而且刚开始的时候平均误差相对较大,随着时间的推移,平均误差有逐渐

10、减小的趋势。2、利用卡尔曼滤波器进行估计:(1) 采用卡尔曼滤波,观测点数取 100,u(n) 的方差为 1 时,通过仿真得到真实轨迹、观测样本及估计轨迹的比较图形如下图 5 所示:图 5采用卡尔曼滤波,噪声方差为 1 时,真实轨迹、观测样本及估计轨迹的比较从图 5 可以看出,利用卡尔曼滤波器,通过测量信号估计 x(n) 的波形,得到的估计轨迹接近于真实轨迹。(2) 采用卡尔曼滤波,观测点数取 100,u(n) 的方差为 1 时,通过仿真得到平均误差如下图 6 所示:2.5-2.5图 6 采用卡尔曼滤波,噪声方差为 1 时的平均误差从图 6 可以看出,利用卡尔曼滤波器通过测量信号估计 x(n)

11、 的波形,当噪声方差为 1 时,得到的估计轨迹与真实轨迹的平均误差较小。(3) 采用卡尔曼滤波,观测点数取 100,u(n) 的方差为 4 时,通过仿真得到真实轨迹、观测样本及估计轨迹的比较图形如下图 7 所示:-20图 7 采用卡尔曼滤波,噪声方差为 4 时,真实轨迹、观测样本及估计轨迹的比较从图 7 可以看出,当噪声方差为 4 时,估计轨迹与真实轨迹间的误差变大了。利用卡尔曼滤波器通过测量信号估计 x(n) 的波形,得到的估计轨迹接近(4) 采用卡尔曼滤波,观测点数取 100,u(n) 的方差为 4 时,通过仿真得到平均误差如下图 8 所示:8-8图 8 采用卡尔曼滤波,噪声方差为 4 时

12、的平均误差从图 8 可以看出,利用卡尔曼滤波器通过测量信号估计 x(n) 的波形,当噪声方差为 4 时,估计轨迹与真实轨迹间的平均误差变大了。四、结论通过以上的仿真结果及其分析可以得到如下结论:(1) 利用 Wiener 滤波器和 Kalman 滤波器都可以通过测量信号对 x(n) 的波形进行估计,估计轨迹接近于真实轨迹;(2) 随着噪声方差的变大,通过维纳滤波和卡尔曼滤波得到的估计轨迹与真实轨迹间的误差也随之变大;(3) 相比较而言,利用维纳滤波器进行估计的误差稍小于通过卡尔曼滤波器进行估计的误差;(4) 在利用维纳滤波器和卡尔曼滤波器进行估计时,刚开始的时候平均误差相对较大,随着时间的推移

13、,平均误差有逐渐减小的趋势。五、附件:1、维纳滤波仿真源程序(噪声方差取 1)clc;clear all; maxlag=100;%N=100;%观测点数取 100 x=zeros(N,1);y=zeros(N,1);var=1;%列出状态方程x(1)=randn(1,1);%令 x(-1)=x(-2)=x(-3)=x(-4)=0 x(2)=randn(1,1)+1.352*x(1); x(3)=randn(1,1)+1.352*x(2)-1.338*x(1);x(4)=randn(1,1)+1.352*x(3)-1.338*x(2)+0.602*x(1);for n=5:Nx(n)=1.35

14、2*x(n-1)-1.338*x(n-2)+0.602*x(n-3)-0.24*x(n-4)+randn(1,1); %x 为真实值end;v=randn(N,1);y=x+v;%z_x 为观测样本值=真值+噪声%滤波x = x;y = yxk_s(1)=y(1);%赋初值xk_s(2)=y(2);xk_s(3)=y(3);xk_s(4)=y(4); xk=y(1);y(2);y(3);y(4);%维纳滤波器的生成rx,lags=xcorr(y,maxlag,biased);%观测信号的自相关函数rx1=toeplitz(rx(101:end);%对称化自相关函数矩阵使之成为方阵,滤波器的阶数

15、为 101 阶rx2=xcorr(x,y,maxlag,%观测信号与期望信号的互相关函数rx2=rx2(101:end);h=inv(rx1)*rx2%维纳-霍夫方程xk_s=filter(h,1,y);%加噪信号通过滤波器后的输出%e_x=0; eq_x=0; e_x1=N:1;%计算滤波的均值,计算滤波误差的均值for i=1:e_x(i)=x(i)-xk_s(i); %误差=真实值-滤波估计值end%作图t=1:N;figure(1);plot(t,x,r-,t,y,g:,t,xk_s,b-.legend(真实轨迹,观测样本估计轨迹 figure(2);plot(e_x);平均误差2、维

16、纳滤波仿真源程序(噪声方差取 4)var=2;v=4*randn(N,1);3、卡尔曼滤波仿真源程序(噪声方差取 1)clear;I=1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;%I 为四阶单位阵Ak=1.352,-1.338,0.662,0.240;1,0,0,0;0,0,1,0;%状态变量之间的增益矩阵 AkCk=1 0 0 0;%状态变量与输出信号之间的增益矩阵 Ck,(一维:仅仅对 x 方向进行估计)Rk=1;%量测噪声协方差阵Pk=1 0 0 00 1 0 00 0 1 00 0 0 1 ;%噪声的均方误差阵xk=y(1);Qk = 1;%Kalman 滤波开始,估计循环for r=5:yk=y(r);Pk1=Ak*Pk*Ak+Qk;%(未考虑噪声)k 时刻滤波的均方误差矩阵Hk=Pk1*Ck*inv(Ck*Pk1*Ck+Rk); %增益方程xk=Ak*xk+Hk*(yk-Ck*Ak*xk);%递推公式Pk=(I-Hk*Ck)*Pk1;%滤波后的均方误差矩阵xk_s(r)=xk(1,1);%xk_s 为估计值%end e_x=0;4、卡尔曼滤波仿真源程序(噪声方差取 4) cle

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2