Class BeamformControl

java.lang.Object
PamController.PamControlledUnit
difar.beamforming.BeamformControl
All Implemented Interfaces:
OfflineDataStore, OfflineFileDataStore, PamSettings, SettingsNameProvider

public class BeamformControl extends PamControlledUnit implements PamSettings, OfflineFileDataStore
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 Details Link icon

    • BeamformControl Link icon

      public BeamformControl(String unitName)
  • Method Details Link icon

    • getSettingsReference Link icon

      public Serializable getSettingsReference()
      Specified by:
      getSettingsReference in interface PamSettings
      Returns:
      The serialisable object that will be stored
    • getSettingsVersion Link icon

      public long getSettingsVersion()
      Specified by:
      getSettingsVersion in interface PamSettings
      Returns:
      An integer version number for the settings
    • getDataLocation Link icon

      public String 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 interface OfflineDataStore
      Returns:
      store locations
    • restoreSettings Link icon

      public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
      Specified by:
      restoreSettings in interface PamSettings
      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 Link icon

      public BeamformParameters getBeamformParameters()
    • getBeamformProcess Link icon

      public BeamformProcess getBeamformProcess()
    • setBeamformProcess Link icon

      public BeamformProcess setBeamformProcess(BeamformProcess difarBeamformProcess)
    • createDetectionMenu Link icon

      public JMenuItem createDetectionMenu(Frame parentFrame)
      Description copied from class: PamControlledUnit
      Create a JMenu object containing MenuItems associated with PamProcesses
      Overrides:
      createDetectionMenu in class PamControlledUnit
      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 Link icon

      public boolean displayMenu(Frame parentFrame)
    • updateSidePanel Link icon

      public void updateSidePanel()
    • createOfflineDataMap Link icon

      public void createOfflineDataMap(Window parentFrame)
      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 interface OfflineDataStore
    • getDataSourceName Link icon

      public String getDataSourceName()
      Description copied from interface: OfflineDataStore
      Get the data source name
      Specified by:
      getDataSourceName in interface OfflineDataStore
      Returns:
      data source name
    • loadData Link icon

      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 interface OfflineDataStore
      Parameters:
      dataBlock - datablock owner of the data
      loadObserver -
      Returns:
      true if load successful.
    • saveData Link icon

      public boolean saveData(PamDataBlock dataBlock)
      Description copied from interface: OfflineDataStore
      Save data previously loaded from the store during offline viewing.
      Specified by:
      saveData in interface OfflineDataStore
      Parameters:
      dataBlock - datablock owner of the data
      Returns:
      true if saved or save not needed. False if an error prevents saving.
    • getOfflineFileServer Link icon

      public OfflineFileServer getOfflineFileServer()
      Specified by:
      getOfflineFileServer in interface OfflineFileDataStore
      Returns:
      The offline file server which will do the actual work
    • rewriteIndexFile Link icon

      public boolean rewriteIndexFile(PamDataBlock dataBlock, OfflineDataMapPoint dmp)
      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 interface OfflineDataStore
      Parameters:
      dataBlock -
      dmp -
      Returns:
    • getDatagramManager Link icon

      public DatagramManager getDatagramManager()
      Specified by:
      getDatagramManager in interface OfflineDataStore
      Returns:
      the datagramManager
    • getRawDataBlock Link icon

      public PamRawDataBlock getRawDataBlock()
      Specified by:
      getRawDataBlock in interface OfflineFileDataStore
    • getParentProcess Link icon

      public PamProcess getParentProcess()
      Specified by:
      getParentProcess in interface OfflineFileDataStore