📄 fig8_13.m
字号:
% Figure 8.13
% requires additional functions in files
% chan.m ;white noise & noise shaping filter
% sys.m ;unknown system & additive white noise
% lms.m ;LMS adaptive filter
% rls.m ;RLS adaptive filter
% c.f. Figure 8.12 for configuration
% Adaptive filter convergence comparison
% BM
% July 1997
clf
colordef(1,'black')
M = 1000; %no. of data samples (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(h,N);
y = sys(hopt,x,sigman);
[lerr_norm, lerr_sq] = lms(x,y, nsys, hopt);
[rerr_norm, rerr_sq] = rls(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 + -