资源简介

经典beamforming、自适应滤波教材matlab源代码。 Paulo S.R. Diniz编著的自适应滤波第四版(Adaptive Filtering_Algorithms and Practical Implementation 4th),源代码——Nonlinear_Adaptive_Filters

资源截图

代码片段和文件信息

%   Bilinear_RLS.m
%       Implements the Bilinear RLS algorithm for REAL valued data.
%       (Algorithm 11.3 - book: Adaptive Filtering: Algorithms and Practical
%                                                        Implementation Diniz)
%  
%   Input parameters:
%       Nr     : members of ensemble.
%       dim    : iterations.
%       Sx     : standard deviation of input.
%       Sn     : standard deviation of measurement noise.
%       lambda : exponential weighting factor.
%      
%   Output parameters:
%       MSE    : mean-square error.
%  
%   Authors:
%       . Guilherme de Oliveira Pinto   - guilhermepinto7@gmail.com & guilherme@lps.ufrj.br
%       . Markus Vinícius Santos Lima   - mvsl20@gmailcom           & markus@lps.ufrj.br
%       . Wallace Alves Martins         - wallace.wam@gmail.com     & wallace@lps.ufrj.br
%       . Luiz Wagner Pereira Biscainho - cpneqs@gmail.com          & wagner@lps.ufrj.br
%       . Paulo Sergio Ramirez Diniz    -                             diniz@lps.ufrj.br
%


clear all; % clear memory


% Input: 
Nr     = 100;
dim    = 5e2;
Sx     = 1; 
Sn     = 1e-1;
lambda = 0.98;


% Body:
for j=1:Nr
   n=Sn*randn(dim1);        % noise at system output   
   x=Sx*(randn(dim1));         % input signal
   xl(1)=0; xl(2:dim)=x(1:dim-1);
   w=zeros(4dim);           % initial coefficient vector
   d=zeros(dim1);
   yl(1)=0; dl(1)=0;
   
   Sd=eye(4);
   for i=1:dim
      d(i)=-.6*dl(i)+x(i)+.01*x(i)*dl(i)+.02*xl(i)*dl(i)+n(i); % unknown system output sample
      uxl(:i)=[x(i) dl(i) x(i)*dl(i) xl(i)*dl(i)]‘; % new input vector
      elinha(i)=d(i)-w(:i)‘*uxl(:i)+n(i);          % error sample
      psi=Sd*uxl(:i);
      Sd=(1/lambda)*(Sd-(psi*psi‘)/(lambda+psi‘*uxl(:i)));
      w(:i+1)=w(:i)+elinha(i)*Sd*uxl(:i);         % new coefficient vector
      y(i)=w(:i+1)‘*uxl(:i);                       % output sample
      yl(i+1)=yl(i);
      dl(i+1)=d(i);
      e(i)=d(i)-y(i)+n(i);
   end
   mse(j:)=e.^2;
end

MSE=mean(mse);


% Output:
figure
plot(10*log10(MSE));
title(‘Learning Curve for MSE‘);
xlabel(‘Number of iterations k‘); ylabel(‘MSE [dB]‘);



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-11 14:50  Nonlinear_Adaptive_Filters\
     文件        2133  2011-01-04 08:53  Nonlinear_Adaptive_Filters\Bilinear_RLS.m
     文件        2803  2011-01-04 08:54  Nonlinear_Adaptive_Filters\Complex_Radial_Basis_Function.m
     文件        2615  2011-01-04 08:54  Nonlinear_Adaptive_Filters\Multilayer_Perceptron.m
     文件        2637  2011-01-04 08:54  Nonlinear_Adaptive_Filters\Radial_Basis_Function.m
     文件        2089  2011-01-04 08:54  Nonlinear_Adaptive_Filters\Volterra_LMS.m
     文件        2106  2011-01-04 08:54  Nonlinear_Adaptive_Filters\Volterra_RLS.m
     文件         134  2010-12-12 04:22  Nonlinear_Adaptive_Filters\sgd.m
     文件         108  2010-12-12 04:22  Nonlinear_Adaptive_Filters\sgm.m

评论

共有 条评论