Localiser
Interface BearingLocaliser

All Known Implementing Classes:
MLGridBearingLocaliser, PairBearingLocaliser

public interface BearingLocaliser

Class to estimate bearings, with errors from a closely spaced hydrophone array

Author:
Doug Gillespie

Method Summary
 PamVector[] getArrayAxis()
          Get the principle axis of the array
 int getArrayType()
           
 double[][] localise(double[] delays)
          Calculate angles theta and phi, based on a set of delays.
 void prepare(int[] arrayElements, double timingError)
          Do any preparation necessary (e.g.
 

Method Detail

prepare

void prepare(int[] arrayElements,
             double timingError)
Do any preparation necessary (e.g. creation of look up tables)

Parameters:
arrayElements - list of hydrophone array elements in the sub array for this localiser.
timingError - expected timing error for each measurement (typically 1/12 of an ADC bin, or less if interpolation is being used in the cross correlation function).

getArrayType

int getArrayType()
Returns:
the type of array - linear, planar, volumetric, etc.

getArrayAxis

PamVector[] getArrayAxis()
Get the principle axis of the array

Returns:
for a linear array this will be a vector along the array;

for a planar array, this will be the vector on the plane between two hydrophones which is closest to the y axis.


localise

double[][] localise(double[] delays)
Calculate angles theta and phi, based on a set of delays. The number of delays should be equal to n(n-1)/2 where n is the number of hydrophone elements in the sub array.

Parameters:
delays - array of delay times.
Returns:
theta, phi and their estimated errors all in radians.

Data are packed into a two row array, the first row of which contains one or two angles, the second (optional) row contains the errors on those angles.