欢迎来到天天文库
浏览记录
ID:51417711
大小:47.98 KB
页数:6页
时间:2020-03-24
《批处理最小二乘算法.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、理论问题:1)白噪声信号是什么?Matlab中如何产生?2)逆M序列是什么?Matlab中如何产生?答:(1)白噪声(whitenoise)系统辨识中所用到的数据通常都含有噪声,从工程实际出发,这种噪声往往可以视为具有理谱密度的平稳随机过程。白噪声是一种最简单的随机过程,是由一系列不相关的随机变量组成的理想化随机过程。白噪声的数学描述如下:如果随机过程均值为0、自相关系数为,即式中,为单位脉冲函数,即则称该随机过程是白噪声。Matlab中产生代码为:xi=randn(L,1);%随机产生均值为0,方差为1
2、的高斯随机白噪声序列(2)逆M序列谱分析表明,M序列含有直流成分,将造成对辨识系统的“净扰动”,这通常不是所希望的。而逆M序列将克服这一缺点,是一种比M序列更为理想的伪随机码序列。设是周期为、元素的取值为0或1的M序列,是周期为、元素依次取值为0或1的方波序列,将这两序列按位进行异或运算,得到的符合序列就是周期为、元素取值为0或1的逆M序列,记作,即有上述逆M序列的逻辑值“0”或“1”分别变换为-1或1,此时逆M序列的均值为0。Matlab中产生代码为:IM=xor(S,x4);ifIM==0u(k)=-
3、1;elseu(k)=1;End代码中S为元素依次取0或1的方波序列。题目:考虑如下系统:式中,为方差为1的白噪声。选用幅值为1的逆M序列作为输入信号,利用LS算法进行参数估计(数据长度L=100)Matlab代码如下:>>clearallL=100;d=3;%数据长度为100,纯迟延为3T,uk=zeros(4,1);%初始输入u(0)=u(-1)=u(-2)=u(-3)=0yk=zeros(2,1);%初始输出y(0)=y(-1)=0x1=1;x2=1;x3=1;x4=0;S=1;xi=randn(L
4、,1);%数据长度为100,方差为1的白噪声theta=[-1.5;0.7;1.0;0.5];%a1=-1.5,a2=0.7,b0=1,b1=0.5fork=1:Lphi(k,:)=[-yk;uk(3:4)]';%100×4矩阵phi第k行对应的y(k-1),y(k-2),u(k-3),u(k-4)y(k)=phi(k,:)*theta+xi(k);%100×1矩阵y第k行对应的y(k)IM=xor(S,x4);%把M序列和方波进行异或运算得到逆M序列ifIM==0u(k)=-1;elseu(k)=1;e
5、ndS=not(S);M=xor(x3,x4);%继续产生M序列,为制造逆M序列做准备x4=x3;x3=x2;x2=x1;x1=M;%更新数据fori=4:-1:2uk(i)=uk(i-1);enduk(1)=u(k);%更新输入值ukfori=2:-1:2yk(i)=yk(i-1);endyk(1)=y(k);%更新输出值ykendthetae=inv(phi'*phi)*phi'*y'%最小二乘估计公式,计算参数估计值结果thetae=-1.54890.74791.12200.5626分析如下系统方程
6、为由CAR模型:可以得到:我们可以知道纯迟延为3T,na=2,nb=1,d=3,phi(k,:)=[-yk;uk(3:4)]';100×4矩阵phi第k行对应的y(k-1),y(k-2),u(k-3),u(k-4)y(k)=phi(k,:)*theta+xi(k);输出等于矩阵phi与真值矩阵相乘加上白噪声。这是循环的主体,接下来一开始我们赋给初值给输入以及输出初始输入u(0)=u(-1)=u(-2)=u(-3)=0;初始输出y(0)=y(-1)=0;所以经过白噪声的更新代码后,以及输入输出值得更新后我们
7、有,也就是把计算出来的y(1)给到下一组y(2)的计算中区去:...如此不停的循环直到满足循环次数L:L次数越大,也就是我们的估计结果会越接近真值。最后我们获得矩阵也就是我们代码中所说的phi:根据批处理最小二乘法得到最后结果为:
此文档下载收益归作者所有