Package beamformer
Class BeamFormerBaseProcess
java.lang.Object
PamguardMVC.PamProcess
beamformer.BeamFormerBaseProcess
- All Implemented Interfaces:
PamObserver
,ProcessAnnotator
- Direct Known Subclasses:
BeamFormerProcess
,BeamFormLocProcess
,WrappedBeamFormerProcess
Base process for both continuous and detect-then-localise beam forming.
- Author:
- Doug Gillespie
-
Constructor Summary
ConstructorDescriptionBeamFormerBaseProcess
(BeamFormerBaseControl beamFormerBaseControl, boolean publishBeamOutput) -
Method Summary
Modifier and TypeMethodDescriptionFind the source of FFT data for the beam former.findGroupProcess
(int channelMap) find a beam group process which matches a channel map.int
frequencyToBin
(double frequency) Convert a frequency to the nearest bin.int[]
frequencyToBin
(double[] frequency) Convert an array of frequency values to the nearest bins.int[]
int
getChannelsForSequenceMap
(int sequenceMap) Given a sequenceMap, this function returns all of the channels that are associated with it.void
makeContinuousBeams
(PamObservable o, PamDataUnit pamDataUnit) void
notifyModelChanged
(int changeType) void
Called for each process before any of them receive the PamStart commandMethods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addData, addMultiPlexDataBlock, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, dumpBufferStatus, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCompatibleDataUnits, getCpuPercent, getFrequencyRange, getLastSourceNotificationObject, getLastSourceNotificationType, getMuiltiplexDataBlock, getNumAnnotations, getNumMuiltiplexDataBlocks, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentDataBlocks, getParentProcess, getProcessCheck, getProcessName, getRawSourceDataBlock, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, hasOutputDatablock, isCanMultiThread, isExternalProcess, isMultiplex, makePamProcess, masterClockUpdate, newData, noteNewSettings, pamStart, pamStop, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setParentDataBlock, setParentDataBlock, setProcessCheck, setProcessName, setSampleRate, setupProcess, toString, updateData
-
Constructor Details
-
BeamFormerBaseProcess
public BeamFormerBaseProcess(BeamFormerBaseControl beamFormerBaseControl, boolean publishBeamOutput)
-
-
Method Details
-
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 classPamProcess
-
getFftDataSource
- Returns:
- the fftDataSource
-
makeContinuousBeams
-
findGroupProcess
find a beam group process which matches a channel map.- Parameters:
channelMap
- channel bitmap- Returns:
- BeamgroupProcess or null if none match.
-
getBeamFormerOutput
- Returns:
- the beamFormerOutput
-
getBeamOGramOutput
- Returns:
- the beamOGramOutput
-
notifyModelChanged
public void notifyModelChanged(int changeType) - Overrides:
notifyModelChanged
in classPamProcess
-
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:
-