28 #if !defined(_SPANDSP_V29RX_H_) 29 #define _SPANDSP_V29RX_H_ 121 #if defined(SPANDSP_USE_FIXED_POINT) 122 #define V29_CONSTELLATION_SCALING_FACTOR 4096.0 124 #define V29_CONSTELLATION_SCALING_FACTOR 1.0 127 #if defined(SPANDSP_USE_FIXED_POINT) 128 typedef void (*qam_report_handler_t)(
void *user_data,
const complexi16_t *constel,
const complexi16_t *target,
int symbol);
130 typedef void (*qam_report_handler_t)(
void *user_data,
const complexf_t *constel,
const complexf_t *target,
int symbol);
139 #if defined(__cplusplus) 214 #if defined(SPANDSP_USE_FIXED_POINT) 246 #if defined(__cplusplus) void v29_rx_set_qam_report_handler(v29_rx_state_t *s, qam_report_handler_t handler, void *user_data)
Definition: v29rx.c:1211
int v29_rx_equalizer_state(v29_rx_state_t *s, complexf_t **coeffs)
Get a snapshot of the current equalizer coefficients.
Definition: v29rx.c:206
int v29_rx_restart(v29_rx_state_t *s, int bit_rate, bool old_train)
Reinitialise an existing V.29 modem receive context.
Definition: v29rx.c:1077
Definition: private/v29rx.h:43
logging_state_t * v29_rx_get_logging_state(v29_rx_state_t *s)
Get the logging context associated with a V.29 modem receive context.
Definition: v29rx.c:1071
float v29_rx_symbol_timing_correction(v29_rx_state_t *s)
Definition: v29rx.c:174
void v29_rx_signal_cutoff(v29_rx_state_t *s, float cutoff)
Definition: v29rx.c:186
float v29_rx_signal_power(v29_rx_state_t *s)
Definition: v29rx.c:180
v29_rx_state_t * v29_rx_init(v29_rx_state_t *s, int bit_rate, put_bit_func_t put_bit, void *user_data)
Initialise a V.29 modem receive context.
Definition: v29rx.c:1165
void(* put_bit_func_t)(void *user_data, int bit)
Definition: async.h:107
void(* modem_status_func_t)(void *user_data, int status)
Definition: async.h:113
int v29_rx_free(v29_rx_state_t *s)
Free a V.29 modem receive context.
Definition: v29rx.c:1204
int bit_rate
The bit rate of the modem. Valid values are 4800, 7200 and 9600.
Definition: private/v29rx.h:46
Definition: private/logging.h:33
int v29_rx_release(v29_rx_state_t *s)
Release a V.29 modem receive context.
Definition: v29rx.c:1198
float v29_rx_carrier_frequency(v29_rx_state_t *s)
Definition: v29rx.c:168
int v29_rx_fillin(v29_rx_state_t *s, int len)
Fake processing of a missing block of received V.29 modem audio samples.
Definition: v29rx.c:1029
void v29_rx_set_put_bit(v29_rx_state_t *s, put_bit_func_t put_bit, void *user_data)
Change the put_bit function associated with a V.29 modem receive context.
Definition: v29rx.c:1057
put_bit_func_t put_bit
The callback function used to put each bit received.
Definition: private/v29rx.h:48
bool old_train
True if the previous trained values are to be reused.
Definition: private/v29rx.h:143
void v29_rx_set_modem_status_handler(v29_rx_state_t *s, modem_status_func_t handler, void *user_data)
Change the modem status report function associated with a V.29 modem receive context.
Definition: v29rx.c:1064
int v29_rx(v29_rx_state_t *s, const int16_t amp[], int len)
Process a block of received V.29 modem audio samples.
Definition: v29rx.c:913