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

📄 fig8_13.m

📁 数字信号处理Matlab演示文件,其中各个文件加放置了不同的matlab子文件
💻 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 + -