v17tx.c File Reference

#include <stdio.h>
#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
#include <tgmath.h>
#include <math.h>
#include "floating_fudge.h"
#include "spandsp/telephony.h"
#include "spandsp/fast_convert.h"
#include "spandsp/logging.h"
#include "spandsp/complex.h"
#include "spandsp/vector_float.h"
#include "spandsp/complex_vector_float.h"
#include "spandsp/async.h"
#include "spandsp/dds.h"
#include "spandsp/power_meter.h"
#include "spandsp/v17tx.h"
#include "spandsp/private/logging.h"
#include "spandsp/private/v17tx.h"
#include "v17tx_constellation_maps.h"
#include "v17tx_floating_rrc.h"

Defines

#define CARRIER_NOMINAL_FREQ   1800.0f
#define V17_TRAINING_SEG_TEP_A   0
#define V17_TRAINING_SEG_TEP_B   (V17_TRAINING_SEG_TEP_A + 480)
#define V17_TRAINING_SEG_1   (V17_TRAINING_SEG_TEP_B + 48)
#define V17_TRAINING_SEG_2   (V17_TRAINING_SEG_1 + 256)
#define V17_TRAINING_SEG_3   (V17_TRAINING_SEG_2 + 2976)
#define V17_TRAINING_SEG_4   (V17_TRAINING_SEG_3 + 64)
#define V17_TRAINING_SHORT_SEG_4   (V17_TRAINING_SEG_2 + 38)
#define V17_TRAINING_END   (V17_TRAINING_SEG_4 + 48)
#define V17_TRAINING_SHUTDOWN_A   (V17_TRAINING_END + 32)
#define V17_TRAINING_SHUTDOWN_END   (V17_TRAINING_SHUTDOWN_A + 48)
#define V17_BRIDGE_WORD   0x8880

Functions

int v17_tx (v17_tx_state_t *s, int16_t amp[], int len)
void v17_tx_power (v17_tx_state_t *s, float power)
void v17_tx_set_get_bit (v17_tx_state_t *s, get_bit_func_t get_bit, void *user_data)
void v17_tx_set_modem_status_handler (v17_tx_state_t *s, modem_tx_status_func_t handler, void *user_data)
logging_state_t * v17_tx_get_logging_state (v17_tx_state_t *s)
int v17_tx_restart (v17_tx_state_t *s, int bit_rate, int tep, int short_train)
v17_tx_state_t * v17_tx_init (v17_tx_state_t *s, int bit_rate, int tep, get_bit_func_t get_bit, void *user_data)
int v17_tx_release (v17_tx_state_t *s)
int v17_tx_free (v17_tx_state_t *s)

Detailed Description


Define Documentation

#define CARRIER_NOMINAL_FREQ   1800.0f

The nominal frequency of the carrier, in Hertz

#define V17_BRIDGE_WORD   0x8880

The 16 bit pattern used in the bridge section of the training sequence

#define V17_TRAINING_END   (V17_TRAINING_SEG_4 + 48)

The end of the training, in symbols

#define V17_TRAINING_SEG_1   (V17_TRAINING_SEG_TEP_B + 48)

The start of training segment 1, in symbols

#define V17_TRAINING_SEG_2   (V17_TRAINING_SEG_1 + 256)

The start of training segment 2, in symbols

#define V17_TRAINING_SEG_3   (V17_TRAINING_SEG_2 + 2976)

The start of training segment 3, in symbols

#define V17_TRAINING_SEG_4   (V17_TRAINING_SEG_3 + 64)

The start of training segment 4, in symbols

#define V17_TRAINING_SEG_TEP_A   0

The start of the optional TEP, that may preceed the actual training, in symbols

#define V17_TRAINING_SEG_TEP_B   (V17_TRAINING_SEG_TEP_A + 480)

The mid point of the optional TEP, that may preceed the actual training, in symbols

#define V17_TRAINING_SHORT_SEG_4   (V17_TRAINING_SEG_2 + 38)

The start of training segment 4 in short training mode, in symbols

#define V17_TRAINING_SHUTDOWN_END   (V17_TRAINING_SHUTDOWN_A + 48)

The end of the shutdown sequence, in symbols


Generated by  doxygen 1.6.2