⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rls2.m

📁 一个配对的RLS程序
💻 M
字号:

%RLS2 Problem 1.1.1.1.2.3
%
%   'ifile.mat' - input file containing:
%      I - members of ensemble
%      K - iterations
%      sigmax - standard deviation of input
%      Wo - coefficient vector of plant
%      sigman - standard deviation of measurement noise
%      lambda - forgetting factor
%      b - bits in decimal part
% 
%   'ofile.mat' - output file containing:
%      ind - sample indexes 
%      MSE - mean-square error
%      MSNDW - mean-square norm of coefficient-error vector

clear all	% clear memory
load ifile;	% read input variables
L=length(Wo);		% plant and filter length
N=L-1;			% plant and filter order
ilambda=1/lambda;	% auxiliary constant
delta=1/sigmax^2;	% initialization factor for SD
MSE=zeros(K,1);		% prepare to accumulate MSE*I
MSNDW=zeros(K,1);	% prepare to accumulate MNSDW*I

for i=1:I,		% ensemble
   X=zeros(L,1);    	% initial memory
   SD=delta*eye(L);	
	% initial inverse of deterministic correlation matrix
   W=zeros(L,1);	% initial coefficient vector
   x=randn(K,1)*sigmax;		% input 
   n=randn(K,1)*sigman;		% measurement noise 
   for k=1:K,		% iterations
      X=[x(k)		
         X(1:N)];	% new input vector
      d=Wo'*X;		% desired signal sample
      ep=d+n(k)-W'*X;	
      ep=qround(ep,b);	% a priori error sample
      psi=SD*X;
      psi=qround(psi,b);
      SD=ilambda*qround((SD-psi*psi'/qround((lambda+psi'*X),b)),b);
	% new inverse of deterministic correlation matrix
      W=W+ep*SD*X;		
      W=qround(W,b);	% new coefficient vector
      MSE(k)=MSE(k)+ep^2;	% accumulate MSE*I
      MSNDW(k)=MSNDW(k)+norm((Wo-W),2)^2; 
                        % accumulate MSNDW*I
   end
end

ind=0:(K-1);		% sample indexes
MSE=MSE/I;		% calculate MSE
MSNDW=MSNDW/I;		% calculate MSNDW
save ofile ind MSE MSNDW;	% write output variables

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -