文档介绍:数字信号处理实验报告
姓名:专业:通信与信息系统学号:口期:
实验内容
任务一:
一连续平稳的随机信号自相关函数((])=/(信号为加性噪声所干扰,噪声是白噪声,测量值的离散值z(k)为已知,7;=,-・0
s,x(z)=嗅f=
m=-oc〃r=-ocm="xm=0
_1(微尸_\-e~2
=l-e-lz+1-eT=(I-L—t)
7T
由此可知,B.=t\.即x(〃)一。・一(〃-1)=M(〃-1),可得到:因为抽样
1一0-吃7
间隔7;=$,所以:4=*"=不8。
(4)因此"〃)=工(〃+1)-6一一(〃),所以
&=,=rMW[0]=瓦卬(〃)M〃)]=1一""
因此&=1一不04
编程分析
由上面的分析可知初始条件4,Q,4,4,力已知,在仿真中假设X。=0,则;0=0,
A=1,由以上参数可得卡尔哩实际递推公式
A
-
Xt-i
%=4但+1厂
号="。。?7+1_产
Pk=U-H)P;
将得到的公式代入前面分析的递推公式,即可进行迭代得到结果X—
.MATLAB源代码
根据以上分析,编写matlab程序如卜.:
%%
卡尔变滤波
说明
%X(k+l)=Ak*X(k)+W(k);
%Y(k)=Ck*X(k)+V(k)
clear;clc;
%基本参数值
Ak=exp(-);Ck=l;
Qk=l-exp(-);Rk=l;
生初始值设置
X0=0;P0=l;
务观测值y(k)
Y=[---14-16-17-18---18----19--1•2••
-11-14-----
-15-
---17-11-14];
%数据长度
N=length(Y);
fork=l:N
ifk==l%k=l时由初值开始计算
P_(k)=Ak*P0*Akf+Qk;
H(k)=P_(k)*Ckf*inv(Ck*P_(k)*Ckf+Rk);
X(k)=Ak*X0+H(k)*(Y(k)-Ck*Ak*X0);
I=eye(size(H(k)));
P(k)=(I-H(k)*Ck)*P_{k);
else+k>l时,开始递推
%递推公式
P_(k)=Ak*P(k-l)*Akf+Qk;
H(k)=P_(k)*Ckf*inv(Ck*P_{k)*Ckf+Rk);
X(k)=Ak*X(k-1)+H(k)*(Y(k)-Ck*Ak*X(k-1));
I=eye(size(H(k)));
P(k)=(I-H(k)*Ck)*P_(k);
end
end
M=1:N;T=*M;
务作图,画出x(c)的波形
plot(Tf*r1f•Linewidth1z1);
xlabel(ft1);ylabel(1y(t)1);
title「卡尔笠滤波-测量信号y(七)波彬,);
grid;
plot(T,X,'bL'Linewidth1f1);
xlabel(111);ylabel(fx(t),);
title('卡尔曼波-估计信号^J)波形,);grid;
卡尔曼滤波-估计信号x(t)波形
2
0
-2
-4
•6
•8
I
I
4
A八
J)1|y
1/1/
/
w
1J1
I1
11
1
1
A/I
JJ1
I\/
>i/
■■,
£1>
/I/
,1<
/V
\/、J
f
\/V
1
/1f
f(ftgt
/I/
/
।/V
If\/
1/1/
1JV
卡尔曼滤波
实验任务二
维纳-霍夫方程
4«
r/k)=£/?(〃。晨口-加)=万(6*rjk)m=0
当人(〃)是一个长度为例的因果序列(即一个长度为M的FIR滤波器)时,维纳-霍夫
方程表述为
Af-1
力收)=〃必■-〃。=HZ*