Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

clArrayDipole Class Reference

Class for dipole array operations. More...

#include <ArrayDipole.hh>

Inheritance diagram for clArrayDipole:

Inheritance graph
[legend]
Collaboration diagram for clArrayDipole:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clArrayDipole ()
 ~clArrayDipole ()
bool Initialize (GDT, GDT, int, long, GDT, bool)
 Initialize array.

void Uninitialize ()
 Uninitialize array.

GDT * GetRawPtr (long)
 Get pointer to data buffer.

GDT * GetFiltPtr (long)
GDT * GetHFPtr (long)
long GetMaxDelay ()
 Get maximum delay in samples.

GDT GetArrayFreq ()
 Get upper frequency limit of array.

GDT GetDelay (GDT)
 Get delay for specified direction (rad).

GDT GetDelayTime (long, GDT)
 Get delay length in seconds for specified sensor to specified direction (rad).

long GetDelaySamples (long, GDT)
 Get delay length in samples for specified sensor to specified direction (rad).

void SetLowFreqLimit (GDT)
 Set lower frequency limit.

void AddData (const GDT *, long, long)
 Add data to processing buffer.

void GetRawData (GDT **, GDT)
 Get raw (non filtered) data for specified direction.

GDT * GetRawDataPtr (long, GDT)
void GetFilteredData (GDT **, GDT)
 Get filtered data for specified direction.

GDT * GetFilteredDataPtr (long, GDT)
void GetAudioData (GDT *, GDT, bool)
 Get audio data for specified direction.


Private Attributes

bool bInitialized
long lWindowSize
 for filtering and array processing = out size

long lBufferSize
 total size of history buffer n * WindowSize

long lBaseIdx
 Start of non-delayed window.

int iSampleRate
GDT fSpacing
GDT fDelay
clDSPAlloc RawBuf [2]
 Raw data.

clDSPAlloc FiltBuf [2]
 Filtered data (BP filtered).

clDSPAlloc HFBuf [2]
 High frequency data (HP filtered).

clFilter FilterBank [4]
 0,1 BP filters, 2,3 HP filters


Detailed Description

Class for dipole array operations.

Definition at line 37 of file ArrayDipole.hh.


Constructor & Destructor Documentation

clArrayDipole::clArrayDipole  ) 
 

Definition at line 30 of file ArrayDipole.cc.

References bInitialized.

clArrayDipole::~clArrayDipole  ) 
 

Definition at line 36 of file ArrayDipole.cc.

References bInitialized, and Uninitialize().


Member Function Documentation

bool clArrayDipole::Initialize GDT  ,
GDT  ,
int  ,
long  ,
GDT  ,
bool 
 

Initialize array.

\[\Delta{T_{d}}=dc^{-1}\]

Parameters:
fSensorSpacing Sensor spacing (m)
fSndSpeed Speed of sound (m/s)
iSRate Samplerate
lWinSize Size of window
fLowFreqLimit Low frequency limit (Hz)
bEnableDebug Enable debug printout
Returns:
Success

Definition at line 42 of file ArrayDipole.cc.

References clArrayBase::bDebug, bInitialized, clArrayBase::DSP, clArrayBase::EnableDebug(), fDelay, FiltBuf, FilterBank, clArrayBase::fSecsPerMeter, fSpacing, GDT, GetArrayFreq(), GetMaxDelay(), HFBuf, iSampleRate, lBaseIdx, lBufferSize, lWindowSize, RawBuf, clArrayBase::SetSampleRate(), and clArrayBase::SetSoundSpeed().

Referenced by clDirection::InitArray(), and main().

void clArrayDipole::Uninitialize  ) 
 

Uninitialize array.

Definition at line 96 of file ArrayDipole.cc.

References bInitialized, and FilterBank.

Referenced by main(), and ~clArrayDipole().

GDT * clArrayDipole::GetRawPtr long   ) 
 

Get pointer to data buffer.

Parameters:
lSensor Number of sensor
Returns:
Pointer to data buffer

Definition at line 109 of file ArrayDipole.cc.

References GDT, lBaseIdx, and RawBuf.

Referenced by clCorrDipole::AddData().

GDT * clArrayDipole::GetFiltPtr long   ) 
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 116 of file ArrayDipole.cc.

References FiltBuf, GDT, and lBaseIdx.

Referenced by clCorrDipole::AddData(), and clBeamDipole::AddData().

GDT * clArrayDipole::GetHFPtr long   ) 
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 123 of file ArrayDipole.cc.

References GDT, HFBuf, and lBaseIdx.

long clArrayDipole::GetMaxDelay  ) 
 

Get maximum delay in samples.

\[\Delta{T_{max}}=\frac{\Delta{T_d}}{\Delta{t_s}}\]

Returns:
Maximum delay in samples

Definition at line 130 of file ArrayDipole.cc.

References fDelay, clArrayBase::fSampleSpacing, and GDT.

Referenced by clBeamDipole::clBeamDipole(), clCorrDipole::clCorrDipole(), and Initialize().

GDT clArrayDipole::GetArrayFreq  ) 
 

Get upper frequency limit of array.

\[f_a=\frac{\Delta{T_{d}^{-1}}}{2}\]

or

\[f_a=\frac{c^{-1}d}{2}\]

Returns:
Upper frequency limit of array (Hz)

Definition at line 136 of file ArrayDipole.cc.

References fDelay, and GDT.

Referenced by Initialize(), and SetLowFreqLimit().

GDT clArrayDipole::GetDelay GDT   ) 
 

Get delay for specified direction (rad).

\[\Delta{T}=\sin(\theta)\Delta{T_d}\]

or

\[\Delta{T}=\frac{\sin(\theta)d}{c}\]

Parameters:
fDirection Direction (rad)
Returns:
Delay (time)

Definition at line 142 of file ArrayDipole.cc.

References fDelay, and GDT.

Referenced by GetDelaySamples(), and GetDelayTime().

GDT clArrayDipole::GetDelayTime long  ,
GDT 
 

Get delay length in seconds for specified sensor to specified direction (rad).

\[\Delta{T_n}=\Delta{T}n\]

Parameters:
lSensor Sensor number
fDirection Direction (rad)
Returns:
Delay (time)

Definition at line 148 of file ArrayDipole.cc.

References GDT, and GetDelay().

Referenced by main().

long clArrayDipole::GetDelaySamples long  ,
GDT 
 

Get delay length in samples for specified sensor to specified direction (rad).

Parameters:
lSensor Sensor number
fDirection Direction (rad)
Returns:
Delay (samples)

Definition at line 163 of file ArrayDipole.cc.

References clArrayBase::fSampleSpacing, GDT, and GetDelay().

Referenced by GetAudioData(), GetFilteredData(), GetFilteredDataPtr(), GetRawData(), GetRawDataPtr(), main(), clCorrDipole::Process(), and clBeamDipole::Process().

void clArrayDipole::SetLowFreqLimit GDT   ) 
 

Set lower frequency limit.

Parameters:
fLowFreqLimit Lower frequency limit (Hz)

Definition at line 180 of file ArrayDipole.cc.

References clArrayBase::bDebug, FilterBank, GDT, GetArrayFreq(), and iSampleRate.

void clArrayDipole::AddData const GDT *  ,
long  ,
long 
 

Add data to processing buffer.

Note:
There must be enough data to fill each channel with lWindowSize amount of data.
Parameters:
fpSource Source vector
lStartIndex Starting channel index
lChannels Number of channels

Definition at line 198 of file ArrayDipole.cc.

References clArrayBase::DSP, FiltBuf, FilterBank, GDT, HFBuf, lBufferSize, lWindowSize, and RawBuf.

Referenced by clDirection::ReceiveData().

void clArrayDipole::GetRawData GDT **  ,
GDT 
 

Get raw (non filtered) data for specified direction.

Parameters:
fpaDest Destination vectors (array of pointers)
fDirection Direction (rad)

Definition at line 241 of file ArrayDipole.cc.

References clArrayBase::DSP, GDT, GetDelaySamples(), lBaseIdx, lWindowSize, and RawBuf.

GDT * clArrayDipole::GetRawDataPtr long  ,
GDT 
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
lSensor Sensor number
fDirection Direction (rad)
Returns:
Pointer to data

Definition at line 257 of file ArrayDipole.cc.

References GDT, GetDelaySamples(), lBaseIdx, and RawBuf.

void clArrayDipole::GetFilteredData GDT **  ,
GDT 
 

Get filtered data for specified direction.

Parameters:
fpaDest Destination vectors (array of pointers)
fDirection Direction (rad)

Definition at line 268 of file ArrayDipole.cc.

References clArrayBase::DSP, FiltBuf, GDT, GetDelaySamples(), lBaseIdx, and lWindowSize.

GDT * clArrayDipole::GetFilteredDataPtr long  ,
GDT 
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
lSensor Sensor number
fDirection Direction (rad)
Returns:
Pointer to data

Definition at line 284 of file ArrayDipole.cc.

References FiltBuf, GDT, GetDelaySamples(), and lBaseIdx.

void clArrayDipole::GetAudioData GDT *  ,
GDT  ,
bool 
 

Get audio data for specified direction.

Parameters:
fpDest Destination vector
fDirection Direction (rad)
bFullBand Full bandwidth or array-limited

Definition at line 295 of file ArrayDipole.cc.

References clArrayBase::DSP, FiltBuf, GDT, GetDelaySamples(), HFBuf, lBaseIdx, and lWindowSize.


Member Data Documentation

bool clArrayDipole::bInitialized [private]
 

Definition at line 39 of file ArrayDipole.hh.

Referenced by clArrayDipole(), Initialize(), Uninitialize(), and ~clArrayDipole().

long clArrayDipole::lWindowSize [private]
 

for filtering and array processing = out size

Definition at line 40 of file ArrayDipole.hh.

Referenced by AddData(), GetAudioData(), GetFilteredData(), GetRawData(), and Initialize().

long clArrayDipole::lBufferSize [private]
 

total size of history buffer n * WindowSize

Definition at line 41 of file ArrayDipole.hh.

Referenced by AddData(), and Initialize().

long clArrayDipole::lBaseIdx [private]
 

Start of non-delayed window.

Definition at line 42 of file ArrayDipole.hh.

Referenced by GetAudioData(), GetFilteredData(), GetFilteredDataPtr(), GetFiltPtr(), GetHFPtr(), GetRawData(), GetRawDataPtr(), GetRawPtr(), and Initialize().

int clArrayDipole::iSampleRate [private]
 

Definition at line 43 of file ArrayDipole.hh.

Referenced by Initialize(), and SetLowFreqLimit().

GDT clArrayDipole::fSpacing [private]
 

Definition at line 44 of file ArrayDipole.hh.

Referenced by Initialize().

GDT clArrayDipole::fDelay [private]
 

Definition at line 45 of file ArrayDipole.hh.

Referenced by GetArrayFreq(), GetDelay(), GetMaxDelay(), and Initialize().

clDSPAlloc clArrayDipole::RawBuf[2] [private]
 

Raw data.

Definition at line 47 of file ArrayDipole.hh.

Referenced by AddData(), GetRawData(), GetRawDataPtr(), GetRawPtr(), and Initialize().

clDSPAlloc clArrayDipole::FiltBuf[2] [private]
 

Filtered data (BP filtered).

Definition at line 49 of file ArrayDipole.hh.

Referenced by AddData(), GetAudioData(), GetFilteredData(), GetFilteredDataPtr(), GetFiltPtr(), and Initialize().

clDSPAlloc clArrayDipole::HFBuf[2] [private]
 

High frequency data (HP filtered).

Definition at line 51 of file ArrayDipole.hh.

Referenced by AddData(), GetAudioData(), GetHFPtr(), and Initialize().

clFilter clArrayDipole::FilterBank[4] [private]
 

0,1 BP filters, 2,3 HP filters

Definition at line 53 of file ArrayDipole.hh.

Referenced by AddData(), Initialize(), SetLowFreqLimit(), and Uninitialize().


The documentation for this class was generated from the following files:
Generated on Sun Oct 26 19:12:11 2003 for HASAS by doxygen 1.3.3