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
 
- 
Field Summary
Fields inherited from class PamController.PamControlledUnit
isMixed, isViewer - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptioncreateDetectionMenu(Frame parentFrame) Create a JMenu object containing MenuItems associated with PamProcessesvoidcreateOfflineDataMap(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.booleandisplayMenu(Frame parentFrame) Get the data location.Get the data source namelongbooleanloadData(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Load data for a given datablock between two time limits.booleanrestoreSettings(PamControlledUnitSettings pamControlledUnitSettings) booleanrewriteIndexFile(PamDataBlock dataBlock, OfflineDataMapPoint dmp) Moved this function over from binary data store.booleansaveData(PamDataBlock dataBlock) Save data previously loaded from the store during offline viewing.setBeamformProcess(BeamformProcess difarBeamformProcess) voidMethods 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, getUnitTaskManager, getUnitTaskManager, getUnitType, getVerboseLevel, gotoTab, isInMainConfiguration, isNetRx, isViewer, notifyModelChanged, pamClose, pamHasStopped, pamToStart, playViewerSound, removePamProcess, removeUnit, rename, saveViewerData, setFrameNumber, setModuleStatusManager, setPamConfiguration, setPamController, setPamModuleInfo, setPamView, setSidePanel, setTabPanel, setToolbarComponent, setUnitTaskManager, setupControlledUnit, stopViewerSound, tellModule, terminalPrint, terminalPrintln, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface PamController.OfflineFileDataStore
getUnitNameMethods inherited from interface PamController.PamSettings
getUnitTypeMethods inherited from interface PamController.SettingsNameProvider
getUnitName 
- 
Constructor Details
- 
BeamformControl
 
 - 
 - 
Method Details
- 
getSettingsReference
- Specified by:
 getSettingsReferencein interfacePamSettings- Returns:
 - The serialisable object that will be stored
 
 - 
getSettingsVersion
public long getSettingsVersion()- Specified by:
 getSettingsVersionin interfacePamSettings- Returns:
 - An integer version number for the settings
 
 - 
getDataLocation
Description copied from interface:OfflineDataStoreGet 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:
 getDataLocationin interfaceOfflineDataStore- Returns:
 - store locations
 
 - 
restoreSettings
- Specified by:
 restoreSettingsin interfacePamSettings- Parameters:
 pamControlledUnitSettings-- 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:PamControlledUnitCreate a JMenu object containing MenuItems associated with PamProcesses- Overrides:
 createDetectionMenuin 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:OfflineDataStoreCreate 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:
 createOfflineDataMapin interfaceOfflineDataStore
 - 
getDataSourceName
Description copied from interface:OfflineDataStoreGet the data source name- Specified by:
 getDataSourceNamein interfaceOfflineDataStore- Returns:
 - data source name
 
 - 
loadData
public boolean loadData(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Description copied from interface:OfflineDataStoreLoad data for a given datablock between two time limits.- Specified by:
 loadDatain interfaceOfflineDataStore- Parameters:
 dataBlock- datablock owner of the dataloadObserver-- Returns:
 - true if load successful.
 
 - 
saveData
Description copied from interface:OfflineDataStoreSave data previously loaded from the store during offline viewing.- Specified by:
 saveDatain 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:
 getOfflineFileServerin interfaceOfflineFileDataStore- Returns:
 - The offline file server which will do the actual work
 
 - 
rewriteIndexFile
Description copied from interface:OfflineDataStoreMoved this function over from binary data store. Many storage systems may not be able to do this, but some might !- Specified by:
 rewriteIndexFilein interfaceOfflineDataStore- Parameters:
 dataBlock-dmp-- Returns:
 
 - 
getDatagramManager
- Specified by:
 getDatagramManagerin interfaceOfflineDataStore- Returns:
 - the datagramManager
 
 - 
getRawDataBlock
- Specified by:
 getRawDataBlockin interfaceOfflineFileDataStore
 - 
getParentProcess
- Specified by:
 getParentProcessin interfaceOfflineFileDataStore
 
 -