Package difar.beamforming
Class BeamformControl
java.lang.Object
PamController.PamControlledUnit
difar.beamforming.BeamformControl
- All Implemented Interfaces:
OfflineDataStore
,OfflineFileDataStore
,PamSettings
,SettingsNameProvider
This module requires audio from a DIFAR sonobuoy and will output
directional audio by using simple beamforming algorithms. This module
makes use of the AMMC DIFAR demodulator, and beamforming follows equation 1
from Thode et al (2016). This module will eventually be able to use a GPS
and/or AIS data streams to set the direction of noise cancellation also
described by Thode et al (2016).
References
Thode et al 2016. Acoustic vector sensor beamforming reduces masking from
underwater industrial noise during passive monitoring. JASA-EL 139(4)
EL105-EL111. DOI: http://dx.doi.org/10.1121/1.4946011
- Author:
- brian_mil
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateDetectionMenu
(Frame parentFrame) Create a JMenu object containing MenuItems associated with PamProcessesvoid
createOfflineDataMap
(Window parentFrame) Create a basic map of the data including first and last times and some kind of data/unit time count plus ideally some kind of start and stop time list of where there are gaps in the data.boolean
displayMenu
(Frame parentFrame) Get the data location.Get the data source namelong
boolean
loadData
(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Load data for a given datablock between two time limits.boolean
restoreSettings
(PamControlledUnitSettings pamControlledUnitSettings) boolean
rewriteIndexFile
(PamDataBlock dataBlock, OfflineDataMapPoint dmp) Moved this function over from binary data store.boolean
saveData
(PamDataBlock dataBlock) Save data previously loaded from the store during offline viewing.setBeamformProcess
(BeamformProcess difarBeamformProcess) void
Methods inherited from class PamController.PamControlledUnit
addOfflineTaskGroup, addOtherRelatedMenuItems, addPamProcess, addPamProcess, addRelatedMenuItems, canClose, canPlayViewerSound, createDisplayMenu, createFileMenu, createHelpMenu, flushDataBlockBuffers, getBackupInformation, getFrameNumber, getGUI, getGuiFrame, getInstanceIndex, getModuleStatus, getModuleStatusManager, getModuleSummary, getModuleSummary, getNumOfflineTaskGroups, getNumPamProcesses, getOfflineState, getOfflineTaskGroup, getPamConfiguration, getPamController, getPamModuleInfo, getPamProcess, getPamView, getPlugin, getShortUnitType, getSidePanel, getTabClipCopier, getTabPanel, getTabSpecificMenuBar, getToolbarComponent, getUnitName, getUnitType, getVerboseLevel, gotoTab, isInMainConfiguration, isNetRx, isViewer, notifyModelChanged, pamClose, pamHasStopped, pamToStart, playViewerSound, removePamProcess, removeUnit, rename, saveViewerData, setFrameNumber, setModuleStatusManager, setPamConfiguration, setPamController, setPamModuleInfo, setPamView, setSidePanel, setTabPanel, setToolbarComponent, setupControlledUnit, stopViewerSound, tellModule, terminalPrint, terminalPrintln, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface PamController.OfflineFileDataStore
getUnitName
Methods inherited from interface PamController.PamSettings
getUnitType
Methods inherited from interface PamController.SettingsNameProvider
getUnitName
-
Constructor Details
-
BeamformControl
-
-
Method Details
-
getSettingsReference
- Specified by:
getSettingsReference
in interfacePamSettings
- Returns:
- The serialisable object that will be stored
-
getSettingsVersion
public long getSettingsVersion()- Specified by:
getSettingsVersion
in interfacePamSettings
- Returns:
- An integer version number for the settings
-
getDataLocation
Description copied from interface:OfflineDataStore
Get the data location. This may be a specific file, or might be a folder if data are in many files, a URI, etc.- Specified by:
getDataLocation
in interfaceOfflineDataStore
- Returns:
- store locations
-
restoreSettings
- Specified by:
restoreSettings
in interfacePamSettings
- Returns:
- true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
-
getBeamformParameters
-
getBeamformProcess
-
setBeamformProcess
-
createDetectionMenu
Description copied from class:PamControlledUnit
Create a JMenu object containing MenuItems associated with PamProcesses- Overrides:
createDetectionMenu
in classPamControlledUnit
- Parameters:
parentFrame
- The owner frame of the menu- Returns:
- reference to a JMenu which can be added to an existing menu or
menu bar
Note that if multiple views are to use the same menu, then they should each create a new menu (by setting Create to true) the first time they call this method.
-
displayMenu
-
updateSidePanel
public void updateSidePanel() -
createOfflineDataMap
Description copied from interface:OfflineDataStore
Create a basic map of the data including first and last times and some kind of data/unit time count plus ideally some kind of start and stop time list of where there are gaps in the data.- Specified by:
createOfflineDataMap
in interfaceOfflineDataStore
-
getDataSourceName
Description copied from interface:OfflineDataStore
Get the data source name- Specified by:
getDataSourceName
in interfaceOfflineDataStore
- Returns:
- data source name
-
loadData
public boolean loadData(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Description copied from interface:OfflineDataStore
Load data for a given datablock between two time limits.- Specified by:
loadData
in interfaceOfflineDataStore
- Parameters:
dataBlock
- datablock owner of the data- Returns:
- true if load successful.
-
saveData
Description copied from interface:OfflineDataStore
Save data previously loaded from the store during offline viewing.- Specified by:
saveData
in interfaceOfflineDataStore
- Parameters:
dataBlock
- datablock owner of the data- Returns:
- true if saved or save not needed. False if an error prevents saving.
-
getOfflineFileServer
- Specified by:
getOfflineFileServer
in interfaceOfflineFileDataStore
- Returns:
- The offline file server which will do the actual work
-
rewriteIndexFile
Description copied from interface:OfflineDataStore
Moved this function over from binary data store. Many storage systems may not be able to do this, but some might !- Specified by:
rewriteIndexFile
in interfaceOfflineDataStore
- Returns:
-
getDatagramManager
- Specified by:
getDatagramManager
in interfaceOfflineDataStore
- Returns:
- the datagramManager
-
getRawDataBlock
- Specified by:
getRawDataBlock
in interfaceOfflineFileDataStore
-
getParentProcess
- Specified by:
getParentProcess
in interfaceOfflineFileDataStore
-