📄 blms.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Implementation of the BLMS filter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% u Input vector
% d Desired output
% mi mi coefficient
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%initalisation
M=length(w0); %Filter dimension
w=w0; %Initial w value
%mi=0.075; %Value of mi
L=M; %Block dimension
samples=length(u);
if (size(u,2)>1)
u=u';
end
if (size(w,2)==M)
w=w';
end
if (size(d,2)>1)
d=d';
end
if (mode(1)==1)
w_save=w;
end
if (mode(2)==1)
e_save=[];
end
if (mode(3)==1)
y_save=[];
end
for kk=1:((samples-M)/L)
A=[];
for ii=0:L-1
A=[A u((kk-1)*L+ii+M:-1:(kk-1)*L+ii+1)];
end
A=A';
y=A*w;
e=d((kk-1)*L+M:(kk-1)*L+M+L-1)-y;
phi=A'*e;
w=w+mi*phi;
if (mode(3)==1)
y_save=[y_save reshape(y,1,size(y,1)*size(y,2))];
end
if (mode(2)==1)
e_save=[e_save e];
end
if (mode(1)==1)
w_save=[w_save w];
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -