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

clSpectDirDipole Class Reference

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

#include <SpectDirDipole.hh>

Inheritance diagram for clSpectDirDipole:

Inheritance graph
[legend]
Collaboration diagram for clSpectDirDipole:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

 ~clSpectDirDipole ()
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 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
GDT * fpProcBuf [2]
GDT * fpPrevBuf [2]
GDT * fpRNBuf [2]
GCDT * spSpect [2]
clDSPAlloc WinFuncBuf
clDSPAlloc ExtBuf
clDSPAlloc ProcBuf [2]
clDSPAlloc PrevBuf [2]
clDSPAlloc RNBuf [2]
clDSPAlloc SpectBuf [2]
clRecDecimator Decimator [2]
clRemoveNoise BNER

Detailed Description

Spectrum based direction finding for a dipole 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 66 of file SpectDirDipole.hh.


Constructor & Destructor Documentation

clSpectDirDipole::clSpectDirDipole GDT  ,
GDT  ,
double  ,
long  ,
int  ,
long  ,
long  ,
GDT  ,
bool 
 

Constructor.

Parameters:
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 104 of file SpectDirDipole.cc.

References bDebug, Decimator, clSpectDir::DSP, fFreqRes, fIntTime, fOverlap, fpPrevBuf, fpProcBuf, fpRNBuf, fpWinFunc, GCDT, GDT, clSpectDir::GetArrayFrequency(), lDecimation, lDirectionCount, lFFTSize, lFilterSize, lMaxBin, lNewData, lOldData, lSpectSize, PrevBuf, ProcBuf, RNBuf, clSpectDir::SetDirectionCount(), clSpectDir::SetSensorSpacing(), clSpectDir::SetSoundSpeed(), SpectBuf, spSpect, and WinFuncBuf.

clSpectDirDipole::~clSpectDirDipole  ) 
 

Definition at line 186 of file SpectDirDipole.cc.


Member Function Documentation

void clSpectDirDipole::Calculate int  ,
stpSpectDirRN 
[private]
 

Definition at line 30 of file SpectDirDipole.cc.

References BNER, clRemoveNoise::Diff(), clSpectDir::DSP, _stSpectDirRN::fAlpha, fFreqRes, fpProcBuf, fpRNBuf, fpWinFunc, GCDT, GDT, clRemoveNoise::InvDiff(), _stSpectDirRN::iType, lFFTSize, _stSpectDirRN::lGapLength, lMaxBin, _stSpectDirRN::lMeanLength, lMinBin, lSpectSize, clRemoveNoise::OTA(), SDD_BNER_DIFF, SDD_BNER_IDIFF, SDD_BNER_NONE, SDD_BNER_OTA, SDD_BNER_TPSW, SDD_SCALE_LIN, SDD_SCALE_LOG, clSpectDir::SetDirection(), spSpect, and clRemoveNoise::TPSW().

Referenced by GetResults().

void clSpectDirDipole::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 191 of file SpectDirDipole.cc.

References Decimator, clSpectDir::DSP, ExtBuf, fpExtBuf, and GDT.

Referenced by clDirection2::ProcessLoop().

bool clSpectDirDipole::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 209 of file SpectDirDipole.cc.

References Calculate(), Decimator, clSpectDir::DSP, fFreqRes, fpPrevBuf, fpProcBuf, GDT, clSpectDir::GetDirections(), lFFTSize, lMaxBin, lMinBin, lNewData, and lOldData.

Referenced by clDirection2::ProcessLoop().

void clSpectDirDipole::ResetResults  ) 
 

Reset results.

Definition at line 243 of file SpectDirDipole.cc.

References clSpectDir::ResetDirections().

Referenced by clDirection2::ProcessLoop().

GDT clSpectDirDipole::GetIntegrationTime  )  [inline]
 

Get integration time (seconds).

Returns:
Integration time (s)

Definition at line 145 of file SpectDirDipole.hh.

References fIntTime, and GDT.

Referenced by clDirection2::ProcessLoop().


Member Data Documentation

bool clSpectDirDipole::bDebug [private]
 

Definition at line 68 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

long clSpectDirDipole::lDirectionCount [private]
 

Definition at line 69 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

long clSpectDirDipole::lFilterSize [private]
 

Definition at line 70 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

long clSpectDirDipole::lFFTSize [private]
 

Definition at line 71 of file SpectDirDipole.hh.

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

long clSpectDirDipole::lDecimation [private]
 

Definition at line 72 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

long clSpectDirDipole::lSpectSize [private]
 

Definition at line 73 of file SpectDirDipole.hh.

Referenced by Calculate(), and clSpectDirDipole().

long clSpectDirDipole::lMinBin [private]
 

Definition at line 74 of file SpectDirDipole.hh.

Referenced by Calculate(), and GetResults().

long clSpectDirDipole::lMaxBin [private]
 

Definition at line 75 of file SpectDirDipole.hh.

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

long clSpectDirDipole::lNewData [private]
 

Definition at line 76 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole(), and GetResults().

long clSpectDirDipole::lOldData [private]
 

Definition at line 77 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole(), and GetResults().

float clSpectDirDipole::fOverlap [private]
 

Definition at line 78 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

GDT clSpectDirDipole::fFreqRes [private]
 

Definition at line 79 of file SpectDirDipole.hh.

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

GDT clSpectDirDipole::fIntTime [private]
 

Definition at line 80 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole(), and GetIntegrationTime().

GDT* clSpectDirDipole::fpWinFunc [private]
 

Definition at line 81 of file SpectDirDipole.hh.

Referenced by Calculate(), and clSpectDirDipole().

GDT* clSpectDirDipole::fpExtBuf [private]
 

Definition at line 82 of file SpectDirDipole.hh.

Referenced by PutData().

GDT* clSpectDirDipole::fpProcBuf[2] [private]
 

Definition at line 83 of file SpectDirDipole.hh.

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

GDT* clSpectDirDipole::fpPrevBuf[2] [private]
 

Definition at line 84 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole(), and GetResults().

GDT* clSpectDirDipole::fpRNBuf[2] [private]
 

Definition at line 85 of file SpectDirDipole.hh.

Referenced by Calculate(), and clSpectDirDipole().

GCDT* clSpectDirDipole::spSpect[2] [private]
 

Definition at line 86 of file SpectDirDipole.hh.

Referenced by Calculate(), and clSpectDirDipole().

clDSPAlloc clSpectDirDipole::WinFuncBuf [private]
 

Definition at line 87 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

clDSPAlloc clSpectDirDipole::ExtBuf [private]
 

Definition at line 88 of file SpectDirDipole.hh.

Referenced by PutData().

clDSPAlloc clSpectDirDipole::ProcBuf[2] [private]
 

Definition at line 89 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

clDSPAlloc clSpectDirDipole::PrevBuf[2] [private]
 

Definition at line 90 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

clDSPAlloc clSpectDirDipole::RNBuf[2] [private]
 

Definition at line 91 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

clDSPAlloc clSpectDirDipole::SpectBuf[2] [private]
 

Definition at line 92 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole().

clRecDecimator clSpectDirDipole::Decimator[2] [private]
 

Definition at line 93 of file SpectDirDipole.hh.

Referenced by clSpectDirDipole(), GetResults(), and PutData().

clRemoveNoise clSpectDirDipole::BNER [private]
 

Definition at line 94 of file SpectDirDipole.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