logo资料库

参数估计带遗忘因子递推最小二乘法仿真.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
300 RETURN
线性时变过程的RLS估计 程序名“RLS1·BAS” 过程模型 4 遗忘因子B=1(白噪声干扰,噪声系数 *10) 参数估计结果(填入下表) K a1估计 b1估计 5 遗忘因子B=0.95(白噪声干扰,噪声系数 *10) 参数估计结果(填入下表) K a1估计 b1估计 参数估计曲线(不同遗忘因子)
附:参数估计带遗忘因子递推最小二乘法仿真(RLS)(BASIC) 模型:y(N+1) = N+1T  + (N+1) 其中 T  k  [ , aa 1 2 ,...., , bba 2 n , 1 ,..., b n ] T  k [  ( ky  ),..., 1  ( ky  ( ), kun  ),..., 1 ( ku  n )] 带遗忘因子的RLS法递推算式:  N+1 =  N+ K N+1(y(N+1) – N+1T  N) 式(2-3-5) K N 1   P  NN 1  T P   NN N  1  式(2-4-1) 1 
P N  1      P N  T P  N N N  T 2 P   N N 1 1  P 1 N 1       N  1 式(2-4-2) 参考程序(BASIC) ’ 赋初值 40 N=200: M=2: D=2 ’( N—数据量;M—参数维 数;D—滞后量 D ≧1) 50 DIM Y(N),U(N),A(M),P(M,M), C(M,N),X(M),PX(M),E(N),A1(N), B1(N) ’ Y—输出;U—输入;A—参数估计;P—估计 误差协方差阵;C—贮存参数估计结果;E—随机干扰; PX—工作单元 ; X—观测数据向量;A1和B1—参数真值 (一阶系统) 60 RANDOMIZE 77: ’ 伪随机数初始化 70 FOR I =1 TO M:A(I)=0 : P(I,I)=1000000.: NEXT I 80 B=1.:’赋遗忘因子赋值 90 FOR K= 5 TO N:’ 主循环 100 A1(K)= —0.9: B1(K)=0.1: C1=0. :’赋真值 110 IF K〉=50 THEN A1(K)= —0. 5: B1(K)=0.5: ’ 参数时变 120 US=100: IF RUN(0)〉0.65 THEN US= —1*US 130 U(K)= US:’给定输入 140 E(K)=(RND(1)— 0.5)*10:’噪声 150 Y(K)= —A1(K)*Y(K—1)+ B1(K)*U(K— D)+E(K)+C1*E(K—1):’ 过程仿真 160 X(1)= —Y(K—1): X(2)= U(K—D): ' 观 测 数据向量 赋值 170 GOSUB 220 ’ 180 FOR I=1 TO M: C(I,K)=A(I): NEXT I 调用RLS子程序 ’存入参数估计结果
200 NEXT K 210 END 220 ’********** 参数估计 RLS 子程序 **************** 225 ’** W 用于存放 N+1T N ; Z 用于存放 N+1T P N N+1 ** 230 Z=0: W=0: FOR I=1 TO M : PX(I)= 0: NEXT I 240 FOR I=1 TO M: FOR J=1 TO M 250 Z=Z+P(I,J)*X(I)*X(J):PX(I)= PX(I)+ P(I,J)*X(J): NEXT J 260 W=W+A(I)*X(I): NEXT I: RE=Y(K)—W 270 FOR I=1 TO M: A(I)=A(I)+ PX(I)*RE/ (B+Z): FOR J=1 TO M 280 P(I,J)=(P(I,J)—PX(I)*PX(J)/ (B+Z))/B 290 NEXT J: NEXT I 300 RETURN
分享到:
收藏