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

JS8 Submode namespace implementation. More...

Classes

struct  error

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.

Parameters
submode
Returns
unsigned int
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.

Parameters
submode
k
offsetFrames
Returns
int
Here is the call graph for this function:

◆ computeCycleForDecode()

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

Compute the cycle for decode.

Parameters
submode
k
Returns
int
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.

Parameters
submode
period
Returns
double
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.

Parameters
submode
Returns
Costas::Type

◆ dataDuration()

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

Get the data duration of the submode.

Parameters
submode
Returns
double

Duration in seconds that it takes to transmit the symbols.

This is samplesForSymbols / 12000.

Here is the caller graph for this function:

◆ name()

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

Get the name of the submode.

Parameters
submode
Returns
QString

Name of the submode, in all uppercase letters.

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.

Parameters
submode
Returns
unsigned int

How long from one transmission start to the next transmission start, in seconds.

This is the usual number a typical users knows: 30 s for SLOW, 6 s for JS8 40 (formerly "Turbo").

Here is the caller graph for this function:

◆ rxSNRThreshold()

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

Get the receive SNR threshold of the submode.

Parameters
submode
Returns
int
Here is the caller graph for this function:

◆ rxThreshold()

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

Get the receive threshold of the submode.

Parameters
submode
Returns
int
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.

Parameters
submode
Returns
unsigned int

How many audio samples (at 12000 samples per second) it takes to transfer one 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.

Parameters
submode
Returns
unsigned int

How many audio samples we use to transmit the symbols of one period.

As there are JS8_NUM_SYMBOLS = 79 symbols in a period, this is 79 * samplesForOneSymol.

◆ samplesNeeded()

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

Get the number of samples needed for the submode.

Parameters
submode
Returns
unsigned int

The number of samples needed to capture the entire TX duration, including the initial start delay, plus another 500 ms.

◆ samplesPerPeriod()

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

Get the number of samples per period of the submode.

Parameters
submode
Returns
unsigned int

How many audio samples at 12000 samples per second are needed for one period in this mode.

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.

Parameters
submode
Returns
unsigned int

How long to wait after tx start before actually sending data, 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.

Parameters
submode
Returns
double
Here is the caller graph for this function:

◆ txDuration()

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

Get the transmit duration of the submode.

Parameters
submode
Returns
double

Actual duration of the transmission, in seconds.

This is samplesForSymbols / 12000 + startDelayMS / 1000