28#if !defined(_SPANDSP_V27TER_RX_H_)
29#define _SPANDSP_V27TER_RX_H_
47#if defined(SPANDSP_USE_FIXED_POINT)
48#define V27TER_CONSTELLATION_SCALING_FACTOR 1024.0
50#define V27TER_CONSTELLATION_SCALING_FACTOR 1.0
59#if defined(__cplusplus)
135#if defined(SPANDSP_USE_FIXED_POINT)
167#if defined(__cplusplus)
void(* span_modem_status_func_t)(void *user_data, int status)
Definition async.h:131
void(* span_put_bit_func_t)(void *user_data, int bit)
Definition async.h:123
Definition private/logging.h:34
Definition private/v27ter_rx.h:52
int bit_rate
The bit rate of the modem. Valid values are 2400 and 4800.
Definition private/v27ter_rx.h:54
span_put_bit_func_t put_bit
The callback function used to put each bit received.
Definition private/v27ter_rx.h:56
power_meter_t power
A power meter, to measure the HPF'ed signal power in the channel.
Definition private/v27ter_rx.h:162
bool old_train
True if the previous trained values are to be reused.
Definition private/v27ter_rx.h:134
int v27ter_rx_fillin(v27ter_rx_state_t *s, int len)
Fake processing of a missing block of received V.27ter modem audio samples.
Definition v27ter_rx.c:1030
float v27ter_rx_symbol_timing_correction(v27ter_rx_state_t *s)
Definition v27ter_rx.c:143
float v27ter_rx_signal_power(v27ter_rx_state_t *s)
Definition v27ter_rx.c:152
void v27ter_rx_set_qam_report_handler(v27ter_rx_state_t *s, qam_report_handler_t handler, void *user_data)
Definition v27ter_rx.c:1204
void v27ter_rx_set_modem_status_handler(v27ter_rx_state_t *s, span_modem_status_func_t handler, void *user_data)
Change the modem status report function associated with a V.27ter modem receive context.
Definition v27ter_rx.c:1078
int v27ter_rx_release(v27ter_rx_state_t *s)
Release a V.27ter modem receive context.
Definition v27ter_rx.c:1191
int v27ter_rx(v27ter_rx_state_t *s, const int16_t amp[], int len)
Process a block of received V.27ter modem audio samples.
Definition v27ter_rx.c:863
int v27ter_rx_free(v27ter_rx_state_t *s)
Free a V.27ter modem receive context.
Definition v27ter_rx.c:1197
int v27ter_rx_equalizer_state(v27ter_rx_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
Definition v27ter_rx.c:179
logging_state_t * v27ter_rx_get_logging_state(v27ter_rx_state_t *s)
Get the logging context associated with a V.27ter modem receive context.
Definition v27ter_rx.c:1085
void v27ter_rx_set_signal_cutoff(v27ter_rx_state_t *s, float cutoff)
Definition v27ter_rx.c:158
v27ter_rx_state_t * v27ter_rx_init(v27ter_rx_state_t *s, int bit_rate, span_put_bit_func_t put_bit, void *user_data)
Initialise a V.27ter modem receive context.
Definition v27ter_rx.c:1161
int v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, bool old_train)
Reinitialise an existing V.27ter modem receive context.
Definition v27ter_rx.c:1091
void v27ter_rx_set_put_bit(v27ter_rx_state_t *s, span_put_bit_func_t put_bit, void *user_data)
Change the put_bit function associated with a V.27ter modem receive context.
Definition v27ter_rx.c:1071
float v27ter_rx_carrier_frequency(v27ter_rx_state_t *s)
Definition v27ter_rx.c:137