📄 run_qrd_lsl.m
字号:
function run_qrd_lsl(rp)Niter = rp.Niter;Ndata = rp.Ndata;seed = 0:(Niter-1);verbose = 0;lambda = rp.lambda;var_v = rp.var_v;delta = rp.delta;T = rp.Th = [1/2*(1+cos(2*pi/T*((1:3) - 2)))];M = rp.M;% because we do not truncate and shift the convolved input% sequence, the delay of the desired output sequence wrt% the convolved input sequence need only be the delay% introduced by the ideal weight vector centred at n=5tau = rp.tau;Npred = (Ndata + length(h) - 1) - 1; % discard terminal iteration in nWx = zeros(M+1, Npred-M+1);E = [];Gamma = [];for iter = 1:Niter, iter rand('seed', seed(iter)); randn('seed', seed(iter)); a = [2*(rand(Ndata, 1) > 0.5) - 1]; Xi = conv(a, h); Xi = Xi + sqrt(var_v)*randn(length(Xi), 1); Y = [zeros(tau, 1) ; a(1:Ndata)]; [Wo, e, gamma] = qrd_lsl(Xi, Y, M, verbose, lambda, delta); Wx = Wx + Wo(:, M:Npred); % ignore 1st M-1 incomplete weight vectors E = [E ; e((tau+1):Npred)]; Gamma = [Gamma ; gamma]; save tmp.mat iter Wx E Gamma;end; % for iterWx = Wx / Niter;eval(['save ', rp.name])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -