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]
    

    Henrik Stewénius

    +1-859-257-1257x82213