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

📄 blindsignlms.m

📁 自编:张贤达《数字信号处理》习题4.26的MATLAB程序。加入了一个GUI界面。 在MATLAB下运行MDSP。 要求MATLAB7以上版本
💻 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 + -