spandsp 0.0.6
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.
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.
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.
int16_t power_window [40]
int power_window_ptr
int64_t window_power
int64_t window_power_save
float agc_scaling
 The scaling factor accessed 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 [17]
 The adaptive equalizer coefficients.
complexf_t eq_coeff_save [17]
 A saved set of adaptive equalizer coefficients for use after restarts.
complexf_t eq_buf [17]
 The equalizer signal buffer.
float symbol_sync_low [2]
float symbol_sync_high [2]
float symbol_sync_dc_filter [2]
float baud_phase
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_t * constellation
 A pointer to the current constellation.
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 short_train
 Scrambler tap.
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.
int total_baud_timing_correction
 The total symbol timing correction since the carrier came up. This is only for performance analysis purposes.
int32_t start_angles [2]
 Starting phase angles for the coarse carrier aquisition step.
int32_t angles [16]
 History list of phase angles 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 accessed by the AGC algorithm.

Referenced by 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_restart().

◆ angles

int32_t v17_rx_state_s::angles[16]

History list of phase angles for the coarse carrier aquisition step.

Referenced by v17_rx_restart().

◆ baud_half

int v17_rx_state_s::baud_half

The current half of the baud.

Referenced by v17_rx_restart().

◆ baud_phase

float v17_rx_state_s::baud_phase

Baud phase for symbol sync.

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_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_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_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_carrier_frequency(), 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().

◆ 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[17]

The adaptive equalizer coefficients.

Referenced by v17_rx_equalizer_state().

◆ 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_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_get_logging_state(), v17_rx_init(), and v17_rx_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

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().

◆ 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().

◆ rrc_filter

float v17_rx_state_s::rrc_filter[27]

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

Referenced by 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_restart().

◆ scramble_reg

uint32_t v17_rx_state_s::scramble_reg

The register for the data scrambler.

Referenced by v17_rx_restart().

◆ short_train

int v17_rx_state_s::short_train

Scrambler tap.

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_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().

◆ start_angles

int32_t v17_rx_state_s::start_angles[2]

Starting phase angles for the coarse carrier aquisition step.

Referenced by v17_rx_restart().

◆ status_handler

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().

◆ symbol_sync_dc_filter

float v17_rx_state_s::symbol_sync_dc_filter[2]

DC filter for symbol sync.

Referenced by v17_rx_restart().

◆ symbol_sync_high

float v17_rx_state_s::symbol_sync_high[2]

High band edge filter for symbol sync.

Referenced by v17_rx_restart().

◆ symbol_sync_low

float v17_rx_state_s::symbol_sync_low[2]

Low band edge filter for symbol sync.

Referenced by v17_rx_restart().

◆ total_baud_timing_correction

int v17_rx_state_s::total_baud_timing_correction

The total symbol timing correction since the carrier came up. This is only for performance analysis purposes.

Referenced by v17_rx_restart(), and v17_rx_symbol_timing_correction().

◆ 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_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: