spandsp 3.0.0
v17_rx_state_s Struct Reference

#include <v17rx.h>

Public Attributes

int bit_rate
 The bit rate of the modem. Valid values are 7200 9600, 12000 and 14400.
span_put_bit_func_t put_bit
 The callback function used to put each bit received.
void * put_bit_user_data
 A user specified opaque pointer passed to the put_but routine.
span_modem_status_func_t status_handler
 The callback function used to report modem status changes.
void * status_user_data
 A user specified opaque pointer passed to the status function.
qam_report_handler_t qam_report
 A callback function which may be enabled to report every symbol's constellation position.
void * qam_user_data
 A user specified opaque pointer passed to the qam_report callback routine.
float agc_scaling
 The scaling factor assessed by the AGC algorithm.
float agc_scaling_save
 The previous value of agc_scaling, needed to reuse old training.
float eq_delta
 The current delta factor for updating the equalizer coefficients.
complexf_t eq_coeff [33]
 The adaptive equalizer coefficients.
complexf_t eq_coeff_save [33]
 A saved set of adaptive equalizer coefficients for use after restarts.
complexf_t eq_buf [33]
 The equalizer signal buffer.
float training_error
 A measure of how much mismatch there is between the real constellation, and the decoded symbol positions.
float carrier_track_p
 The proportional part of the carrier tracking filter.
float carrier_track_i
 The integral part of the carrier tracking filter.
float rrc_filter [27]
 The root raised cosine (RRC) pulse shaping filter buffer.
const complexf_tconstellation
 A pointer to the current constellation.
godard_ted_state_t godard
int rrc_filter_step
 Current offset into the RRC pulse shaping filter buffer.
int diff
 The current state of the differential decoder.
uint32_t scramble_reg
 The register for the data scrambler.
int scrambler_tap
 Scrambler tap.
bool short_train
 True if the short training sequence is to be used.
int training_stage
 The section of the training data we are currently in.
int training_count
 A count of how far through the current training step we are.
int16_t last_sample
 The value of the last signal sample, using the a simple HPF for signal power estimation.
int signal_present
 >0 if a signal above the minimum is present. It may or may not be a V.17 signal.
int carrier_drop_pending
 Whether or not a carrier drop was detected and the signal delivery is pending.
int low_samples
 A count of the current consecutive samples below the carrier off threshold.
int16_t high_sample
 A highest magnitude sample seen.
uint32_t carrier_phase
 The current phase of the carrier (i.e. the DDS parameter).
int32_t carrier_phase_rate
 The update rate for the phase of the carrier (i.e. the DDS increment).
int32_t carrier_phase_rate_save
 The carrier update rate saved for reuse when using short training.
power_meter_t power
 A power meter, to measure the HPF'ed signal power in the channel.
int32_t carrier_on_power
 The power meter level at which carrier on is declared.
int32_t carrier_off_power
 The power meter level at which carrier off is declared.
int eq_step
 Current read offset into the equalizer buffer.
int eq_put_step
 Current write offset into the equalizer buffer.
int eq_skip
 Symbol count to the next equalizer update.
int baud_half
 The current half of the baud.
int32_t last_angles [2]
 The previous symbol phase angles for the coarse carrier aquisition step.
int32_t diff_angles [16]
 History list of phase angle differences for the coarse carrier aquisition step.
int space_map
 A pointer to the current space map. There is a space map for each trellis state.
int bits_per_symbol
 The number of bits in each symbol at the current bit rate.
int trellis_ptr
 Current pointer to the trellis buffers.
int full_path_to_past_state_locations [16][8]
 The trellis.
int past_state_locations [16][8]
 The trellis.
float distances [8]
 Euclidean distances (actually the squares of the distances) from the last states of the trellis.
logging_state_t logging
 Error and flow logging control.

Detailed Description

V.17 modem receive side descriptor. This defines the working state for a single instance of a V.17 modem receiver.

Member Data Documentation

◆ agc_scaling

float v17_rx_state_s::agc_scaling

The scaling factor assessed by the AGC algorithm.

Referenced by v17_rx(), and v17_rx_restart().

◆ agc_scaling_save

float v17_rx_state_s::agc_scaling_save

The previous value of agc_scaling, needed to reuse old training.

Referenced by v17_rx(), and v17_rx_restart().

◆ baud_half

int v17_rx_state_s::baud_half

The current half of the baud.

Referenced by v17_rx_restart().

◆ bit_rate

int v17_rx_state_s::bit_rate

The bit rate of the modem. Valid values are 7200 9600, 12000 and 14400.

Referenced by v17_rx_restart().

◆ bits_per_symbol

int v17_rx_state_s::bits_per_symbol

The number of bits in each symbol at the current bit rate.

Referenced by v17_rx_restart().

◆ carrier_drop_pending

int v17_rx_state_s::carrier_drop_pending

Whether or not a carrier drop was detected and the signal delivery is pending.

Referenced by v17_rx_restart().

◆ carrier_off_power

int32_t v17_rx_state_s::carrier_off_power

The power meter level at which carrier off is declared.

Referenced by v17_rx_set_signal_cutoff().

◆ carrier_on_power

int32_t v17_rx_state_s::carrier_on_power

The power meter level at which carrier on is declared.

Referenced by v17_rx_set_signal_cutoff().

◆ carrier_phase

uint32_t v17_rx_state_s::carrier_phase

The current phase of the carrier (i.e. the DDS parameter).

Referenced by v17_rx(), v17_rx_fillin(), and v17_rx_restart().

◆ carrier_phase_rate

int32_t v17_rx_state_s::carrier_phase_rate

The update rate for the phase of the carrier (i.e. the DDS increment).

Referenced by v17_rx(), v17_rx_carrier_frequency(), v17_rx_fillin(), and v17_rx_restart().

◆ carrier_phase_rate_save

int32_t v17_rx_state_s::carrier_phase_rate_save

The carrier update rate saved for reuse when using short training.

Referenced by v17_rx_init(), and v17_rx_restart().

◆ carrier_track_i

float v17_rx_state_s::carrier_track_i

The integral part of the carrier tracking filter.

Referenced by v17_rx_restart().

◆ carrier_track_p

float v17_rx_state_s::carrier_track_p

The proportional part of the carrier tracking filter.

Referenced by v17_rx_restart().

◆ constellation

const complexf_t* v17_rx_state_s::constellation

A pointer to the current constellation.

Referenced by v17_rx_restart().

◆ diff

int v17_rx_state_s::diff

The current state of the differential decoder.

Referenced by v17_rx_restart().

◆ diff_angles

int32_t v17_rx_state_s::diff_angles[16]

History list of phase angle differences for the coarse carrier aquisition step.

Referenced by v17_rx_restart().

◆ distances

float v17_rx_state_s::distances[8]

Euclidean distances (actually the squares of the distances) from the last states of the trellis.

Referenced by v17_rx_restart().

◆ eq_coeff

complexf_t v17_rx_state_s::eq_coeff[33]

The adaptive equalizer coefficients.

Referenced by v17_rx_equalizer_state().

◆ eq_put_step

int v17_rx_state_s::eq_put_step

Current write offset into the equalizer buffer.

Referenced by v17_rx(), and v17_rx_fillin().

◆ full_path_to_past_state_locations

int v17_rx_state_s::full_path_to_past_state_locations[16][8]

The trellis.

Referenced by v17_rx_restart().

◆ high_sample

int16_t v17_rx_state_s::high_sample

A highest magnitude sample seen.

Referenced by v17_rx_restart().

◆ last_angles

int32_t v17_rx_state_s::last_angles[2]

The previous symbol phase angles for the coarse carrier aquisition step.

Referenced by v17_rx_restart().

◆ last_sample

int16_t v17_rx_state_s::last_sample

The value of the last signal sample, using the a simple HPF for signal power estimation.

Referenced by v17_rx_restart().

◆ logging

logging_state_t v17_rx_state_s::logging

Error and flow logging control.

Referenced by v17_rx_fillin(), v17_rx_get_logging_state(), v17_rx_init(), v17_rx_restart(), and v32bis_restart().

◆ low_samples

int v17_rx_state_s::low_samples

A count of the current consecutive samples below the carrier off threshold.

Referenced by v17_rx_restart().

◆ past_state_locations

int v17_rx_state_s::past_state_locations[16][8]

The trellis.

Referenced by v17_rx_restart().

◆ power

power_meter_t v17_rx_state_s::power

A power meter, to measure the HPF'ed signal power in the channel.

Referenced by v17_rx_restart(), and v17_rx_signal_power().

◆ put_bit

span_put_bit_func_t v17_rx_state_s::put_bit

The callback function used to put each bit received.

Referenced by v17_rx_init(), and v17_rx_set_put_bit().

◆ put_bit_user_data

void* v17_rx_state_s::put_bit_user_data

A user specified opaque pointer passed to the put_but routine.

Referenced by v17_rx_init(), and v17_rx_set_put_bit().

◆ qam_report

qam_report_handler_t v17_rx_state_s::qam_report

A callback function which may be enabled to report every symbol's constellation position.

Referenced by v17_rx_set_qam_report_handler(), and v32bis_set_qam_report_handler().

◆ qam_user_data

void* v17_rx_state_s::qam_user_data

A user specified opaque pointer passed to the qam_report callback routine.

Referenced by v17_rx_set_qam_report_handler(), and v32bis_set_qam_report_handler().

◆ rrc_filter

float v17_rx_state_s::rrc_filter[27]

The root raised cosine (RRC) pulse shaping filter buffer.

Referenced by v17_rx(), and v17_rx_restart().

◆ rrc_filter_step

int v17_rx_state_s::rrc_filter_step

Current offset into the RRC pulse shaping filter buffer.

Referenced by v17_rx(), and v17_rx_restart().

◆ scramble_reg

uint32_t v17_rx_state_s::scramble_reg

The register for the data scrambler.

Referenced by v17_rx_restart().

◆ scrambler_tap

int v17_rx_state_s::scrambler_tap

Scrambler tap.

Referenced by v17_rx_init(), and v32bis_init().

◆ short_train

bool v17_rx_state_s::short_train

True if the short training sequence is to be used.

Referenced by v17_rx_init(), and v17_rx_restart().

◆ signal_present

int v17_rx_state_s::signal_present

>0 if a signal above the minimum is present. It may or may not be a V.17 signal.

Referenced by v17_rx_fillin(), and v17_rx_restart().

◆ space_map

int v17_rx_state_s::space_map

A pointer to the current space map. There is a space map for each trellis state.

Referenced by v17_rx_restart().

◆ status_handler

span_modem_status_func_t v17_rx_state_s::status_handler

The callback function used to report modem status changes.

Referenced by v17_rx_set_modem_status_handler().

◆ status_user_data

void* v17_rx_state_s::status_user_data

A user specified opaque pointer passed to the status function.

Referenced by v17_rx_set_modem_status_handler().

◆ training_count

int v17_rx_state_s::training_count

A count of how far through the current training step we are.

Referenced by v17_rx_restart().

◆ training_error

float v17_rx_state_s::training_error

A measure of how much mismatch there is between the real constellation, and the decoded symbol positions.

Referenced by v17_rx_restart().

◆ training_stage

int v17_rx_state_s::training_stage

The section of the training data we are currently in.

Referenced by v17_rx(), v17_rx_fillin(), and v17_rx_restart().

◆ trellis_ptr

int v17_rx_state_s::trellis_ptr

Current pointer to the trellis buffers.

Referenced by v17_rx_restart().


The documentation for this struct was generated from the following file: