Package difar
Class DIFARTargetMotionInformation
java.lang.Object
difar.DIFARTargetMotionInformation
- All Implemented Interfaces:
 TargetMotionInformation
- 
Constructor Summary
ConstructorsConstructorDescriptionDIFARTargetMotionInformation(DifarProcess difarProcess, ArrayList<PamDataUnit> difarDataUnits)  - 
Method Summary
Modifier and TypeMethodDescriptiongetBeamLatLong(LatLong localised) Calculate the beam latitude and longitude.longgetBeamTime(GpsData beamPos) Calculate the beam time.Returns the pamDetections which will be used for this target motion localisation.Get the Euler angles for each detection.The GPS point which corresponds to (0,0,0).Returns the positions of the hydrophones, relative to (0,0,0) for every pamDetectiondouble[]intThe number of detections to be used in this target motion.Returns the origin of the hydrophone array for each detection point- this is in meters relative to 0,0,0;intReturns the time delay errors for each detection.Returns the time delays for each detection.Get a time for the detection (usually an average of all the individual detectiopns)PamVector[][]The real world vectors for each detection.Convert a point in your cartesian co-ordinate frame 
- 
Constructor Details
- 
DIFARTargetMotionInformation
public DIFARTargetMotionInformation(DifarProcess difarProcess, ArrayList<PamDataUnit> difarDataUnits)  
 - 
 - 
Method Details
- 
getMeanPosition
public double[] getMeanPosition()- Returns:
 - the mean position of all buoys in x,y coordinates.
 
 - 
getCurrentDetections
Description copied from interface:TargetMotionInformationReturns the pamDetections which will be used for this target motion localisation.- Specified by:
 getCurrentDetectionsin interfaceTargetMotionInformation- Returns:
 - a list fo the current detections to be localised with target motion algorithms
 
 - 
getNDetections
public int getNDetections()Description copied from interface:TargetMotionInformationThe number of detections to be used in this target motion.- Specified by:
 getNDetectionsin interfaceTargetMotionInformation- Returns:
 - the number of detections we have in total getCurrentDetection().size();
 
 - 
getTimeDelays
Description copied from interface:TargetMotionInformationReturns the time delays for each detection. The number of time delays per detection is going to be based on the number of hydrophones in the array.- Specified by:
 getTimeDelaysin interfaceTargetMotionInformation- Returns:
 - a list of time delays. Each ArrayList
corresponds to the time delays calculated from a PamDtection,. Time delays are related to channel numbers by the indexM1 and indexM2 functions in AbstractLocalisation.  
 - 
getTimeDelayErrors
Description copied from interface:TargetMotionInformationReturns the time delay errors for each detection. This should be based on the uncertainty in spacing between hydrophones for target motion analysis.- Specified by:
 getTimeDelayErrorsin interfaceTargetMotionInformation- Returns:
 - a list of time delay errors. Each ArrayList
corresponds to the time delays calculated from a PamDtection,. Time delays are related to channel numbers by the indexM1 and indexM2 functions in AbstractLocalisation.  
 - 
getOrigins
Description copied from interface:TargetMotionInformationReturns the origin of the hydrophone array for each detection point- this is in meters relative to 0,0,0;- Specified by:
 getOriginsin interfaceTargetMotionInformation- Returns:
 - the vector of a PamDetections origin were (0,0,0) is the origin.
 
 - 
getWorldVectors
Description copied from interface:TargetMotionInformationThe real world vectors for each detection. There may be an ambiguity in the vectors in which case we would have two world vectors per detections e.g. for a stereo array there are two bearings whilst for a 3D towed array there would usually be only one three dimensional bearing.- Specified by:
 getWorldVectorsin interfaceTargetMotionInformation- Returns:
 - a 2D array of world vectors corresponding to each pamDetection in the currentDetectionsGroup.
 
 - 
getEulerAngles
Description copied from interface:TargetMotionInformationGet the Euler angles for each detection. We are assumming that any pamDetection used for the target motion localiser will be from a group which is within a rigid array. Hence the hydrophones within that array will all have the same euler angles.Note on Euler Angles:
We need to know the position and depth of the array but we also must know the rotation of the array. It would be nice to store the rotation as vector, however a unit vector cannot describe fully the rotation of the array. e.g say we have the unit vector (-0.71 0.0 0.71), this would describe a heading of 270 and pitch of 45 degrees. However this unit vector tells us nothing about the roll (tilt) of the array. This is because we had to start off with a unit vector (0,1,0) to rotate to begin with. We can transform co-ordinate systems all we want but a unit vector will only ever tell us two Euler angles. Hence we have to store euler angles as a PamQuaternion not a PamVector.
- Specified by:
 getEulerAnglesin interfaceTargetMotionInformation- Returns:
 - PamQuaternion angles for each PamDetection.
 - See Also:
 
 - 
getHydrophonePos
Description copied from interface:TargetMotionInformationReturns the positions of the hydrophones, relative to (0,0,0) for every pamDetection- Specified by:
 getHydrophonePosin interfaceTargetMotionInformation- Returns:
 - a list of hydrophone positions. Each invalid input: '<'ArrayList
corresponds to the hydrophone positions for one PamDetection.  
 - 
getGPSReference
Description copied from interface:TargetMotionInformationThe GPS point which corresponds to (0,0,0).- Specified by:
 getGPSReferencein interfaceTargetMotionInformation- Returns:
 - the lat long which has been used for the (0,0,0) reference.
 
 - 
latLongToMetres
- Specified by:
 latLongToMetresin interfaceTargetMotionInformation- Parameters:
 ll- - the GPS Co-Ordinate- Returns:
 
 - 
metresToLatLong
Description copied from interface:TargetMotionInformationConvert a point in your cartesian co-ordinate frame- Specified by:
 metresToLatLongin interfaceTargetMotionInformation- Parameters:
 pt-- Returns:
 
 - 
getReferenceHydrophones
public int getReferenceHydrophones()- Specified by:
 getReferenceHydrophonesin interfaceTargetMotionInformation- Returns:
 
 - 
getTimeMillis
Description copied from interface:TargetMotionInformationGet a time for the detection (usually an average of all the individual detectiopns)- Specified by:
 getTimeMillisin interfaceTargetMotionInformation- Returns:
 
 - 
getBeamLatLong
Description copied from interface:TargetMotionInformationCalculate the beam latitude and longitude. The beam lat long is basically the point on the GPS path which is closest to the localised position of the animal- Specified by:
 getBeamLatLongin interfaceTargetMotionInformation- Parameters:
 localised- - localisation result to find beam lat long for.- Returns:
 - lat long
 
 - 
getBeamTime
Description copied from interface:TargetMotionInformationCalculate the beam time. This is not the time that the vessel was at the beam lat long but the time the streamer passed that point. Note that if there are multiple streamers passing the point the streamer lengths are averaged and used as our beam lat long. We use the model for each streamer to to work out when it passed the beam lat long point.- Specified by:
 getBeamTimein interfaceTargetMotionInformation- Parameters:
 beamPos- - the beam lat long.- Returns:
 - the time at which the hydrophone array passed the beam lat long point.
 
 
 -