Solving Planar Microphone-Speaker Problems
Henrik Stewénius & David Nistér.
For microphone-speaker configurations where the absolute travel times are
known we have a solver for the minimal case in the plane. In space
the situation is more complicated and only the number of solutions is
known but we have no solvers.
Absolute Planar 3x3
Solves planar relative pose for 3 speakers and 3 microphones
where absolute distance is known between each microphone-speaker
pair.
Example
Let the 3x3 matrix S contain the squared distances, then
this code will solve for all microphone and speaker location. There can
be at most 8 solutiona and some of these may be complex. The solutions
are returned as columns of a matrix.
%Get random microphones
X = [0 abs(rand(1)) 4+rand(1); 0 0 abs(rand(1)) ];
%Get random speakers
Y = randn( 2,3);
%Define a function to compute the squared distances
audio_observe33=inline('reshape(sum((X(:,[1:3 1:3 1:3])-Y(:,[1 1 1 2 2 2 3 3 3])).^2), 3, 3)','X','Y');
%Compute the squared distances
S = audio_observe33( X, Y);
%Solve
Xest = audio_abs_flat( S ) ;
% %The correct answer is [X(:);Y(:)]
Download
audio_abs_flat.m, The frontend for the solver. Depends on the helper function below.
audio_abs_flat_helper.c, helper function. Must be compiled.
audio_abs_flat.m2, Initial analysis using Macaulay 2.
Absolute 3D 4x6 and 6x4
audio_abs_3D.m2, Initial analysis using
Macaulay 2. The answer from
this program is 304 and there is (at least) 8fold symmetry. We believe that there are 38 solutions.
Read More
|
|
H. Stewénius.
Gröbner Basis Methods for Minimal Problems in Computer
Vision.
PhD thesis, Lund University, April 2005.
[ bib |
code |
.pdf ]
|
|
The above four solutions all correspond to the below
matrix of squared distances. There are also 4 complex solutions (not shown).
[9 7 1
7 4 3
3 5 6]
|