Correct low-bit sampled power measurements and correlations. More...

#include <VanVleck.h>

Public Member Functions

 VanVleck ()
 Default constructor.
void set_nlevel (int n)
 Set number of levels.
int get_nlevel () const
 Get number of levels;.
void set_uniform_threshold ()
 Set uniform sampling thresholds.
void set_threshold (float *thr)
 Set arbitrary sampling thresholds.
void set_uniform_levels ()
 Set uniform output levels.
void set_canonical_levels ()
 Set "canonical" output levels.
void set_levels (float *lev)
 Set arbitrary output levels.
double out_pow (double in_pow, double in_dc=0.0)
 Return output (quantized) power given input power, dc.
double d_out_pow (double in_pow, double in_dc=0.0)
 Return derivative d(out_pow)/d(in_pow)
double in_pow (double out_pow)
 Return input (analog) power given output (quantized) power.
void set_in_power (double px, double py)
 Set input powers for correlation correction.
void correct_acf (std::vector< float > data)
 Correct a vector of auto-correlations using current pow_x.
void correct_ccf (std::vector< float > data)
 Correct a vector of cross-correlations using current input powers.

Protected Member Functions

void compute_coeffs ()
 Compute coefficients for correlation correction using pow_x, pow_y.

Protected Attributes

int nlevel
 Number of levels.
double pow_x
 Input powers to use in correcting corrrelations.
double pow_y
std::vector< float > thresh
 Vector of sampling thresholds.
std::vector< float > levels
 Vector of output levels.
double c1x
 Storage for coeffs we may want to reuse.
double c1y
double c3x
double c3y

Detailed Description

Correct low-bit sampled power measurements and correlations.

This class contains routines to rescale power and correlation measurements made from N-level sampled data. The number of levels, and their output values are arbitrary (but should be constant). The only constraint is that both thresholds and output levels must be symmetric about 0. Quantized (pre-correction) data should be scaled so that it has power levels between $L_0^2$ and $L_{max}^2$, where $L_0$ ( $L_{max}$) is the smallest (largest) level in absolute value. Input power values are returned in the same units as the threshold values.

Member Function Documentation

◆ set_in_power()

void VanVleck::set_in_power ( double px,
double py )

Set input powers for correlation correction.

If only one power is needed (ie, only correcting ACFs), set py<0.

References pow_x.


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

Generated using doxygen 1.14.0