作业:随机信号的参数建模法及MATLAB实现
2021/6/2 18:25:42
本文主要是介绍作业:随机信号的参数建模法及MATLAB实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随机信号AR模型及MATLAB实现
随机信号的参数建模法
在对语音信号进行编码时,往往通过分析不同种类语音信号的特点及产生,用数学模型表示信源,而编码器根据输入信号计算模型参数,然后对模型参数进行编码,也就是说,只需要对编码后的参数进行传送(而不需要传送语音信号本身),解码器通过收到的模型参数,直接利用相同的数学模型即可重建出语音信号,大大减小了传送的数据量.
随机信号x ( n )是由白噪声w ( n ) 激励某一确定系统的响应,只要w ( n ) 的参数确定了,研究随机信号就可以转化成研究产生随机信号的系统。
AR模型
一、原理
随机信号x ( n )由本身的若干次过去值x ( n − k )和当前的激励值w ( n )线性组合产生:
该模型的系统函数为:
其中,p pp为系统阶数。
该模型系统函数中只有极点,无零点,也称为全极点模型。系统由于极点的原因,要考虑到系统的稳定性,因而要注意极点的分布位置。
二、AR模型的参数估计
(1)可得模型参数{ak},a1=-14/24,a2=-9/24,a3=1/24,代入:
重新整理:
利用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.
(2)现已知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
(3)再根据
利用MATLAB程序:
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)
运行结果:
Rxx_obs = 列 1 至 8 1.9271 1.6618 1.5381 1.3545 1.1349 0.9060 0.8673 0.7520 列 9 至 16 0.7637 0.8058 0.8497 0.8761 0.9608 0.8859 0.7868 0.7445 列 17 至 24 0.6830 0.5808 0.5622 0.5134 0.4301 0.3998 0.3050 0.2550 列 25 至 32 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 模型参数这样直接解方程组,阶数越高时直接解方程组计算就越复杂,因而要用特殊的算法使得计算量减小且精确度高。
这篇关于作业:随机信号的参数建模法及MATLAB实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略