Package Azigram

Class AzigramProcess

All Implemented Interfaces:
PamObserver, ProcessAnnotator

public class AzigramProcess extends PamProcess
Azigram process will take FFT data from a DIFAR sonobuoy source, demux, and then compute Azigram (Thode et al 2019 JASA). NB: This module uses SpectrogramNoiseProcess as a template since they both take FFT data as input, modify it, and spit out the modified FFT data in a package that is fit for purpose for display on spectrogram.
Author:
brian_mil
  • Constructor Details

  • Method Details

    • setSampleRate

      public void setSampleRate(float sampleRate, boolean notify)
      Copied from decimatorW module
      Specified by:
      setSampleRate in interface PamObserver
      Overrides:
      setSampleRate in class PamProcess
      Parameters:
      notify - Notify other PamObservers and PamObservables in the chain.
    • masterClockUpdate

      public void masterClockUpdate(long milliSeconds, long sampleNumber)
      As per decimator module
      Specified by:
      masterClockUpdate in interface PamObserver
      Overrides:
      masterClockUpdate in class PamProcess
    • getInputDataBlock

      public PamDataBlock getInputDataBlock()
      An AzigramProcess has one input stream. Return it, or null if it's not available.
    • setupProcess

      public void setupProcess()
      Description copied from class: PamProcess
      called for every process once the systemmodel has been created. this is a good time to check out and find input data blocks and similar tasks.
      Overrides:
      setupProcess in class PamProcess
    • prepareProcess

      public void prepareProcess()
      Description copied from class: PamProcess
      Called for each process before any of them receive the PamStart command
      Overrides:
      prepareProcess in class PamProcess
    • newData

      public void newData(PamObservable o, PamDataUnit arg)
      Overrides:
      newData in class PamProcess
    • pamStart

      public void pamStart()
      Description copied from class: PamProcess
      Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).
      Specified by:
      pamStart in class PamProcess
    • pamStop

      public void pamStop()
      Description copied from class: PamProcess
      Stops the process.
      Specified by:
      pamStop in class PamProcess
    • getAnnotation

      public ProcessAnnotation getAnnotation(PamDataBlock pamDataBlock, int annotation)
      Description copied from interface: ProcessAnnotator
      Get an Annotation
      Specified by:
      getAnnotation in interface ProcessAnnotator
      Overrides:
      getAnnotation in class PamProcess
      Parameters:
      pamDataBlock - Annotated datablock
      annotation - annotation number
      Returns:
      Annotation
    • getNumAnnotations

      public int getNumAnnotations(PamDataBlock pamDataBlock)
      Specified by:
      getNumAnnotations in interface ProcessAnnotator
      Overrides:
      getNumAnnotations in class PamProcess
      Parameters:
      pamDataBlock - Annotated datablock
      Returns:
      the number of annotations
    • makeAnnotations

      public void makeAnnotations()
    • getOutputDataBlock

      public FFTDataBlock getOutputDataBlock()
      Returns:
      the outputData
    • getOfflineData

      public int getOfflineData(OfflineDataLoadInfo offlineLoadDataInfo)
      Overrides:
      getOfflineData in class PamProcess
    • getCompatibleDataUnits

      public ArrayList getCompatibleDataUnits()
      Description copied from class: PamProcess
      A list of data block class types which are compatible as parent data blocks for the PamProcess. This can return null, e.g. in the case of Acquisition process.
      Overrides:
      getCompatibleDataUnits in class PamProcess
      Returns:
      a list of PamDataBlock sub class types which can be used as parent data blocks for the process.