Class LSQBearingLocaliser
java.lang.Object
Localiser.algorithms.timeDelayLocalisers.bearingLoc.LSQBearingLocaliser
- All Implemented Interfaces:
BearingLocaliser,LocalisationAlgorithm,LocalisationAlgorithmInfo
-
Constructor Summary
ConstructorsConstructorDescriptionLSQBearingLocaliser(int hydrophoneBitMap, long timeMillis, double timingError) -
Method Summary
Modifier and TypeMethodDescriptionGet information about the localisation algorithm.Get the algorithm nameGet the principle axis of the arrayintintGet a hydrophone map for this localiserintGet the likely content flags for this localiser.getLocalizationOptionsPanel(Window parent, LocalizationBuilder locBuilder) Get options panel to either build into the export dialog or to show as a separate dialog (in which case export wizard will show a button).Get the algorithm parameters.Get something that can make LocalisationType objects of a form a bit bespoke to the type of localiser.double[][]localise(double[] delays, long timeMillis) Calculate angles theta and phi, based on a set of delays.doublelogLikelihood(double[] delays, double[] angles) Calculate a log likelihood for a given pair of anglesdoublelogLikelihood(double[] delays, double angle0, double angle1) Log likelihood functiondoublelogLikelihood(double[] delays, Jama.Matrix whaleVector) Calculate a log likelihood for a given whale vector.voidprepare(int[] arrayElements, long timeMillis, double timingError) Do any preparation necessary (e.g.
-
Constructor Details
-
LSQBearingLocaliser
public LSQBearingLocaliser(int hydrophoneBitMap, long timeMillis, double timingError)
-
-
Method Details
-
getLocalisationContents
public int getLocalisationContents()Description copied from interface:LocalisationAlgorithmInfoGet the likely content flags for this localiser.- Specified by:
getLocalisationContentsin interfaceLocalisationAlgorithmInfo- Returns:
- localisation flags.
- See Also:
-
prepare
public void prepare(int[] arrayElements, long timeMillis, double timingError) Description copied from interface:BearingLocaliserDo any preparation necessary (e.g. creation of look up tables)- Specified by:
preparein interfaceBearingLocaliser- Parameters:
arrayElements- list of hydrophone array elements in the sub array for this localiser.timeMillis- , current time for this localisationtimingError- 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
public int getArrayType()- Specified by:
getArrayTypein interfaceBearingLocaliser- Returns:
- the type of array - linear, planar, volumetric, etc.
-
getHydrophoneMap
public int getHydrophoneMap()Description copied from interface:BearingLocaliserGet a hydrophone map for this localiser- Specified by:
getHydrophoneMapin interfaceBearingLocaliser- Returns:
- bitmap of used hydrophones.
-
getArrayAxis
Description copied from interface:BearingLocaliserGet the principle axis of the array- Specified by:
getArrayAxisin interfaceBearingLocaliser- 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
public double[][] localise(double[] delays, long timeMillis) Description copied from interface:BearingLocaliserCalculate 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.- Specified by:
localisein interfaceBearingLocaliser- Parameters:
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.- 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.
-
logLikelihood
public double logLikelihood(double[] delays, double angle0, double angle1) Log likelihood function- Parameters:
delays- time delaysangle0- horizontal angleangle1- vertical angle- Returns:
- log likelihood based on an estimate of errors.
-
logLikelihood
public double logLikelihood(double[] delays, double[] angles) Calculate a log likelihood for a given pair of angles- Parameters:
delays- actual delaysangles- angles, horizontal and vertical.- Returns:
-
logLikelihood
public double logLikelihood(double[] delays, Jama.Matrix whaleVector) Calculate a log likelihood for a given whale vector.- Parameters:
delays- actual delayswhaleVector- estimated whale vector.- Returns:
-
getAlgorithmName
Description copied from interface:LocalisationAlgorithmInfoGet the algorithm name- Specified by:
getAlgorithmNamein interfaceLocalisationAlgorithmInfo- Returns:
- algorithm name
-
getParameters
Description copied from interface:LocalisationAlgorithmInfoGet the algorithm parameters. Something else can turn these into xml for Tethys.- Specified by:
getParametersin interfaceLocalisationAlgorithmInfo- Returns:
- algorithm parameters object. Might be null;
-
getAlgorithmInfo
Description copied from interface:LocalisationAlgorithmGet information about the localisation algorithm.- Specified by:
getAlgorithmInfoin interfaceLocalisationAlgorithm- Returns:
- algorithm information.
-
getTethysCreator
Description copied from interface:LocalisationAlgorithmGet something that can make LocalisationType objects of a form a bit bespoke to the type of localiser. This may be better than having the standard functions in LocalizationBuilder guess what's best.- Specified by:
getTethysCreatorin interfaceLocalisationAlgorithm- Returns:
- can be null in which case standard functions will do the best they can.
-
getLocalizationOptionsPanel
public LocalizationOptionsPanel getLocalizationOptionsPanel(Window parent, LocalizationBuilder locBuilder) Description copied from interface:LocalisationAlgorithmInfoGet options panel to either build into the export dialog or to show as a separate dialog (in which case export wizard will show a button). Can be null if no options.- Specified by:
getLocalizationOptionsPanelin interfaceLocalisationAlgorithmInfo- Parameters:
locBuilder-- Returns:
- options panel or null if there are no options.
-