rls_demo.m

来自「数字信号处理基础与应用 张延华著」· M 代码 · 共 50 行

M
50
字号
%  RLS Algorithm randn('seed', 0) ;rand('seed', 0) ;NoOfData = 8000 ;	% Set no of data points used for trainingOrder = 32 ;		% Set the adaptive filter orderLambda = 0.98 ;		% Set the forgetting factorDelta = 0.001 ;		% R initialized to Delta*Ix = randn(NoOfData, 1) ;% Input assumed to be whiteh = rand(Order, 1) ;	% System picked randomlyd = filter(h, 1, x) ;	% Generate output (desired signal)% Initialize RLSP = Delta * eye ( Order, Order ) ;w = zeros ( Order, 1 ) ;% RLS Adaptationfor n = Order : NoOfData ;			u = x(n:-1:n-Order+1) ;	pi_ = u' * P ;	k = Lambda + pi_ * u ;	K = pi_'/k;	e(n) = d(n) - w' * u ;	w = w + K * e(n) ;	PPrime = K * pi_ ;	P = ( P - PPrime ) / Lambda ;	w_err(n) = norm(h - w) ;end ;% Plot resultsfigure ;plot(20*log10(abs(e))) ;title('Learning Curve') ;xlabel('Iteration Number') ;ylabel('Output Estimation Error in dB') ;figure ;semilogy(w_err) ;title('Weight Estimation Error') ;xlabel('Iteration Number') ;ylabel('Weight Error in dB') ;

⌨️ 快捷键说明

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