Interface BeamFormerAlgorithm

All Known Implementing Classes:
BasicFreqDomBeamFormer, MVDRalgorithm, NullBeamFormer

public interface BeamFormerAlgorithm
  • Method Summary

    Modifier and Type
    Method
    Description
    getBeamInformation(int iBeam)
    Get information about a specific beam.
    int
    Get the number of angles used in the beamogram calculation.
    int
    Get the number of output beams
    void
    Prepare the algorithm.
    void
    process(FFTDataUnit[] fftDataUnits)
    Process a block of time aligned FFT Data blocks.
    void
    setFrequencyBinRange(int binFrom, int binTo)
    Set a frequency bin range for the BeamOGram analysis.
    void
    Tell the algorithm to keep frequency information in beamOGram output.
    boolean
    Boolean indicating whether a beamOgram should be created (true) or not (false)
  • Method Details

    • process

      void process(FFTDataUnit[] fftDataUnits)
      Process a block of time aligned FFT Data blocks. These Should match the channel map for the algorithm, but will be blocked together even if there are gaps in the algorithms channel map
      Parameters:
      fftDataUnits - array of FFT data units.
    • prepare

      void prepare()
      Prepare the algorithm. Gets called just before it starts. It's here that steering vectors, etc. should get calculated.
    • getNumBeams

      int getNumBeams()
      Get the number of output beams
      Returns:
      number of output beams
    • getNumBeamogramAngles

      int getNumBeamogramAngles()
      Get the number of angles used in the beamogram calculation. Note that at the moment all beamograms must use the same angles in order be able to add their data to the common PamDataBlock. The BasicFreqDomParams object defines the beamogram angles as from 0 deg to 180 deg in 2 degree steps (91 angles total). This should be matched in all other algorithms capable of creating beamograms, until changes can be made to accomodate different PamDataUnit sizes in the same PamDataBlock.
      Returns:
      the number of angles used in the beamogram calculation
    • getBeamInformation

      BeamInformation getBeamInformation(int iBeam)
      Get information about a specific beam. I've currently no idea whatsoever what information we're going to include here !
      Parameters:
      iBeam -
      Returns:
    • thereIsABeamogram

      boolean thereIsABeamogram()
      Boolean indicating whether a beamOgram should be created (true) or not (false)
      Returns:
    • setKeepFrequencyInformation

      void setKeepFrequencyInformation(boolean keep)
      Tell the algorithm to keep frequency information in beamOGram output.
      Parameters:
      keep -
    • setFrequencyBinRange

      void setFrequencyBinRange(int binFrom, int binTo)
      Set a frequency bin range for the BeamOGram analysis.
      Beam forming will take place between binFrom to binTo.
      (Not inclusive - so binTo can equal fftLength/2 process loop is for (int i = binFrom; i invalid input: '<' bnTo; i++)).
      Parameters:
      binFrom - first bin to process
      binTo - last bin to process