four_multi
Multi-Antenna,Multi-Node,Multi-Band,Multi-Cell
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
SISO_AMC_OFDM_node Class Reference

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>

Inheritance diagram for SISO_AMC_OFDM_node:
four_multi_node

List of all members.

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

Detailed Description

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.


The documentation for this class was generated from the following files:
 All Classes Functions Variables