signed

QiShunwang

“诚信为本、客户至上”

【数据压缩作业3】随机信号的参数建模法

2021/6/3 15:44:16   来源:

随机信号的参数建模法

概念:

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

1.MA 模型

随机信号x(n)由当前的激励w(n)和若干次过去的激励w(n-k) 线性组合产生:
在这里插入图片描述

该模型的系统函数是:
在这里插入图片描述
q 表示系统阶数,系统函数只有零点,没有极点,所以该系统一定是稳定的系统,也称为全
零点模型,用 MA(q)来表示。

2.AR 模型

随机信号x(n)由本身的若干次过去值x(n-k)和当前的激励值w(n)线性组合产生:
在这里插入图片描述
该模型的系统函数是:
在这里插入图片描述
p 是系统阶数,系统函数中只有极点,无零点,也称为全极点模型,系统由于极点的原因,
要考虑到系统的稳定性,因而要注意极点的分布位置,用 AR( p )来表示。

3 ARMA 模型

ARMA 是 AR 与 MA 模型的结合:
在这里插入图片描述
该模型的系统函数是:
在这里插入图片描述
它既有零点又有极点,所以也称极零点模型,要考虑极零点的分布位置,保证系统的稳定,
用 ARMR( p ,q )表示。

在随机信号时域分析中,提出了许多数学模型用来由已知在最大不确定原则下预测将来值,其优点是只需要很少的已知值。但是它不能用在信号是确定性的场合,在确定信号的情况下,信号是由确定的数学方程预测的。这点要特别注意。

程序验证

1.已知自回归信号模型AR(3)为:
在这里插入图片描述
解:已知的是模型参数{ak} ,a1=14/24,a2=-9/24,a3=1/24,来求自相关序列Rxx(m)。
利用式在这里插入图片描述,把{ak}代入,利用自相关函数的偶对称,得到一个 4×4 的的矩阵:在这里插入图片描述
解线性方程组得:
R(0)= 4.9377 ;R(1)=4.3287; R(2)=4.1964 ;R(3)=3.8654
利用式在这里插入图片描述可以求出 R(4),R(5)… 在这里插入图片描述
当然还可以求出无穷多的自相关序列值。
用MATLAB程序实现:

clc;
clear;
close all;
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 : 6
    Rxx(m) = 0;
    for k = 1 : 3
        Rxx(m) = Rxx(m) - a(k) * Rxx(m - k);
    end
end
Rxx

结果:
在这里插入图片描述
2.已知自相关序列值,来估计 3 阶 AR 模型的参数 {aˆk}以及σ^2w,得到矩阵:
在这里插入图片描述
解线性方程组得到:aˆ1=-14/24,aˆ2=-9/24,aˆ3=1/24,σ^2w=1,可以发现对 AR 模型参数是无失真的估计,因为已知 AR 模型,我们可以得到完全的输出观测值,因而求得的自相关函数没有失真,当然也就可以不失真的估计。
用MATLAB程序实现:

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

结果:
在这里插入图片描述
3.利用给出的32点观测值 ,先求自相关序列,按照上节的样本自相关定义计算:
在这里插入图片描述
由于偶对称,只给出 m=0,1,2…31 的Rxx(m)=
[1.9271 1.6618 1.5381 1.3545 1.1349 0.9060 0.8673 0.7520
0.7637 0.8058 0.8497 0.8761 0.9608 0.8859 0.7868 0.7445
0.6830 0.5808 0.5622 0.5134 0.4301 0.3998 0.3050 0.2550
0.1997 0.1282 0.0637 0.0329 -0.0015 -0.0089 -0.0143 -0.0083]
把头 4 个相关序列值代入矩阵在这里插入图片描述
求得估计值:
â1=-0.6984,â2=-0.2748,â3=0.0915,σ^2w=0.4678
与真实 AR 模型参数误差为:e1=0.1151,e2=0.1002,e3=0.0498,原因在于我们只有一部分的观测数据,使得自相关序列值与理想的完全不同。输入信号的方差误差比较大:eσ=0.5322,造成的原因比较多,计算机仿真的白噪声由于只有 32 点长,32 点序列的方差不可能刚好等于 1。给出一段观测值求 AR 模型参数这样直接解方程组,当阶数越高时直接解方程组计算就越复杂,因而要用特殊的算法使得计算量减小且精确度高。
用MATLAB程序实现:

clc;
clear; 
close all;
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)

结果:
在这里插入图片描述