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

clSpectDirLine Class Reference

Spectrum based direction finding for a line array. More...

#include <SpectDirLine.hh>

Inheritance diagram for clSpectDirLine:

Inheritance graph
[legend]
Collaboration diagram for clSpectDirLine:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clSpectDirLine (long, GDT, GDT, double, long, int, long, long, GDT, bool)
 Constructor.

 ~clSpectDirLine ()
void PutData (const GDT *, long, long, long)
 Put data into input data FIFO.

bool GetResults (GDT *, GDT, int, stpSpectDirRN)
 Get results.

void ResetResults ()
 Reset results.

GDT GetIntegrationTime ()
 Get integration time (seconds).


Private Member Functions

void Calculate (int, stpSpectDirRN)

Private Attributes

bool bDebug
long lSensorCount
long lDirectionCount
long lFilterSize
long lFFTSize
long lDecimation
long lSpectSize
long lMinBin
long lMaxBin
long lNewData
long lOldData
float fOverlap
GDT fFreqRes
GDT fIntTime
GDT * fpWinFunc
GDT * fpExtBuf
std::vector< GDT * > vfpProcBuf
std::vector< GDT * > vfpPrevBuf
std::vector< GDT * > vfpRNBuf
std::vector< GCDT * > vspSpect
clDSPAlloc WinFuncBuf
clDSPAlloc ExtBuf
std::vector< clDSPAlloc > vProcBuf
std::vector< clDSPAlloc > vPrevBuf
std::vector< clDSPAlloc > vRNBuf
std::vector< clDSPAlloc > vSpectBuf
std::vector< clRecDecimator * > vDecimator
clRemoveNoise BNER

Detailed Description

Spectrum based direction finding for a line array.

This is 100% my (Jussi Laako) own algorithm. At least I haven't seen this anywhere before and I'm not aware if such exists anywhere else.

Definition at line 68 of file SpectDirLine.hh.


Constructor & Destructor Documentation

clSpectDirLine::clSpectDirLine long  ,
GDT  ,
GDT  ,
double  ,
long  ,
int  ,
long  ,
long  ,
GDT  ,
bool 
 

Constructor.

Parameters:
lSensors Number of sensors in array
fSensorSpacing Sensor distance (m)
fSoundSpeed Speed of sound (m/s)
dSampleRate Samplerate
lFiltSize Filter size (points)
iFilterType Type of decimation filter
lWindowSize Window size (points)
lDirCount Number of sectors
fIntTimeReq Integration time request (s)
bEnableDebug Enable debug?

Definition at line 106 of file SpectDirLine.cc.

References bDebug, clSpectDir::DSP, fFreqRes, fIntTime, fOverlap, fpWinFunc, GCDT, GDT, clSpectDir::GetArrayFrequency(), lDecimation, lDirectionCount, lFFTSize, lFilterSize, lMaxBin, lNewData, lOldData, lSensorCount, lSpectSize, clSpectDir::SetDirectionCount(), clSpectDir::SetSensorSpacing(), clSpectDir::SetSoundSpeed(), vDecimator, vfpPrevBuf, vfpProcBuf, vfpRNBuf, vPrevBuf, vProcBuf, vRNBuf, vSpectBuf, vspSpect, and WinFuncBuf.

clSpectDirLine::~clSpectDirLine  ) 
 

Definition at line 194 of file SpectDirLine.cc.

References vDecimator.


Member Function Documentation

void clSpectDirLine::Calculate int  ,
stpSpectDirRN 
[private]
 

Definition at line 29 of file SpectDirLine.cc.

References BNER, clRemoveNoise::Diff(), clSpectDir::DSP, _stSpectDirRN::fAlpha, fFreqRes, fpWinFunc, GCDT, GDT, clRemoveNoise::InvDiff(), _stSpectDirRN::iType, lFFTSize, _stSpectDirRN::lGapLength, lMaxBin, _stSpectDirRN::lMeanLength, lMinBin, lSensorCount, lSpectSize, clRemoveNoise::OTA(), SDL_BNER_DIFF, SDL_BNER_IDIFF, SDL_BNER_NONE, SDL_BNER_OTA, SDL_BNER_TPSW, SDL_SCALE_LIN, SDL_SCALE_LOG, clSpectDir::SetDirection(), clRemoveNoise::TPSW(), vfpProcBuf, vfpRNBuf, and vspSpect.

Referenced by GetResults().

void clSpectDirLine::PutData const GDT *  ,
long  ,
long  ,
long 
 

Put data into input data FIFO.

Parameters:
fpInputData Input data
lDataCount Number of samples (total)
lStartCh Starting channel index
lChCount Number of channels (total)

Definition at line 204 of file SpectDirLine.cc.

References clSpectDir::DSP, ExtBuf, fpExtBuf, GDT, lSensorCount, and vDecimator.

Referenced by clDirection2::ProcessLoop().

bool clSpectDirLine::GetResults GDT *  ,
GDT  ,
int  ,
stpSpectDirRN 
 

Get results.

\[V_{f}(x)=\sqrt{\left(\Re{F(x)_{L}}^{2}+\Im{F(x)_{L}}^{2}\right)+\left(\Re{F(x)_{R}}^{2}+\Im{F(x)_{R}}^{2}\right)}\]

\[z_{c}(x)=F(x)_{L}F(x)_{R}^{*}\]

\[\Delta{\varphi}_{f}(x)=\arctan\left(\frac{\Im{z_{c}(x)}}{\Re{z_{c}(x)}}\right)\]

Parameters:
fpResults Results vector
fLowFreqLimit Lower frequency limit (Hz)
iScaling Scaling type
spRemoveNoise Noise removal parameters
Returns:
Results available?

Definition at line 222 of file SpectDirLine.cc.

References Calculate(), clSpectDir::DSP, fFreqRes, GDT, clSpectDir::GetDirections(), lFFTSize, lMaxBin, lMinBin, lNewData, lOldData, lSensorCount, vDecimator, vfpPrevBuf, and vfpProcBuf.

Referenced by clDirection2::ProcessLoop().

void clSpectDirLine::ResetResults  ) 
 

Reset results.

Definition at line 256 of file SpectDirLine.cc.

References clSpectDir::ResetDirections().

Referenced by clDirection2::ProcessLoop().

GDT clSpectDirLine::GetIntegrationTime  )  [inline]
 

Get integration time (seconds).

Returns:
Integration time (s)

Definition at line 149 of file SpectDirLine.hh.

References fIntTime, and GDT.

Referenced by clDirection2::ProcessLoop().


Member Data Documentation

bool clSpectDirLine::bDebug [private]
 

Definition at line 70 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

long clSpectDirLine::lSensorCount [private]
 

Definition at line 71 of file SpectDirLine.hh.

Referenced by Calculate(), clSpectDirLine(), GetResults(), and PutData().

long clSpectDirLine::lDirectionCount [private]
 

Definition at line 72 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

long clSpectDirLine::lFilterSize [private]
 

Definition at line 73 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

long clSpectDirLine::lFFTSize [private]
 

Definition at line 74 of file SpectDirLine.hh.

Referenced by Calculate(), clSpectDirLine(), and GetResults().

long clSpectDirLine::lDecimation [private]
 

Definition at line 75 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

long clSpectDirLine::lSpectSize [private]
 

Definition at line 76 of file SpectDirLine.hh.

Referenced by Calculate(), and clSpectDirLine().

long clSpectDirLine::lMinBin [private]
 

Definition at line 77 of file SpectDirLine.hh.

Referenced by Calculate(), and GetResults().

long clSpectDirLine::lMaxBin [private]
 

Definition at line 78 of file SpectDirLine.hh.

Referenced by Calculate(), clSpectDirLine(), and GetResults().

long clSpectDirLine::lNewData [private]
 

Definition at line 79 of file SpectDirLine.hh.

Referenced by clSpectDirLine(), and GetResults().

long clSpectDirLine::lOldData [private]
 

Definition at line 80 of file SpectDirLine.hh.

Referenced by clSpectDirLine(), and GetResults().

float clSpectDirLine::fOverlap [private]
 

Definition at line 81 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

GDT clSpectDirLine::fFreqRes [private]
 

Definition at line 82 of file SpectDirLine.hh.

Referenced by Calculate(), clSpectDirLine(), and GetResults().

GDT clSpectDirLine::fIntTime [private]
 

Definition at line 83 of file SpectDirLine.hh.

Referenced by clSpectDirLine(), and GetIntegrationTime().

GDT* clSpectDirLine::fpWinFunc [private]
 

Definition at line 84 of file SpectDirLine.hh.

Referenced by Calculate(), and clSpectDirLine().

GDT* clSpectDirLine::fpExtBuf [private]
 

Definition at line 85 of file SpectDirLine.hh.

Referenced by PutData().

std::vector<GDT *> clSpectDirLine::vfpProcBuf [private]
 

Definition at line 86 of file SpectDirLine.hh.

Referenced by Calculate(), clSpectDirLine(), and GetResults().

std::vector<GDT *> clSpectDirLine::vfpPrevBuf [private]
 

Definition at line 87 of file SpectDirLine.hh.

Referenced by clSpectDirLine(), and GetResults().

std::vector<GDT *> clSpectDirLine::vfpRNBuf [private]
 

Definition at line 88 of file SpectDirLine.hh.

Referenced by Calculate(), and clSpectDirLine().

std::vector<GCDT *> clSpectDirLine::vspSpect [private]
 

Definition at line 89 of file SpectDirLine.hh.

Referenced by Calculate(), and clSpectDirLine().

clDSPAlloc clSpectDirLine::WinFuncBuf [private]
 

Definition at line 90 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

clDSPAlloc clSpectDirLine::ExtBuf [private]
 

Definition at line 91 of file SpectDirLine.hh.

Referenced by PutData().

std::vector<clDSPAlloc> clSpectDirLine::vProcBuf [private]
 

Definition at line 92 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

std::vector<clDSPAlloc> clSpectDirLine::vPrevBuf [private]
 

Definition at line 93 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

std::vector<clDSPAlloc> clSpectDirLine::vRNBuf [private]
 

Definition at line 94 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

std::vector<clDSPAlloc> clSpectDirLine::vSpectBuf [private]
 

Definition at line 95 of file SpectDirLine.hh.

Referenced by clSpectDirLine().

std::vector<clRecDecimator *> clSpectDirLine::vDecimator [private]
 

Definition at line 96 of file SpectDirLine.hh.

Referenced by clSpectDirLine(), GetResults(), PutData(), and ~clSpectDirLine().

clRemoveNoise clSpectDirLine::BNER [private]
 

Definition at line 97 of file SpectDirLine.hh.

Referenced by Calculate().


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