public class MLGridBearingLocaliser extends java.lang.Object implements BearingLocaliser
Constructor and Description |
---|
MLGridBearingLocaliser(int[] hydrophoneList,
long timMillis,
double timingError) |
MLGridBearingLocaliser(int hydrophoneBitMap,
long timMillis,
double timingError) |
Modifier and Type | Method and Description |
---|---|
PamVector[] |
getArrayAxis()
Get the principle axis of the array
|
int |
getArrayType() |
int |
getHydrophoneMap()
Get a hydrophone map for this localiser
|
double[][] |
localise(double[] delays,
long timeMillis)
Calculate angles theta and phi, based on a set of delays.
|
double[][] |
localiseByBisection(double[] delays) |
double[][] |
localiseByCrawl(double[] delays,
long timeMillis) |
void |
prepare(int[] arrayElements,
long timMillis,
double timingError)
Do any preparation necessary (e.g.
|
public MLGridBearingLocaliser(int hydrophoneBitMap, long timMillis, double timingError)
public MLGridBearingLocaliser(int[] hydrophoneList, long timMillis, double timingError)
public void prepare(int[] arrayElements, long timMillis, double timingError)
BearingLocaliser
prepare
in interface BearingLocaliser
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).public PamVector[] getArrayAxis()
BearingLocaliser
getArrayAxis
in interface BearingLocaliser
for a planar array, this will be the vector on the plane between two hydrophones which is closest to the y axis.
public int getArrayType()
getArrayType
in interface BearingLocaliser
public double[][] localise(double[] delays, long timeMillis)
BearingLocaliser
localise
in interface BearingLocaliser
delays
- array of delay times.timeMillis
- of this detection. This is relatively unused except in situation where hydrophone elements are moving relative to each other with time.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.
public double[][] localiseByCrawl(double[] delays, long timeMillis)
public double[][] localiseByBisection(double[] delays)
public int getHydrophoneMap()
BearingLocaliser
getHydrophoneMap
in interface BearingLocaliser