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

📄 rls自适应滤波.txt

📁 基于RLS算法matlab小程序
💻 TXT
字号:
% RLS 算法 
randn('seed', 0) ; 
rand('seed', 0) ; 

NoOfData = 8000 ; % Set no of data points used for training 
Order = 32 ; % Set the adaptive filter order 

Lambda = 0.98 ; % Set the forgetting factor 
Delta = 0.001 ; % R initialized to Delta*I 

x = randn(NoOfData, 1) ;% Input assumed to be white 
h = rand(Order, 1) ; % System picked randomly 
d = filter(h, 1, x) ; % Generate output (desired signal) 

% Initialize RLS 

P = Delta * eye ( Order, Order ) ; 
w = zeros ( Order, 1 ) ; 

% RLS Adaptation 

for 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 results 

figure ; 
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -