![]() |
four_multi
Multi-Antenna,Multi-Node,Multi-Band,Multi-Cell
|
This class shows how to use the four_multi class and the modulation and coding scheme AMC and the OFDM modulation OFDM1 in a simple SISO setting. The applications SISO_AMC_OFDM_simulator and SISO_AMC_OFDM_realtime, are based on this class. More...
#include <SISO_AMC_OFDM_node.hpp>
Public Member Functions | |
SISO_AMC_OFDM_node (float gain_rx, float gain_tx, uint32_t node_ix, double frequency, bool same_antenna, uint32_t modulation_order, bool simulate, uint32_t codec_ix, bool chase, double delta_time) | |
uint32_t | frame_ix (void) |
double | get_gain (void) |
Public Attributes | |
OFDM1 | ai |
vec | BERraw |
vec | BER |
cvec | symbols |
cvec | symbols_chase |
uint64_t | seed |
Protected Member Functions | |
virtual frame_settings | node_init (void) |
Override this function with your implementation. This function has the same function as node_process except that it is called only once and before anything has been transmitted and received. The function is called before synchronizing against the PPS. Here you can place any time consuming initializations you may need. | |
virtual frame_settings | node_process (void) |
Override this function with your implementation. This is the most important function of your implementation. The function returns a "frame_settings" value which defines when then next frame should be transmitted, if it is a transmit or receive buffer. If it is a transmit frame then you should fill the transmitter buffers, d_tx_buffers, with the signal that should be transmitted before exiting node_process. If the previous frame was a receive frame then you should process the samples in d_rx_buffers. The frame_settings of the previous frame is stored in d_old_frame_settings. | |
virtual void | end_of_run (void) |
Override this function with any post processing you may want to do. | |
void | format_tx_symbols (uint32_t codec_ix, uint32_t modulation_order) |
void | decode_rx_symbols (uint32_t codec_ix, uint32_t modulation_order, bool use_chase_combining) |
Protected Attributes | |
uint32_t | d_codec_ix |
uint32_t | d_modulation_order |
double | base_band_tx_power_ampl |
uint32_t | d_frame_ix |
uint32_t | d_no_frames |
double | d_delta_time |
double | d_gain_rx |
double | d_gain_tx |
double | d_frequency |
bool | d_chase |
cvec | waveform_rx |
cvec | waveform_tx |
bvec | input |
bvec | transmitted |
bvec | transmitted_hat |
bvec | message_hat |
bvec | input_hat |
double | noise_variance_chase |
double | noise_variance |
double | noise_variance_norm |
vec | soft_bit |
int | max_message_length |
int | word_length |
double | scaling_tx_signal |
AMC | amc |
BERC | berc |
bvec | decoded_bits |
int | ber_i |
int | modulation_order |
int | codec_ix |
Static Protected Attributes | |
static const uint32_t | buffer_size = 10000 |
static const uint32_t | block_length = 400 |
static const uint32_t | shift_transmit_signal_samples = 2000 |
static const uint32_t | max_modulation_order = 256 |
This class shows how to use the four_multi class and the modulation and coding scheme AMC and the OFDM modulation OFDM1 in a simple SISO setting. The applications SISO_AMC_OFDM_simulator and SISO_AMC_OFDM_realtime, are based on this class.
Definition at line 47 of file SISO_AMC_OFDM_node.hpp.