Package fftManager
Class FFTDataUnit
- All Implemented Interfaces:
Comparable<PamDataUnit>
,AcousticDataUnit
- Direct Known Subclasses:
AzigramDataUnit
,BeamFormerDataUnit
,CepstrumDataUnit
,LtsaDataUnit
-
Constructor Summary
ConstructorDescriptionFFTDataUnit
(long timeMilliseconds, int channelBitmap, long startSample, long duration, ComplexArray fftData, int fftSlice) -
Method Summary
Modifier and TypeMethodDescriptionint
double[]
Return the values in decibels (spectrum level I think).double[]
int[]
Range of useful bins.void
setFftData
(ComplexArray fftData) void
setInfo
(long timeMilliseconds, int channelBitmap, long startSample, long duration, int fftSlice) void
setUsefulBinRange
(int[] usefulBinRange) Range of useful bins.Methods inherited from class PamguardMVC.PamDataUnit
addDataAnnotation, addSuperDetection, amplifyMeasuredAmplitudeByDB, amplifyMeasuredAmplitudeByLinear, calcSnapshotGeometry, clearOandAngles, clearUpdateCount, compareTo, findDataAnnotation, findDataAnnotation, freeData, getAbsBlockIndex, getAmplitudeDB, getAnnotationsSummaryString, getBasicData, getCalculatedAmlitudeDB, getChannelBitmap, getColourIndex, getDataAnnotation, getDatabaseIndex, getDatabaseUpdateOf, getDataUnitFileInformation, getDataUnitPopupMenu, getDurationInMilliseconds, getEndTimeInMilliseconds, getFrequency, getFrequencyOverlap, getHydrophoneBitmap, getHydrophoneHeading, getLastChangeTime, getLastSample, getLastUpdateTime, getLocalisation, getMeasuredAmplitude, getMeasuredAmplitudeType, getNoiseBackground, getNumDataAnnotations, getOriginLatLong, getParentDataBlock, getSampleDuration, getSampleDurationAsInt, getSeconds, getSequenceBitmap, getSequenceBitmapObject, getSignalExcess, getSignalSPL, getSnapshotGeometry, getStartSample, getSummaryString, getSuperDetection, getSuperDetection, getSuperDetection, getSuperDetection, getSuperDetection, getSuperDetectionsCount, getSuperDetectionSyncronisation, getSuperId, getTimeDelaysSeconds, getTimeMilliseconds, getTimeNanoseconds, getTimeOverlap, getUID, getUpdateCount, isEmbryonic, isForceAmpRecalc, linAmplitudeToDB, removeDataAnnotation, removeDataAnnotation, removeSuperDetection, setAbsBlockIndex, setCalculatedAmlitudeDB, setChannelBitmap, setDatabaseIndex, setDatabaseUpdateOf, setDataUnitFileInformation, setDurationInMilliseconds, setEmbryonic, setForceAmpRecalc, setFrequency, setInfo, setLastUpdateTime, setLocalisation, setMeasuredAmpAndType, setMeasuredAmplitude, setMeasuredAmplitudeType, setNoiseBackground, setParentDataBlock, setSampleDuration, setSequenceBitmap, setSignalExcess, setSignalSPL, setSnapshotGeometry, setStartSample, setTimeDelaysSeconds, setTimeMilliseconds, setUID, setUniqueSuperDetection, sortOutputMaps, updateDataUnit
-
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
-
setFftData
-
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 classDataUnit2D<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()
-