#ifndef CONFIG_H #define CONFIG_H #include /*** TIMING CONFIG ***/ #define TX_SWITCH_BACKOFF_PREAMBLE_MS 500 // only relevant if packet cannot be decoded #define TX_SWITCH_BACKOFF_END_OF_PACKET_MS 1 #define TX_SWITCH_BACKOFF_AFTER_RX_ON 500 // time the transceiver must stay in RX mode /*** LAYER 1 CONFIG ***/ #define SYMBOL_RATE 100e3f #define PAYLOAD_CHANNEL_CODE LIQUID_FEC_CONV_V27P34 #define PAYLOAD_MODULATION LIQUID_MODEM_QAM16 #define HEADER_CHANNEL_CODE LIQUID_FEC_NONE #define HEADER_MODULATION LIQUID_MODEM_QPSK #define PAYLOAD_CRC_SCHEME LIQUID_CRC_16 #define PREAMBLE_MSEQ_M 6 #define PREAMBLE_MSEQ_POLY LIQUID_MSEQUENCE_GENPOLY_M6 #define PREAMBLE_MSEQ_INIT 0x00000001 #define RRC_SPS 4 // samples per symbol #define RRC_DELAY 7 // delay in symbols #define RRC_BETA 0.2f #define TRANSMISSION_RAMP_UP_LEN 64 // symbols #define TRANSMISSION_RAMP_DOWN_LEN 32 // symbols /*** SDR CONFIG ***/ #define SDR_IS_FULL_DUPLEX 0 #define SDR_OVERSAMPLING 3 // integer factor! #define SDR_RX_SAMPLING_RATE (SYMBOL_RATE * RRC_SPS * SDR_OVERSAMPLING) #define SDR_TX_SAMPLING_RATE SDR_RX_SAMPLING_RATE // actually transmitted or received signal frequencies, NOT the SDR center frequency. #define SDR_TX_FREQ 434.100e6f #define SDR_RX_FREQ 434.100e6f // shift applied in the baseband, to get rid of SDR DC peak. If the value here // is not 0, software mixing will be done on the received signal. #define SDR_TX_IF_SHIFT 0.000e6f #define SDR_RX_IF_SHIFT 0.150e6f // NOTE: the SDR center frequency will be SDR_RX_FREQ - SDR_RX_IF_SHIFT. // gain configuration #define SDR_GAIN_TX_AMP 0.0f // extra power amplifier. Set to 14.0f to activate. #define SDR_GAIN_TX_LNA 0.0f // normal variable gain amplifier. #define SDR_GAIN_RX_AMP 0.0f // extra input amplifier. Set to 14.0f to activate. #define SDR_GAIN_RX_LNA 30.0f // RF variable gain amplifier. #define SDR_GAIN_RX_VGA 24.0f // Baseband variable gain amplifier. #endif // CONFIG_H