系统辨识之递推极大似然法参数估计

设仿真对象

题目

噪声ε(k)是均值为0,方差为1的正态分布不相关随机噪声,输入u(k)采用幅值为1的伪随机码,采用递推极大似然法进行系统辨识

递推极大似然法递推公式:

递推公式

递推公式(1)(2)(5)

系统输入输出序列以及噪声的产生

输入序列的产生
系统的输入可以采用M序列,M序列称为伪随机二位式序列,它是一种具有某些伪随机信号的统计特性的信号,具有二位式特征。二电平M序列与二位白噪声序列的自相关函数不同,但可把二电平M序列的自相关函数近似看做二位白噪声序列。

M序列发生器

M序列发生器

M序列采用四级移位寄存器,初始值设为1010。
M序列的产生步骤:
(1)设置初始值x1=1,x2=0,x3=1,x4=0
(2)x3=1与x4=0异或,将值赋给x0
(3)将x1,x2,x3,x4移位,即x4=x3,x3=x2,x2=x1,x1=x0
(4)从步骤(2)开始循环,直至满足循环次数

M序列

M序列

噪声序列和输出序列的产生
要求噪声序列为均值为0,方差为1的正态分布不相关随机噪声。可知噪声是标准正态分布随机序列。在Matlab中,产生标准正态分布的随机数或矩阵可以用randn函数或normrnd函数。randn函数产生的随机序列必然服从标准正态分布,normrnd函数既可以产生标准正太分布随机序列也可以产生非标准正太分布随机序列产生标准正态分布分布需要给出其方差1。randn函数或normrnd函数产生标准正太分布的用法如下:
randn(m, 1)
normrnd(0, 1, 1, m)
其中m表示产生标准正态分布随机序列的个数。
由仿真对象结合噪声序列、输入序列,以及输入输出初值,y(2),y(1),u(2),u(1)可以产生输出序列。

不相关随机噪声

系统随机噪声

递推极大似然法对系统辨识过程

递推极大似然法对系统辨识过程如下:

(1)首先产生具有四位移位寄存器的M序列当作输入u(k);

(2)然后产生值为0,方差为1的正态分布不相关随机噪声ε(k)

(3)根据仿真对象的差分方程,和已知的输入u(k)以及不相关随机噪声ε(k)产生输出y(k)

(4)根据近似极大似然的递推公式,估计出参数θ(^)的值,具体递推过程如下

1设置所需初始值:e(2),e(1),ψ1,θ(^)0,P0

2根据公式(3)和(4)求出eN+1

3根据公式(2)求出θ(^)N+1

4根据公式(1)求PN+1

5根据公式(5求ψN+1

6从1处开始循环,直至最后一个观测值结束。或者,判断Max{|(θ(^)N+1-θ(^)N)/θ(^)N|}<10-4是否成立,若成立则停机,若不成立则从1处循环。

程序流程概图

程序流程概览

结果与分析

利用Matlab对仿真系统进行了辨识。通过Matlab产生的输入输出样本,利用近似极大似然法的递推公式,编程辨识出了系统的参数。极大似然估计出的参数及误差,如下表所示:

参数

a1

a2

b1

b2

c1

c2

参数真值

1.642

0.715

0.39

0.35

-1

0.2

参数估计值

1.6462

0.7204

0.3877

0.3565

-0.9932

0.1998

绝对误差

0.0042

0.0054

-0.0023

0.0065

0.0068

-0.0002

相对误差

0.256%

0.755%

0.590%

1.857%

0.680%

0.100%

系统误差曲线

绝对误差曲线

真值与估计值的对比

估计值与真值的对比

Matlab源程序:

13 Comments

  1. 夏宇轩博客

    个人很抵触这样的数字,看见数字很晕啊

    Reply

  2. 小草元

    好高深的数学。上学的时候我也学过Matlae仿真,那时没认真学,现在很想自学。。。

    Reply

  3. 卢旭庆

    看到这个就想起了我悲剧的概率论。。。。 ❗

    Reply

  4. 微历史

    看上去真的很高级,看不懂

    Reply

  5. 婴儿游泳池

    看的吐血身亡

    Reply

  6. haze

    嘿嘿嘿 😡

    Reply

  7. Aivier

    这是我学的最差的东西…一直不及格

    Reply

  8. 幼儿园文化网

    😳 看着很头疼的说

    Reply

  9. 静水流深

    我也经常要用matlab

    Reply

  10. 麦田一根葱

    这是啥?

    Reply

  11. 那时年少

    😐 虽然学数学出身的,但看见这些数字就头疼

    Reply

  12. 起重配件

    路过 支持一下 :mrgreen:

    Reply

Leave a Reply

*