demix.m

来自「卷积盲源分离」· M 代码 · 共 26 行

M
26
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y = demix(Wt,x)
% this is very slow, better would be something 
% like overlap-save, see Haykin or Oppenheim/Schaefer
% it is assumed that size(Wt) = [ds dx T]
% size(x) = [?? ds]

[ds dx T] = size(Wt);
[rx cx] = size(x);

% check for consistency
if ds ~= cx
error('Wt and x must fit together')
end

% allocate memory for y
y = zeros(rx,ds);

% do the convolution using matlab's built-in filter
for ii = 1:ds
for jj = 1:dx
y(:,ii) = y(:,ii) + filter(Wt(ii,jj,:),1,x(:,jj));
end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?