JS8Call-Improved master
Loading...
Searching...
No Matches
JS8::Submode Namespace Reference

JS8 Submode namespace implementation. More...

Classes

struct  error
 Exception type thrown for invalid or unsupported submode inputs. More...

Functions

QString name (int const submode)
 Get the name of the submode.
unsigned int bandwidth (int const submode)
 Get the bandwidth of the submode.
Costas::Type costas (int const submode)
 Get the Costas array type of the submode.
unsigned int samplesPerPeriod (int const submode)
 Get the number of samples per period of the submode.
unsigned int samplesForSymbols (int const submode)
 Get the number of samples for symbols of the submode.
unsigned int samplesNeeded (int const submode)
 Get the number of samples needed for the submode.
unsigned int period (int const submode)
 Get the period of the submode.
int rxSNRThreshold (int const submode)
 Get the receive SNR threshold of the submode.
int rxThreshold (int const submode)
 Get the receive threshold of the submode.
unsigned int startDelayMS (int const submode)
 Get the start delay in milliseconds of the submode.
unsigned int samplesForOneSymbol (int const submode)
 Get the number of samples for one symbol of the submode.
double toneSpacing (int const submode)
 Get the tone spacing of the submode.
double dataDuration (int const submode)
 Get the data duration of the submode.
double txDuration (int const submode)
 Get the transmit duration of the submode.
int computeCycleForDecode (int const submode, int const k)
 Compute the cycle for decode.
int computeAltCycleForDecode (int const submode, int const k, int const offsetFrames)
 Compute the alternate cycle for decode.
double computeRatio (int const submode, double const period)
 Compute the ratio of data duration to period.

Detailed Description

JS8 Submode namespace implementation.

Function Documentation

◆ bandwidth()

unsigned int JS8::Submode::bandwidth ( int const submode)

Get the bandwidth of the submode.

Return the nominal audio bandwidth for the given submode.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Bandwidth in Hz.
Exceptions
JS8::Submode::errorif submode is invalid.
Here is the caller graph for this function:

◆ computeAltCycleForDecode()

int JS8::Submode::computeAltCycleForDecode ( int const submode,
int const k,
int const offsetFrames )

Compute the alternate cycle for decode.

Compute an alternate decode cycle index for specialized modes.

Parameters
submode
k
offsetFrames
Returns
int
Parameters
submodeNumeric submode identifier.
aFirst mode-specific parameter.
bSecond mode-specific parameter.
Returns
Alternate cycle index.
Here is the call graph for this function:

◆ computeCycleForDecode()

int JS8::Submode::computeCycleForDecode ( int const submode,
int const k )

Compute the cycle for decode.

Compute the decode cycle index for a given candidate.

Parameters
submode
k
Returns
int
Parameters
submodeNumeric submode identifier.
paramAdditional mode-specific parameter (e.g., cycle offset).
Returns
Cycle index used by the decoder.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeRatio()

double JS8::Submode::computeRatio ( int const submode,
double const period )

Compute the ratio of data duration to period.

Compute a ratio value used by submode-specific calculations.

Parameters
submode
period
Returns
double
Parameters
submodeNumeric submode identifier.
valueInput value used in ratio computation.
Returns
Computed ratio.
Here is the call graph for this function:

◆ costas()

Costas::Type JS8::Submode::costas ( int const submode)

Get the Costas array type of the submode.

Return the Costas array type used by the submode.

Parameters
submode
Returns
Costas::Type
Parameters
submodeNumeric submode identifier.
Returns
Costas::Type describing ORIGINAL or MODIFIED arrays.

◆ dataDuration()

double JS8::Submode::dataDuration ( int const submode)

Get the data duration of the submode.

Duration (seconds) consumed by transmitting the symbol block.

Parameters
submode
Returns
double
Parameters
submodeNumeric submode identifier.
Returns
Data duration in seconds (samplesForSymbols / 12000).
Here is the caller graph for this function:

◆ name()

QString JS8::Submode::name ( int const submode)

Get the name of the submode.

Return the submode name (uppercase).

Parameters
submode
Returns
QString
Parameters
submodeNumeric submode identifier.
Returns
Uppercase submode name string.
Exceptions
JS8::Submode::errorif submode is invalid.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ period()

unsigned int JS8::Submode::period ( int const submode)

Get the period of the submode.

Transmission period (seconds) from start-to-start for the submode.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Period length in seconds (e.g., 30 for SLOW, 6 for JS8 40).
Here is the caller graph for this function:

◆ rxSNRThreshold()

int JS8::Submode::rxSNRThreshold ( int const submode)

Get the receive SNR threshold of the submode.

Receiver SNR threshold used for candidate selection.

Parameters
submode
Returns
int
Parameters
submodeNumeric submode identifier.
Returns
SNR threshold (dB integer).
Here is the caller graph for this function:

◆ rxThreshold()

int JS8::Submode::rxThreshold ( int const submode)

Get the receive threshold of the submode.

Generic receiver threshold (implementation-specific).

Parameters
submode
Returns
int
Parameters
submodeNumeric submode identifier.
Returns
Threshold value.
Here is the caller graph for this function:

◆ samplesForOneSymbol()

unsigned int JS8::Submode::samplesForOneSymbol ( int const submode)

Get the number of samples for one symbol of the submode.

Number of audio samples (at 12 kHz) per symbol.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Samples per symbol.
Here is the caller graph for this function:

◆ samplesForSymbols()

unsigned int JS8::Submode::samplesForSymbols ( int const submode)

Get the number of samples for symbols of the submode.

Number of audio samples used to transmit all symbols in one period.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Samples for symbols in one period.
Note
Typically JS8_NUM_SYMBOLS * samplesForOneSymbol(submode).

◆ samplesNeeded()

unsigned int JS8::Submode::samplesNeeded ( int const submode)

Get the number of samples needed for the submode.

Samples required to capture the full TX duration including start delay and padding.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Required sample count.

◆ samplesPerPeriod()

unsigned int JS8::Submode::samplesPerPeriod ( int const submode)

Get the number of samples per period of the submode.

Samples per period at 12 kHz (includes guard/padding).

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Total samples per period.
Here is the caller graph for this function:

◆ startDelayMS()

unsigned int JS8::Submode::startDelayMS ( int const submode)

Get the start delay in milliseconds of the submode.

Milliseconds to wait after TX start before sending data.

Parameters
submode
Returns
unsigned int
Parameters
submodeNumeric submode identifier.
Returns
Start delay in milliseconds.
Here is the caller graph for this function:

◆ toneSpacing()

double JS8::Submode::toneSpacing ( int const submode)

Get the tone spacing of the submode.

Nominal tone spacing (Hz) for the submode.

Parameters
submode
Returns
double
Parameters
submodeNumeric submode identifier.
Returns
Tone spacing in Hz.
Here is the caller graph for this function:

◆ txDuration()

double JS8::Submode::txDuration ( int const submode)

Get the transmit duration of the submode.

Full transmission duration in seconds including start delay.

Parameters
submode
Returns
double
Parameters
submodeNumeric submode identifier.
Returns
Transmission time in seconds.