Package fftManager

Class FFTDataUnit

All Implemented Interfaces:
Comparable<PamDataUnit>, AcousticDataUnit
Direct Known Subclasses:
AzigramDataUnit, BeamFormerDataUnit, CepstrumDataUnit, LtsaDataUnit

public class FFTDataUnit extends DataUnit2D<PamDataUnit,SuperDetection> implements AcousticDataUnit
  • Constructor Details

    • FFTDataUnit

      public FFTDataUnit(long timeMilliseconds, int channelBitmap, long startSample, long duration, ComplexArray fftData, int fftSlice)
  • Method Details

    • setInfo

      public void setInfo(long timeMilliseconds, int channelBitmap, long startSample, long duration, int fftSlice)
    • getFftData

      public ComplexArray getFftData()
    • setFftData

      public void setFftData(ComplexArray fftData)
    • getFftSlice

      public int getFftSlice()
    • getMagnitudeData

      public double[] getMagnitudeData()
      Return the values in decibels (spectrum level I think). Should be good to go for plotting on the spectrogram.
      Specified by:
      getMagnitudeData in class DataUnit2D<PamDataUnit,SuperDetection>
      Returns:
      data for plotting. Should be converted to the same scale as is used by the plot axis (usually dB, but might be counts or some other data type)
    • getUsefulBinRange

      public int[] getUsefulBinRange()
      Range of useful bins. Either a two element array or null. This may be set by localisers, etc. to indicate which parts of the spectrum to actually use in localisation calculations, etc. It does not mean that regions of the spectrum outside this range are zero.
      upper limit may be the length of the array, i.e. operations should loop
      for (ibin = usefulBin[0]; ibin invalid input: '<' usefulBin[1]; ibin++), etc ...
      Returns:
      the usefulBinRange
    • setUsefulBinRange

      public void setUsefulBinRange(int[] usefulBinRange)
      Range of useful bins. Either a two element array or null. This may be set by localisers, etc. to indicate which parts of the spectrum to actually use in localisation calculations, etc. It does not mean that regions of the spectrum outside this range are zero.
      upper limit may be the length of the array, i.e. operations should loop
      for (ibin = usefulBin[0]; ibin invalid input: '<' usefulBin[1]; ibin++), etc ...
      Parameters:
      usefulBinRange - the usefulBinRange to set
    • getSpectrogramData

      public double[] getSpectrogramData()