STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
NoiseAnalyzer Class Reference

#include <noise_analyzer.h>

Public Member Functions

 NoiseAnalyzer ()
void reset ()
void addSample (int32_t code)
bool ready () const
size_t sampleCount () const
float rmsNoiseLsb () const
float peakToPeakNoiseLsb () const
float noiseFreeBits (uint8_t adcBits) const
float enob (uint8_t adcBits) const
double mean () const
bool isStable (float cvThreshold=0.01f) const

Static Public Attributes

static const size_t WINDOW_SIZE

Private Member Functions

void _updateStats () const

Private Attributes

int32_t _buf [WINDOW_SIZE]
size_t _count
size_t _index
bool _statsDirty
double _cachedMean
double _cachedStdDev
int32_t _cachedMin
int32_t _cachedMax

Detailed Description

Definition at line 4 of file noise_analyzer.h.

Constructor & Destructor Documentation

◆ NoiseAnalyzer()

NoiseAnalyzer::NoiseAnalyzer ( )

Member Function Documentation

◆ _updateStats()

void NoiseAnalyzer::_updateStats ( ) const
private

◆ addSample()

void NoiseAnalyzer::addSample ( int32_t code)

Definition at line 28 of file noise_analyzer.cpp.

References _buf, _count, _index, _statsDirty, and WINDOW_SIZE.

◆ enob()

float NoiseAnalyzer::enob ( uint8_t adcBits) const

Definition at line 120 of file noise_analyzer.cpp.

References _count, and rmsNoiseLsb().

◆ isStable()

bool NoiseAnalyzer::isStable ( float cvThreshold = 0.01f) const

Definition at line 156 of file noise_analyzer.cpp.

References _cachedMean, _cachedStdDev, _count, and _updateStats().

◆ mean()

double NoiseAnalyzer::mean ( ) const

Definition at line 74 of file noise_analyzer.cpp.

References _cachedMean, _count, and _updateStats().

◆ noiseFreeBits()

float NoiseAnalyzer::noiseFreeBits ( uint8_t adcBits) const

Definition at line 95 of file noise_analyzer.cpp.

References _count, and rmsNoiseLsb().

◆ peakToPeakNoiseLsb()

float NoiseAnalyzer::peakToPeakNoiseLsb ( ) const

Definition at line 88 of file noise_analyzer.cpp.

References _cachedMax, _cachedMin, _count, and _updateStats().

◆ ready()

bool NoiseAnalyzer::ready ( ) const
inline

Definition at line 18 of file noise_analyzer.h.

References _count, and WINDOW_SIZE.

◆ reset()

void NoiseAnalyzer::reset ( )

Definition at line 18 of file noise_analyzer.cpp.

References _cachedMax, _cachedMean, _cachedMin, _cachedStdDev, _count, _index, and _statsDirty.

◆ rmsNoiseLsb()

float NoiseAnalyzer::rmsNoiseLsb ( ) const

Definition at line 81 of file noise_analyzer.cpp.

References _cachedStdDev, _count, and _updateStats().

Referenced by enob(), and noiseFreeBits().

◆ sampleCount()

size_t NoiseAnalyzer::sampleCount ( ) const
inline

Definition at line 23 of file noise_analyzer.h.

References _count.

Member Data Documentation

◆ _buf

int32_t NoiseAnalyzer::_buf[WINDOW_SIZE]
private

Definition at line 52 of file noise_analyzer.h.

Referenced by _updateStats(), addSample(), and NoiseAnalyzer().

◆ _cachedMax

int32_t NoiseAnalyzer::_cachedMax
mutableprivate

Definition at line 61 of file noise_analyzer.h.

Referenced by _updateStats(), NoiseAnalyzer(), peakToPeakNoiseLsb(), and reset().

◆ _cachedMean

double NoiseAnalyzer::_cachedMean
mutableprivate

Definition at line 58 of file noise_analyzer.h.

Referenced by _updateStats(), isStable(), mean(), NoiseAnalyzer(), and reset().

◆ _cachedMin

int32_t NoiseAnalyzer::_cachedMin
mutableprivate

Definition at line 60 of file noise_analyzer.h.

Referenced by _updateStats(), NoiseAnalyzer(), peakToPeakNoiseLsb(), and reset().

◆ _cachedStdDev

double NoiseAnalyzer::_cachedStdDev
mutableprivate

Definition at line 59 of file noise_analyzer.h.

Referenced by _updateStats(), isStable(), NoiseAnalyzer(), reset(), and rmsNoiseLsb().

◆ _count

size_t NoiseAnalyzer::_count
private

◆ _index

size_t NoiseAnalyzer::_index
private

Definition at line 54 of file noise_analyzer.h.

Referenced by addSample(), NoiseAnalyzer(), and reset().

◆ _statsDirty

bool NoiseAnalyzer::_statsDirty
mutableprivate

Definition at line 57 of file noise_analyzer.h.

Referenced by _updateStats(), addSample(), NoiseAnalyzer(), and reset().

◆ WINDOW_SIZE

const size_t NoiseAnalyzer::WINDOW_SIZE
static
Initial value:
=
1000

Definition at line 6 of file noise_analyzer.h.

Referenced by addSample(), NoiseAnalyzer(), and ready().


The documentation for this class was generated from the following files: