Package beamformer

Class BeamFormerBaseProcess

java.lang.Object
PamguardMVC.PamProcess
beamformer.BeamFormerBaseProcess
All Implemented Interfaces:
PamObserver, ProcessAnnotator
Direct Known Subclasses:
BeamFormerProcess, BeamFormLocProcess, WrappedBeamFormerProcess

public abstract class BeamFormerBaseProcess extends PamProcess
Base process for both continuous and detect-then-localise beam forming.
Author:
Doug Gillespie
  • Constructor Details

    • BeamFormerBaseProcess

      public BeamFormerBaseProcess(BeamFormerBaseControl beamFormerBaseControl, boolean publishBeamOutput)
  • Method Details

    • findFFTDataBlock

      public FFTDataBlock findFFTDataBlock()
      Find the source of FFT data for the beam former. this may not be the same as the main data source if the main source is raw or detection data (overridden in BeamFormLocProcess).
      Returns:
      FFT source for the beam former.
    • 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
    • getFftDataSource

      public FFTDataBlock getFftDataSource()
      Returns:
      the fftDataSource
    • makeContinuousBeams

      public void makeContinuousBeams(PamObservable o, PamDataUnit pamDataUnit)
    • findGroupProcess

      public BeamGroupProcess findGroupProcess(int channelMap)
      find a beam group process which matches a channel map.
      Parameters:
      channelMap - channel bitmap
      Returns:
      BeamgroupProcess or null if none match.
    • getBeamFormerOutput

      public BeamFormerDataBlock getBeamFormerOutput()
      Returns:
      the beamFormerOutput
    • getBeamOGramOutput

      public BeamOGramDataBlock getBeamOGramOutput()
      Returns:
      the beamOGramOutput
    • notifyModelChanged

      public void notifyModelChanged(int changeType)
      Overrides:
      notifyModelChanged in class PamProcess
    • getGroupProcesses

      public ArrayList<BeamGroupProcess> getGroupProcesses()
      Returns:
      the groupProcesses
    • getChannelGroupLUT

      public int[] getChannelGroupLUT()
      Returns:
      the channelGroupLUT
    • frequencyToBin

      public int frequencyToBin(double frequency)
      Convert a frequency to the nearest bin. The range of the bin will be from 0 to fftLength()/2 inclusive, so when looping to a higher limit, loop to invalid input: '<' the top bin number!
      Parameters:
      frequency - Frequency in Hz
      Returns:
      FFT bin number.
    • frequencyToBin

      public int[] frequencyToBin(double[] frequency)
      Convert an array of frequency values to the nearest bins. The range of the bins will be from 0 to fftLength()/2 inclusive, so when looping to a higher limit, loop to invalid input: '<' the top bin number!
      Parameters:
      frequency - Frequencies in Hz
      Returns:
      FFT bin numbers.
    • getChannelsForSequenceMap

      public int getChannelsForSequenceMap(int sequenceMap)
      Given a sequenceMap, this function returns all of the channels that are associated with it.
      Parameters:
      sequenceMap -
      Returns: