JS8Call-Improved master
Loading...
Searching...
No Matches
js8::TimingTracker Class Reference

Public Member Functions

void reset (double initial_samples, double alpha=0.15, double max_step=0.35, double max_total_error=2.0)
 Tracks residual timing (sample) offset between the symbol clock and the signal.
void disable ()
 Disable the TimingTracker.
bool enabled () const noexcept
 Whether the timing tracker is enabled.
double currentSamples () const noexcept
 Current estimated residual timing offset in samples.
double averageStepSamples () const noexcept
 Average timing step applied per update (samples).
void update (double residual_samples, double weight=1.0)
 Update timing estimate using a measured residual (samples).

Member Function Documentation

◆ averageStepSamples()

double js8::TimingTracker::averageStepSamples ( ) const
nodiscardnoexcept

Average timing step applied per update (samples).

Get the average step size in samples.

Returns
Average step in sample units.
double

◆ currentSamples()

double js8::TimingTracker::currentSamples ( ) const
nodiscardnoexcept

Current estimated residual timing offset in samples.

Get the current timing estimate in samples.

Returns
Estimated sample offset.
double

◆ disable()

void js8::TimingTracker::disable ( )

Disable the TimingTracker.

Disable timing tracker updates.

◆ enabled()

bool js8::TimingTracker::enabled ( ) const
nodiscardnoexcept

Whether the timing tracker is enabled.

Check if the TimingTracker is enabled.

Returns
true if enabled.
true
false

◆ reset()

void js8::TimingTracker::reset ( double initial_samples,
double alpha = 0.15,
double max_step = 0.35,
double max_total_error = 2.0 )

Tracks residual timing (sample) offset between the symbol clock and the signal.

Reset the TimingTracker with initial parameters.

Initialized with bounds and step limits; update() ingests early/late energy errors from pilots to refine sample alignment. Used per candidate in the JS8 decode loop alongside FrequencyTracker.

Initialize the timing tracker.

Parameters
initial_samplesInitial timing offset in samples.
alphaSmoothing coefficient (default 0.15).
max_stepMaximum allowed step per update (samples).
max_total_errorMaximum cumulative error tolerated (samples).
initial_samplesInitial timing estimate in samples
alphaSmoothing factor
max_stepMaximum step size in samples
max_total_errorMaximum allowable total error in samples

◆ update()

void js8::TimingTracker::update ( double residual_samples,
double weight = 1.0 )

Update timing estimate using a measured residual (samples).

Update the TimingTracker with a new residual timing measurement.

Parameters
residual_samplesMeasured residual in samples.
weightWeighting for this update (default 1.0).
residual_samplesResidual timing in samples
weightWeighting factor

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