数据压缩 第十三周作业 随机信号AR模型及MATLAB实现

发布时间:2023-07-14 16:30

随机信号AR模型及MATLAB实现

随机信号的参数建模法

为随机信号建立参数模型是研究随机信号的一种基本方法,其含义是认为随机信号x(n)是由白噪声w(n)激励某一确定系统的响应。只要白噪的参数确定了,研究随机信号就可以转化成研究产生随机信号的系统。
\"数据压缩
对平稳随机信号,三种常用的线性模型分别是 AR 模型(自回归模型 Auto-regression model),MA 模型(滑动平均模型 Moving average model)和 ARMA 模型(自回归滑移平均模型 Auto-regression-Moving average model)。这里主要介绍AR模型及其MATLAB实现。

AR 模型

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

AR 模型参数和自相关函数的关系

实例分析:
\"在这里插入图片描述\"\"数据压缩
解:
a.可得模型参数{ak},a1=-14/24,a2=-9/24,a3=1/24,代入
\"数据压缩
利用自相关函数的偶对称,得到一个 4×4 的的矩阵:
\"数据压缩
利用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
再根据
\"在这里插入图片描述\"
利用MATLAB程序:

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

求得:

Rxx =
    4.9377
    4.3287
    4.1964
    3.8654
    3.6481
    3.4027

即Rxx(4)=3.6481,Rxx(5)=3.4027
b. 现已知Rxx(0)~Rxx(5),根据
\"数据压缩
利用MATLAB程序:

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

求得:

ans =

    1.0000
   -0.5833
   -0.3750
    0.0417

即a1=-0.5833,a2= -0.3750,a3=0.0417,σ^2=1
c. 根据
\"数据压缩
利用MATLAB程序:

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)

求得:

Rxx_obs =18
 
     1.9271    1.6618    1.5381    1.3545    1.1349    0.9060    0.8673    0.7520916
 
     0.7637    0.8058    0.8497    0.8761    0.9608    0.8859    0.7868    0.74451724
 
     0.6830    0.5808    0.5622    0.5134    0.4301    0.3998    0.3050    0.25502532
 
     0.1997    0.1282    0.0637    0.0329   -0.0015   -0.0089   -0.0143   -0.0083

再将求出的Rxx(0)~Rxx(3)代入
\"数据压缩
求得:
a1=-0.6984,a2= -0.2748,a3=0.0915,σ^2=0.4678
与真实 AR 模型参数误差为: e1=0.1151, e2=0.1002, e3=0.0498,原因在于我们只有一部分的观测数据,使得自相关序列值与理想的完全不同。输入信号的方差误差比较大: eσ=0.5322,原因之一是计算机仿真的白噪声只有 32 点长,32 点序列的方差不可能刚好等于 1。当给出一段观测值求 AR 模型参数这样直接解方程组,阶数越高时直接解方程组计算就越复杂,因而要用特殊的算法使得计算量减小且精确度高。

你可能感兴趣的

相关推荐

面试官问出这几道算法题,你能扛住么?

C#实现ATM自动取款机

C++深入讲解namespace与string关键字的使用

【问题解决】Axios调用文件下载获取不到文件名

【Qt学习笔记】☞窗口插入图片

【stm32】STM32F407 如何使用代码进入USB-DFU模式?

java实现求 的近似值_Java 蒙特卡洛算法求圆周率近似值实例详解

python狗图像识别_TensorFlow实践教程:使用神经网络对犬种进行图像识别分类

python+opencv+百度智能云 人脸识别——视频人脸锁定

docker 清理缓存脚本解析

使用 MyBatis 操作 Nebula Graph 的实践

华为通用卡证识别功能,一键实现多种卡绑定

ImageNet数据集 & 下载

java新手编程题,Java编程题(新手)

记一次js文件AES加密的key与iv逆向分析

达芬奇18 都有哪些重要更新?

学习日记——FPGA实验平台板级电路详解

复杂 ETL 下 JobEngine 阻塞问题排查实录

云原生(二)--linux上安装docker

22年国内最牛的Java面试八股文合集(全彩版),不接受反驳

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号