📄 vlms.m
字号:
%VLMS Volterra LMS algorithm%% 'ifile.mat' - input file containing:% Nr - members of ensemble% dim - iterations% Sx - standard deviation of input% Sn - standard deviation of measurement noise% u - convergence factor% Nw - length of the adaptive filter% % 'ofile.mat' - output file containing:% MSE - mean-square errorclear all % clear memoryload ifile; % read input variablesfor j=1:Nr n=Sn*randn(dim,1); % noise at system output x=Sx*randn(dim,1); % input signal xl1=zeros(dim,1); xl2=xl1; xl1(2:dim)=x(1:dim-1); % x(k-1) xl2(3:dim)=x(1:dim-2); % x(k-2) d=zeros(dim,1); d=-.76*x-xl1+xl2+.5*x.^2+2*x.*xl2-1.6*xl1.^2+1.2*xl2.^2+.8*xl1.*xl2+n; ... % unknown system output w=zeros(Nw,dim); % initial coefficient vector uxl=[x xl1 xl2 x.^2 x.*xl1 x.*xl2 xl1.^2 xl1.*xl2 xl2.^2]'; % input vectors for i=1:dim e(i)=d(i)-w(:,i)'*uxl(:,i)+n(i); % error sample y(i)=w(:,i)'*uxl(:,i); % output sample w(:,i+1)=w(:,i)+2*u*e(i)*uxl(:,i); % new coefficient vector end mse(j,:)=e.^2;end MSE=mean(mse);save ofile MSE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -