fftManager
Class FFTDataBlock

java.lang.Object
  extended by PamguardMVC.PamObservable
      extended by PamguardMVC.PamDataBlock<Tunit>
          extended by PamguardMVC.AcousticDataBlock<FFTDataUnit>
              extended by fftManager.FFTDataBlock
All Implemented Interfaces:
PanelOverlayDraw

public class FFTDataBlock
extends AcousticDataBlock<FFTDataUnit>


Field Summary
private  int fftHop
           
private  int fftLength
           
private  boolean recycle
           
private  java.util.List<Complex[]> recycledComplexData
           
private  double windowGain
          Gain of the window function (will generally be >0 and < 1)
 
Fields inherited from class PamguardMVC.PamDataBlock
dataName, ITERATOR_END, MATCH_AFTER, MATCH_BEFORE, MATCH_EXACT, MIX_DONOTHING, MIX_INTODATABASE, MIX_OUTOFDATABASE, naturalLifetime, NOTIFY_NEW_DATA, NOTIFY_UPDATE_DATA, OFFLINE_DATA_CANCEL, OFFLINE_DATA_INTERRUPT, OFFLINE_DATA_WAIT, orderLock, pamDataUnits, parentProcess, POSITION_AFTER, POSITION_BEFORE, REFERENCE_ABSOLUTE, REFERENCE_CURRENT, REQUEST_DATA_LOADED, REQUEST_DATA_PARTIAL_LOAD, REQUEST_EXCEPTION, REQUEST_INTERRUPTED, REQUEST_NO_DATA, REQUEST_SAME_REQUEST, unitsAdded, unitsRemoved, unitsUpdated
 
Fields inherited from class PamguardMVC.PamObservable
masterClockSample, objectChanged, overlayDraw, pamObservers, pamProfiler
 
Constructor Summary
FFTDataBlock(java.lang.String dataName, PamProcess parentProcess, int channelMap, int fftHop, int fftLength)
           
 
Method Summary
 void clearAll()
          Clears all PamDataUnits from memory
 void dumpBlockContents()
           
 Complex[] getComplexArray(int arrayLength)
           
 double getDataGain(int iChan)
          Return the gain applied to any data created into this datablock.
 int getFftHop()
           
 int getFftLength()
           
private  java.lang.String getLongName()
           
 double getWindowGain()
           
 boolean isRecycle()
           
 void recycleComplexArray(Complex[] complexArray)
           
 void setFftHop(int fftHop)
           
 void setFftLength(int fftLength)
           
 void setRecycle(boolean recycle)
           
 void setWindowGain(double windowGain)
           
 
Methods inherited from class PamguardMVC.AcousticDataBlock
findParentSource, getChannelListManager, getParentSourceData, notifyModelChanged, prepareAmplitudeCalculations, prepareChannelLists
 
Methods inherited from class PamguardMVC.PamDataBlock
addLocalisationContents, addObserver, addObserver, addOfflineDataMap, addPamData, autoSetDataBlockMixMode, clearDeletedList, createAnnotations, createAnnotations, findAnnotation, findAnnotation, findByDatabaseIndex, findDataUnit, findDataUnit, getAbsoluteDataUnit, getAnnotations, getBinaryDataSource, getCanLog, getChannelMap, getClosestUnitMillis, getCurrentViewDataEnd, getCurrentViewDataStart, getDataName, getDataUnit, getFirstUnit, getFirstUnitAfter, getLastUnit, getListIterator, getListIterator, getListIteratorFromEnd, getListIteratorFromStart, getLocalisationContents, getLogging, getLoggingName, getLongDataName, getMixedDirection, getNaturalLifetime, getNaturalLifetimeMillis, getNextDataStart, getNumOfflineDataMaps, getOfflineData, getOfflineData, getOfflineDataMap, getOfflineDataMap, getOrderStatus, getParentProcess, getPreceedingUnit, getPreceedingUnit, getPreceedingUnit, getPreceedingUnit, getPrevDataEnd, getPrimaryDataMap, getRawSourceDataBlock, getRecycledUnit, getRecyclingStoreLength, getRemovedItems, getSampleRate, getSaveRequirements, getShouldLog, getSourceDataBlock, getSourceProcess, getUnitClass, getUnitIndex, getUnitsCount, getUnitsCountFromTime, isLinkGpsData, isRecycling, loadViewerData, masterClockUpdate, noteNewSettings, orderOfflineData, orderOfflineData, remove, remove, removeOldUnitsS, removeOldUnitsT, saveViewerData, setBinaryDataSource, setChannelMap, setDataName, setLinkGpsData, setLocalisationContents, SetLogging, setMixedDirection, setNaturalLifetime, setNaturalLifetimeMillis, setRecycling, setRecyclingStoreLength, setSampleRate, setShouldLog, shouldNotify, toString, updatePamData
 
Methods inherited from class PamguardMVC.PamObservable
canDraw, clearchanged, countObservers, createKeyItem, deleteObserver, deleteObservers, drawDataUnit, findThreadedObserver, getCPUPercent, getCPUPercent, getHoverText, getLongestObserver, getPamObservers, getRequiredHistory, notifyObservers, notifyObservers, setChanged, setOverlayDraw, waitForThreadedObservers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fftLength

private int fftLength

fftHop

private int fftHop

recycle

private boolean recycle

recycledComplexData

private java.util.List<Complex[]> recycledComplexData

windowGain

private double windowGain
Gain of the window function (will generally be >0 and < 1)

Constructor Detail

FFTDataBlock

public FFTDataBlock(java.lang.String dataName,
                    PamProcess parentProcess,
                    int channelMap,
                    int fftHop,
                    int fftLength)
Method Detail

getLongName

private java.lang.String getLongName()

getFftLength

public int getFftLength()

setFftLength

public void setFftLength(int fftLength)

getFftHop

public int getFftHop()

setFftHop

public void setFftHop(int fftHop)

dumpBlockContents

public void dumpBlockContents()
Overrides:
dumpBlockContents in class PamDataBlock<FFTDataUnit>

clearAll

public void clearAll()
Description copied from class: PamDataBlock
Clears all PamDataUnits from memory

In viewer mode, data are also re-saved.

Overrides:
clearAll in class PamDataBlock<FFTDataUnit>

recycleComplexArray

public void recycleComplexArray(Complex[] complexArray)

getComplexArray

public Complex[] getComplexArray(int arrayLength)

getDataGain

public double getDataGain(int iChan)
Description copied from class: PamDataBlock
Return the gain applied to any data created into this datablock.

Example 1: The amplifier module will just return it's gain

Example 2: The FFT module will return the loss due to windowing the data.

To convert to dB use 20*log10(Math.abs(getDataGain()));

Overrides:
getDataGain in class PamDataBlock<FFTDataUnit>
Parameters:
iChan - channel number
Returns:
gain as a factor (to allow for negative gains)

getWindowGain

public double getWindowGain()
Returns:
the windowGain

setWindowGain

public void setWindowGain(double windowGain)
Parameters:
windowGain - the windowGain to set

setRecycle

public void setRecycle(boolean recycle)

isRecycle

public boolean isRecycle()