Class BasicFreqDomBeamFormer
java.lang.Object
beamformer.algorithms.basicFreqDomain.BasicFreqDomBeamFormer
- All Implemented Interfaces:
 BeamFormerAlgorithm
A basic frequency-domain beamformer
- Author:
 - mo55
 
- 
Constructor Summary
ConstructorsConstructorDescriptionBasicFreqDomBeamFormer(BasicFreqDomBeamProvider basicFreqDomBeamProvider, BeamFormerBaseProcess beamFormerProcess, BasicFreqDomParams basicFreqDomParams, int firstBeamNum, int beamogramNum)  - 
Method Summary
Modifier and TypeMethodDescriptiongetBeamInformation(int iBeam) Get information about a specific beam.intGet the number of angles used in the beamogram calculation.intReturn the number of beams.intGet the sequence map for the beams created by this beamformervoidprepare()Prepare the beams for data.voidprocess(FFTDataUnit[] fftDataUnits) Process an array of FFTDataUnits.voidsetBeamformerOutput(BeamFormerDataBlock beamformerOutput) voidsetFrequencyBinRange(int binFrom, int binTo) Set a frequency bin range for the BeamOGram analysis.voidsetKeepFrequencyInformation(boolean keep) Tell the algorithm to keep frequency information in beamOGram output.booleanReturns a boolean indicating whether or not this beamformer is creating a beamogram 
- 
Constructor Details
- 
BasicFreqDomBeamFormer
public BasicFreqDomBeamFormer(BasicFreqDomBeamProvider basicFreqDomBeamProvider, BeamFormerBaseProcess beamFormerProcess, BasicFreqDomParams basicFreqDomParams, int firstBeamNum, int beamogramNum) - Parameters:
 basicFreqDomBeamProvider-beamFormerProcess-basicFreqDomParams-firstBeamNum-channelMap-
 
 - 
 - 
Method Details
- 
prepare
public void prepare()Prepare the beams for data.- Specified by:
 preparein interfaceBeamFormerAlgorithm
 - 
process
Process an array of FFTDataUnits. The size of the array will equal the number of channels in this beam group- Specified by:
 processin interfaceBeamFormerAlgorithm- Parameters:
 fftDataUnits- array of FFT data units.
 - 
thereIsABeamogram
public boolean thereIsABeamogram()Returns a boolean indicating whether or not this beamformer is creating a beamogram- Specified by:
 thereIsABeamogramin interfaceBeamFormerAlgorithm- Returns:
 
 - 
getNumBeams
public int getNumBeams()Return the number of beams.- Specified by:
 getNumBeamsin interfaceBeamFormerAlgorithm- Returns:
 - number of output beams
 
 - 
getBeamInformation
Description copied from interface:BeamFormerAlgorithmGet information about a specific beam. I've currently no idea whatsoever what information we're going to include here !- Specified by:
 getBeamInformationin interfaceBeamFormerAlgorithm- Parameters:
 iBeam-- Returns:
 - See Also:
 
 - 
setBeamformerOutput
- Parameters:
 beamformerOutput- the beamformerOutput to set
 - 
getBeamProcess
- Returns:
 - the beamProcess
 
 - 
getSequenceMap
public int getSequenceMap()Get the sequence map for the beams created by this beamformer- Returns:
 - the sequenceMap
 
 - 
getNumBeamogramAngles
public int getNumBeamogramAngles()Description copied from interface:BeamFormerAlgorithmGet 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.- Specified by:
 getNumBeamogramAnglesin interfaceBeamFormerAlgorithm- Returns:
 - the number of angles used in the beamogram calculation
 
 - 
setKeepFrequencyInformation
public void setKeepFrequencyInformation(boolean keep) Description copied from interface:BeamFormerAlgorithmTell the algorithm to keep frequency information in beamOGram output.- Specified by:
 setKeepFrequencyInformationin interfaceBeamFormerAlgorithm- Parameters:
 keep-
 - 
setFrequencyBinRange
public void setFrequencyBinRange(int binFrom, int binTo) Description copied from interface:BeamFormerAlgorithmSet 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++)).- Specified by:
 setFrequencyBinRangein interfaceBeamFormerAlgorithm- Parameters:
 binFrom- first bin to processbinTo- last bin to process
 
 -