📄 blindsignlms.m
字号:
function [DivideOut,VError]=BlindSignLMS(InSign,MixMatrix,StepLen)
%InSign---s(n)
%MixMatrix---A
%StepLen---μ
%DivideOut---y(n)
%VError---串音误差
%
[mS,nS]=size(InSign);
[mM,nM]=size(MixMatrix);
if (mM~=nM)
msgbox('Lengh of Matrix dimensions must equal!');
error('Lengh of Matrix dimensions must equal!');
elseif (nM~=mS)
msgbox('Matrix dimensions not competible!');
error('Matrix dimensions not competible!');
else
VError=zeros(1,nS);
DivideOut=zeros(mS,nS);
W=zeros(mM,nM);
for i=1:1:mM
W(i,i)=1;
end
X=MixMatrix*InSign;
for i=1:1:nS
DivideOut(:,i)=W*X(:,i);
Y=DivideOut(:,i);
G=Y.^3;
W=W+StepLen*(G*Y'-Y*G')*W;
VError(i)=VoiceError(W*MixMatrix);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -