随机信号的参数建模法
一、参数模型
- 为随机信号建立参数模型是研究随机信号的一种基本方法,其含义是认为随机信号x(n)
是由白噪w(n)激励某一确定系统的响应(如图)。只要白噪的参数确定了,研究随
机信号就可以转化成研究产生随机信号的系统。
- 对平稳随机信号,三种常用的线性模型分别是 AR 模型(自回归模型 Auto-regression model),MA 模型(滑动平均模型 Moving average model)和 ARMA 模型(自回归滑移平均模型 Auto-regression-Moving average model)。
MA 模型
随机信号x(n)由当前的激励w(n)和若干次过去的激励w(n-k)线性组合产生:
q 表示系统阶数,系统函数只有零点,没有极点,所以该系统一定是稳定的系统,也称为全
零点模型,用 MA( q )来表示。
AR模型
随机信号x(n)由本身的若干次过去值 (x)(n− k)和当前的激励值w(n)线性组合产生:
p 是系统阶数,系统函数中只有极点,无零点,也称为全极点模型,系统由于极点的原因,要考虑到系统的稳定性,因而要注意极点的分布位置,用 AR( p )来表示。
ARMA模型
ARMA 是 AR 与 MA 模型的结合:
它既有零点又有极点,所以也称极零点模型,要考虑极零点的分布位置,保证系统的稳定,
用 ARMR( p ,q )表示。
二、模型参数的估计(matlab实现)
已知自回归信号模型 AR(3)为:
解决思路:
a:已知参数模型a1=-14/24,a2=-9/24,a3=1/24,求自相关序列Rxx(m)。
利用公式
将ak代入,利用自相关函数的偶对称得到矩阵:
用matlab求解得自相关序列:
a=[-14/24 -9/24 1/24];
A=[1,a(1),a(2),a(3);a(1),1+a(2),a(3),0;a(2),a(1)+a(3),1,0;a(3),a(2),a(1),1];
b=[1;0;0;0];
Rxx=A\b
Rxx =
4.9377
4.3287
4.1964
3.8654
即Rxx(0)=4.9377、Rxx(1)=4.3287、Rxx(2)=4.1964、Rxx(3)=3.8654,又根据:
求Rxx(4)、Rxx(5)
for m=5:6
Rxx(m)=0;
for k=1:3
Rxx(m)=Rxx(m)-a(k)*Rxx(m-k);
end
endRxx
Rxx =
4.9377
4.3287
4.1964
3.8654
3.6481
3.4027
b:已知自相关序列值,来估计3阶 AR 模型的参数以及方差.
利用公式:
R=[Rxx(1),Rxx(2),Rxx(3),Rxx(4);Rxx(2),Rxx(1),Rxx(2),Rxx(3);Rxx(3),Rxx(2),Rxx(1),Rxx(2);Rxx(4),Rxx(3),Rxx(2),Rxx(1)];
format rat
a0=R\b
a0 =
1
-7/12
-3/8
1/24
可以发现对 AR 模型参数是无失真的估计,因为已知 AR 模型,我们可以得到完全的输出观
测值,因而求得的自相关函数没有失真,当然也就可以不失真的估计。
c利用给出的 32 点观测值,先求自相关序列:
xn=[0.4282 1.1454 1.5597 1.8994 1.6854 2.3075 2.4679 1.9790 1.6063 1.2804 -0.2083 0.0577 0.0206 0.3572 1.6572 0.7488 1.6666 1.9830 2.6914 1.2521 1.8691 1.6855 0.6242 0.1763 1.3490 0.6955 1.2941 1.0475 0.4319 0.0312 0.5802 -0.6177];
Rxx_obs=xcorr(xn)./length(xn);
Rxx_obs=Rxx_obs(length(xn):end)
把头 4 个相关序列值代入矩阵求得估计值:
Rxx=[1.9271;1.6618;1.5381;1.3545];
R=[Rxx(1),Rxx(2),Rxx(3),Rxx(4);Rxx(2),Rxx(1),Rxx(2),Rxx(3);Rxx(3),Rxx(2),Rxx(1),Rxx(2);Rxx(4),Rxx(3),Rxx(2),Rxx(1)];
a1=R\b
误差分析:
我们只有一部分的观测数据,使得自相关序列值与理想的完全不同,输入信号的方差误差比较大。
造成的原因较多:计算机仿真的白噪声由于只有 32 点长,32 点序列的方差不可能刚好等于 1等。