From 8e4c0cef5d90954753e26450a331c94d57346556 Mon Sep 17 00:00:00 2001 From: ZaellixA <axilleaz@protonmail.com> Date: Tue, 17 Sep 2024 16:12:47 +0100 Subject: [PATCH] Fix separation of observation filters from the vectorised filter in obsFiltTD.m --- .../MATLAB/Functions/obsFiltTD.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Virtual Sensing/Remote Microphone Technique/MATLAB/Functions/obsFiltTD.m b/Virtual Sensing/Remote Microphone Technique/MATLAB/Functions/obsFiltTD.m index eaef498..b09f705 100644 --- a/Virtual Sensing/Remote Microphone Technique/MATLAB/Functions/obsFiltTD.m +++ b/Virtual Sensing/Remote Microphone Technique/MATLAB/Functions/obsFiltTD.m @@ -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 -- GitLab