HOPS
HOPS class reference
Public Member Functions | Static Public Member Functions | List of all members
hops::MHO_BasicFringeInfo Class Reference

Class MHO_BasicFringeInfo. More...

#include <MHO_BasicFringeInfo.hh>

Public Member Functions

 MHO_BasicFringeInfo ()
 
virtual ~MHO_BasicFringeInfo ()
 

Static Public Member Functions

static double calculate_drate_error_v1 (double snr, double ref_freq, double total_nap, double ap_delta)
 Calculates and returns the delay rate error using SNR, reference frequency, total nap, and ap delta. More...
 
static double calculate_drate_error_v2 (double snr, double ref_freq, double integration_time)
 Calculates and returns the delay rate error using SNR, reference frequency, and integration time. More...
 
static double calculate_mbd_no_ion_error (double freq_spread, double snr)
 Calculates Multi-Band Delay error assuming no ionospheric effects. More...
 
static double calculate_pfd (double snr, double pts_searched)
 Calculates Probability of False Detection (PFD) given Signal-to-Noise Ratio (SNR) and number of points searched. More...
 
static double calculate_phase_delay_error (double sbavg, double snr, double ref_freq)
 Calculates phase delay error given sbavg, snr and reference frequency. More...
 
static double calculate_phase_error (double sbavg, double snr)
 Calculates phase error given sideband average and signal-to-noise ratio. More...
 
static double calculate_sbd_error (double sbd_sep, double snr, double sbavg)
 Calculates Single Band Delay (SBD) error using separation, SNR and average SBD. More...
 
static double calculate_snr (double effective_npol, double ap_period, double samp_period, double total_ap_frac, double amp, double bw_corr_factor)
 Calculates Signal to Noise Ratio (SNR) using given parameters. More...
 
static double calculate_theory_freqrms_amp (double nchan, double snr)
 Calculates theoretical frequency RMS amplitude error using given number of channels and signal-to-noise ratio. More...
 
static double calculate_theory_freqrms_phase (double nchan, double snr)
 Calculates theoretical frequency RMS phase error using number of channels and signal-to-noise ratio. More...
 
static double calculate_theory_timerms_amp (double nseg, double snr)
 Calculates theoretical time-averaged amplitude error using nseg and SNR. More...
 
static double calculate_theory_timerms_phase (double nseg, double snr)
 Calculates theoretical RMS phase error for given number of (averaging) segments and SNR. More...
 
static void correct_phases_mbd_anchor_sbd (double ref_freq, double freq0, double frequency_spacing, double delta_mbd, double &totphase_deg, double &resphase_deg)
 Corrects phase for MBD (anchoring to SBD) using reference frequency and frequency spacing. More...
 
static void ion_covariance (int nfreq, double famp, double snr, double ref_freq, const std::vector< double > &chan_freqs, const std::vector< std::complex< double > > &chan_phasors, std::vector< double > &ion_sigmas)
 Only used by MHO_IonosphericFringeFitter, for computing the ionosphere dTEC/MBD covariance. More...
 
static std::string leftpadzeros_integer (unsigned int n_places, int value)
 Pads an integer with leading zeros up to a specified number of places. More...
 
static std::string make_legacy_datetime_format (legacy_hops_date ldate)
 Formats legacy date/time as HHMMSS.xx for output. More...
 
static std::string make_legacy_datetime_format_v2 (legacy_hops_date ldate)
 Converts legacy_hops_date to format: YYYY:DDD:HHMMSS. More...
 

Detailed Description

Class MHO_BasicFringeInfo.

collection of very simple static helper functions used when computing fringe information/parameters

Author
J. Barrettj - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Wed Sep 20 14:38:33 2023 -0400

Constructor & Destructor Documentation

◆ MHO_BasicFringeInfo()

hops::MHO_BasicFringeInfo::MHO_BasicFringeInfo ( )
inline

◆ ~MHO_BasicFringeInfo()

virtual hops::MHO_BasicFringeInfo::~MHO_BasicFringeInfo ( )
inlinevirtual

Member Function Documentation

◆ calculate_drate_error_v1()

double hops::MHO_BasicFringeInfo::calculate_drate_error_v1 ( double  snr,
double  ref_freq,
double  total_nap,
double  ap_delta 
)
static

Calculates and returns the delay rate error using SNR, reference frequency, total nap, and ap delta.

Parameters
snrSignal to Noise Ratio
ref_freqReference frequency in GHz
total_napTotal number of accumulation periods
ap_deltaaccumulation period time-delta
Returns
delay rate error calculated using the provided parameters
Note
This is a static function.

◆ calculate_drate_error_v2()

double hops::MHO_BasicFringeInfo::calculate_drate_error_v2 ( double  snr,
double  ref_freq,
double  integration_time 
)
static

Calculates and returns the delay rate error using SNR, reference frequency, and integration time.

Parameters
snrSignal to Noise Ratio (SNR)
ref_freqReference frequency in GHz
integration_timeIntegration time
Returns
delay rate error calculated as sqrt(12.0) / (2.0 * M_PI * snr * ref_freq * integration_time)
Note
This is a static function.

◆ calculate_mbd_no_ion_error()

double hops::MHO_BasicFringeInfo::calculate_mbd_no_ion_error ( double  freq_spread,
double  snr 
)
static

Calculates Multi-Band Delay error assuming no ionospheric effects.

Parameters
freq_spreadFrequency spread in MHz
snrSignal-to-Noise Ratio (SNR)
Returns
Multi-Band Delay error without ionospheric effects
Note
This is a static function.

◆ calculate_pfd()

double hops::MHO_BasicFringeInfo::calculate_pfd ( double  snr,
double  pts_searched 
)
static

Calculates Probability of False Detection (PFD) given Signal-to-Noise Ratio (SNR) and number of points searched.

Parameters
snrSignal-to-Noise Ratio
pts_searchedNumber of points searched
Returns
Probability of False Detection
Note
This is a static function.

◆ calculate_phase_delay_error()

double hops::MHO_BasicFringeInfo::calculate_phase_delay_error ( double  sbavg,
double  snr,
double  ref_freq 
)
static

Calculates phase delay error given sbavg, snr and reference frequency.

Parameters
sbavgAverage sideband
snrSignal to Noise Ratio
ref_freqReference frequency
Returns
Phase delay error as a double value
Note
This is a static function.

◆ calculate_phase_error()

double hops::MHO_BasicFringeInfo::calculate_phase_error ( double  sbavg,
double  snr 
)
static

Calculates phase error given sideband average and signal-to-noise ratio.

Parameters
sbavgAverage sideband
snrSignal to Noise Ratio
Returns
Phase error in degrees
Note
This is a static function.

◆ calculate_sbd_error()

double hops::MHO_BasicFringeInfo::calculate_sbd_error ( double  sbd_sep,
double  snr,
double  sbavg 
)
static

Calculates Single Band Delay (SBD) error using separation, SNR and average SBD.

Parameters
sbd_sepSingle Band Delay separation
snrSignal to Noise Ratio
sbavgAverage sideband
Returns
Calculated SBD error
Note
This is a static function.

◆ calculate_snr()

double hops::MHO_BasicFringeInfo::calculate_snr ( double  effective_npol,
double  ap_period,
double  samp_period,
double  total_ap_frac,
double  amp,
double  bw_corr_factor 
)
static

Calculates Signal to Noise Ratio (SNR) using given parameters.

Parameters
effective_npolEffective number of polarizations
ap_periodaccumulation period
samp_periodSampling period (assumes Nyquist sampling)
total_ap_fractotal accumulation period weights used in amplitude summation
ampAmplitude of the fringe (correlation coeff)
bw_corr_factorBandwidth correction factor (corrects for 'notches', etc.)
Returns
Calculated SNR value
Note
This is a static function.

◆ calculate_theory_freqrms_amp()

double hops::MHO_BasicFringeInfo::calculate_theory_freqrms_amp ( double  nchan,
double  snr 
)
static

Calculates theoretical frequency RMS amplitude error using given number of channels and signal-to-noise ratio.

Parameters
nchanNumber of channels
snrSignal to Noise Ratio
Returns
Theoretical frequency RMS amplitude error as a double value
Note
This is a static function.

◆ calculate_theory_freqrms_phase()

double hops::MHO_BasicFringeInfo::calculate_theory_freqrms_phase ( double  nchan,
double  snr 
)
static

Calculates theoretical frequency RMS phase error using number of channels and signal-to-noise ratio.

Parameters
nchanNumber of channels
snrSignal-to-Noise Ratio
Returns
Theoretical frequency RMS phase error as a double value
Note
This is a static function.

◆ calculate_theory_timerms_amp()

double hops::MHO_BasicFringeInfo::calculate_theory_timerms_amp ( double  nseg,
double  snr 
)
static

Calculates theoretical time-averaged amplitude error using nseg and SNR.

Parameters
nsegNumber of segments
snrSignal-to-Noise Ratio
Returns
Theoretical time-averaged amplitude error as a double
Note
This is a static function.

◆ calculate_theory_timerms_phase()

double hops::MHO_BasicFringeInfo::calculate_theory_timerms_phase ( double  nseg,
double  snr 
)
static

Calculates theoretical RMS phase error for given number of (averaging) segments and SNR.

Parameters
nsegEffective number of segments actually included in fit
snrSignal to Noise Ratio.
Returns
Theoretical RMS phase error in degrees.
Note
This is a static function.

◆ correct_phases_mbd_anchor_sbd()

void hops::MHO_BasicFringeInfo::correct_phases_mbd_anchor_sbd ( double  ref_freq,
double  freq0,
double  frequency_spacing,
double  delta_mbd,
double &  totphase_deg,
double &  resphase_deg 
)
static

Corrects phase for MBD (anchoring to SBD) using reference frequency and frequency spacing.

Parameters
ref_freqReference frequency in MHz
freq0Initial frequency in MHz
frequency_spacingFrequency spacing in MHz
delta_mbd- integer ambiguity (Multi-Band Delay - Single Band delay)
totphase_degTotal phase degree (output)
resphase_degResidual phase degree (output)
Note
This is a static function.

◆ ion_covariance()

void hops::MHO_BasicFringeInfo::ion_covariance ( int  nfreq,
double  famp,
double  snr,
double  ref_freq,
const std::vector< double > &  chan_freqs,
const std::vector< std::complex< double > > &  chan_phasors,
std::vector< double > &  ion_sigmas 
)
static

Only used by MHO_IonosphericFringeFitter, for computing the ionosphere dTEC/MBD covariance.

Parameters
nfreqNumber of frequency channels.
fampAmplitude of fringe
snrSignal-to-noise ratio for ionospheric delay calculation.
ref_freqReference frequency in MHz.
chan_freqsVector of channel frequencies in MHz.
chan_phasorsVector of complex phasor values.
ion_sigmasOutput vector of ion sigams
Note
This is a static function.

◆ leftpadzeros_integer()

std::string hops::MHO_BasicFringeInfo::leftpadzeros_integer ( unsigned int  n_places,
int  value 
)
static

Pads an integer with leading zeros up to a specified number of places.

Parameters
n_placesNumber of places to pad the integer with leading zeros.
valueThe integer value to be padded.
Returns
A string representation of the padded integer.
Note
This is a static function.

◆ make_legacy_datetime_format()

std::string hops::MHO_BasicFringeInfo::make_legacy_datetime_format ( legacy_hops_date  ldate)
static

Formats legacy date/time as HHMMSS.xx for output.

Parameters
ldateInput legacy_hops_date to format
Returns
Formatted datetime string
Note
This is a static function.

◆ make_legacy_datetime_format_v2()

std::string hops::MHO_BasicFringeInfo::make_legacy_datetime_format_v2 ( legacy_hops_date  ldate)
static

Converts legacy_hops_date to format: YYYY:DDD:HHMMSS.

Parameters
ldateInput date in legacy_hops_date format
Returns
formatted date string
Note
This is a static function.

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