Skip to content
Snippets Groups Projects
Commit 8e4c0cef authored by Achilles Kappis's avatar Achilles Kappis
Browse files

Fix separation of observation filters from the vectorised filter in obsFiltTD.m

parent af05ac10
No related branches found
No related tags found
1 merge request!4Fix time-domain calculations of the optimal observation filter
......@@ -251,7 +251,11 @@ function [O, Rme, Rmm, Ovec, RmeMtx, RmmMtx, condNum, mMtx, Omean, RmeMean, RmmM
end
% "Split" observation filter vector to observation filters per monitoring and virtual microphone
O = permute(reshape(permute(Ovec, [2, 1, 3]), filtLen, size(m, 2), size(e, 2), size(m, 3)), [3, 1, 2, 4]);
for jIdx = size(Ovec, 3):-1:1
for mIdx = size(m, 2):-1:1
O(:, :, mIdx, jIdx) = Ovec(:, mIdx:size(m, 2):end, jIdx);
end
end
% ====================================================
% Provide additional output arguments
......@@ -278,7 +282,9 @@ function [O, Rme, Rmm, Ovec, RmeMtx, RmmMtx, condNum, mMtx, Omean, RmeMean, RmmM
Oopt = RmeMtxMean.'/(RmmMtxMean + beta * eye(size(RmmMtxMean)));
% Reshape
Omean = permute(reshape(Oopt.', filtLen, size(m, 2), size(e, 2)), [3, 1, 2]);
for mIdx = size(m, 2):-1:1
Omean(:, :, mIdx) = Oopt(:, mIdx:size(m, 2):end);
end
end
% Mean cross-correlations between monitoring and virtual microphones over trials/sound field realisations
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment