作业|随机信号的参数建模法

一、概述

为随机信号建立参数模型是研究随机信号的一种基本方法,其含义是认为随机信号x(n) 是由白噪 w(n) 激励某一确定系统的响应。只要白噪的参数确定了,研究随机信号就可以转化成研究产生随机信号的系统。

信号的现代建模方法(Modern modeling method for signal)是建立在具有最大的不确定性基础上的预测。根据 Wold 的证明:任何平稳的 ARMA(自回归移动平均)模型或 MA 模型均可用无限阶或阶数足够的 AR 模型去近似。

对平稳随机信号,三种常用的线性模型分别是 AR 模型(自回归模型 Auto-regression model),MA 模型(滑动平均模型 Moving average model)和 ARMA 模型(自回归滑移平均 模型 Auto-regression-Moving average model)。

1.MA 模型

随机信号 x(n) 由当前的激励 w(n) 和若干次过去的激励 w(n k ) 线性组合产生:

该模型的系统函数是:

该模型的系统函数既有零点又有极点,所以也称极零点模型,要考虑极零点的分布位置,保证系统的稳定,用 MA(q)表示。

2.AR 模型

随机信号 x(n) 由本身的若干次过去值 x(n k ) 和当前的激励值 w(n) 线性组合产生:

该模型的系统函数为:

p 是系统阶数,系统函数中只有极点,无零点,也称为全极点模型,系统由于极点的原因,要考虑到系统的稳定性,因而要注意极点的分布位置,用 AR(p)来表示。

3.ARMA 模型

ARMA 是 AR 与 MA 模型的结合:

该模型的系统函数是:

它既有零点又有极点,所以也称极零点模型,要考虑极零点的分布位置,保证系统的稳定,用 ARMR(p,q)表示。

二、AR 模型参数的估计

实际应用中,使用较多的是 AR 模型,因为建立这种的模型计算工作比较容易。三种模型都可以互相转换。实际中选用哪一种模型就要考虑到节约和计算量,选定模型后,剩下的任务就是用适当的算法估计模型参数( ak  bk p q ),以便用模型对随机信号进行预测。

 

,对该式两边同时乘以x(n m) , 然后求均值:

因为自相关函数:

所以自相关函数呈现偶对称,

系统的单位脉冲响应好h(n)是因果的,所以输出的平稳随机信号和输入的白噪声之间的互相关函数有下列推导:

所以

显然,AR 模型输出信号的自相关函数具有递推的性质,即:

求输入的白噪声方差为:

把该式的下标简化并写成矩阵的形式,可以写成单一的正规矩阵方程:

方程组的系数都是自相关矩阵,由于自相关函数是偶对称函数:,因而自相关矩阵是对称矩阵,与主对角线平行的斜对角线上的元素都 是相同的,其中应用广泛的有 Levinson-Durbin(L-D)算法。Yule-Walker(Y-W)方程表明,只要已知输出平稳随机信号的自相关函数,就能求出 AR 模型中的参数{ak },并且需要的观测数据较少。

【例题1】 已知自回归信号模型 AR(3)为:

解:a. 已知的是模型参数 {ak},a1 =-14/24,a2 =-9/24,a3 =1/24,

\begin{bmatrix} R(0)&R(1)&R(2)&R(3) \\ R(1)&R(0)&R(1)&R(2) \\ R(2)&R(1)&R(0)&R(1) \\ R(3)&R(2)&R(1)&R(0) \end{bmatrix}\begin{bmatrix} 1\\ a1\\ a2\\ a3 \end{bmatrix}=\begin{bmatrix} 1\\ 0\\ 0\\ 0 \end{bmatrix}

\begin{bmatrix} 1&a1&a2&a3 \\ a1&1+a2&a3&0 \\ a2&a1+a3&1&0 \\ a3&a2&a1&1 \end{bmatrix}\begin{bmatrix} R(0)\\ R(1)\\ R(2)\\ R(3) \end{bmatrix}=\begin{bmatrix} 1\\ 0\\ 0\\ 0 \end{bmatrix}

可求出Rxx(m)

利用MATLAB:

clc;
clear;
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

求出结果:

根据:

可以求出R(4),R(5),……

clc;
clear;
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

for m = 5 : 11
    Rxx(m) = 0;
    for k = 1 : 3
        Rxx(m) = Rxx(m) - a(k) * Rxx(m - k);
    end
end
Rxx

结果:

b.将R(0),R(1),R(2),R(3)代入

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)];
R \ b

结果:

\hat{a1}=-0.583,\hat{a2}=-0.3750,\hat{a3}=0.0417,σw²=1

可以发现对 AR 模型参数是无失真的估计,因为已知 AR 模型,我们可以得到完全的输出观测值,因而求得的自相关函数没有失真,当然也就可以不失真的估计。

c.根据、给出的32点观测值,求自相关序列Rxx(m),m=0,1,…,31

clear; clc;
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 个相关序列值代入矩阵求得估计值:

 \hat{a1}=-0.6984,\hat{a2}=-0.2748,\hat{a3}=0.0915,σw²=0.4678,

与真实 AR 模型参数误差为: e1=0.1151,e2 =0.1002,e3 =0.0498,原因在于我们只有一部分的观测数据,使得自相关序列值与理想的完全不同。输入信号的方差误差比较大:eσ = 0.5322,造成的原因比较多,计算机仿真的白噪声由于只有 32 点长,32 点序列的方差不可能刚好等于1。给出一段观测值求 AR 模型参数这样直接解方程组,当阶数越高时直接解方程组计算就越复杂,因而要用特殊的算法使得计算量减小且精确度高。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值