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

📄 comp_lr.m

📁 LMS和RLS自适应算法性能比较
💻 M
字号:
% Figure 8.13
% reuqire additional functions in files
% chan_1.m      ;white noise & noise shaping filter
% sys_1.m       ;unknown system & additive white noise
% lms_1.m       ;LMS adaptive filter
% rls_1.m       ;RLS adaptive filter
% c.f Figure 8.12 for configuration

%%%----- adaptive filter convergence comparison
clf
colordef(1,'black')

M = 1000;           % no. of data sample(iterations)
nensem = 1;         % no. of runs for ensemble average

% FIR noise shaping filter-comment out as appropriate
h = [1 0 0]         %(a) EVR = 1
% h = [0.2602 0.9298 0.2602] ;  %(b) EVR = 11
% h = [0.3842 0.8704 0.3482] ;  %(c) EVR = 68

nchan = max(size(h));

% FIR system to be identified
nsys = 16;          % no. of taps
t = 0:nsys-1;
hopt = exp(-t);     % impulse response
hopt = hopt/sqrt(hopt*hopt');       %normalise o/p variance to unity
npower = -60;       % relative noise power in dB
sigman = 10^(npower/20);            % noise rms

N = M + nsys;
tt = 0:M;
range = 1 + nsys-2:M + nsys - 1;

% ensemble average over nensem convergence plots
lsum_norm = zeros(1,N);
rsum_norm = zeros(1,N);
for jj = 1:nensem
    x = chan_1(h,N);
    y = sys_1(hopt,x,sigman);
    [lerr_norm,lerr_sq] = lms_1(x,y,nsys,hopt);
    [rerr_norm,rerr_sq] = rls_1(x,y,nsys,hopt);
    lsum_norm = lsum_norm + lerr_norm;
    rsum_norm = rsum_norm + rerr_norm;
end
lsum_norm(range(1)) = 1;
rsum_norm(range(1)) = 1;

set(gca,'FontSize',18);
plot(tt,10*log10(lsum_norm(range)/nensem),tt,10*log10(rsum_norm(range)/nensem));
grid
set(gca,'FontSize',18);
xlabel('iterations');
ylabel('norm(db)');

⌨️ 快捷键说明

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