Agora  1.2.0
Agora project
Channel Class Reference

#include <channel.h>

Collaboration diagram for Channel:

Public Member Functions

 Channel (const Config *const config, std::string &channel_type, double channel_snr)
 
 ~Channel ()
 
void ApplyChan (const arma::cx_fmat &fmat_src, arma::cx_fmat &mat_dst, const bool is_downlink, const bool is_newChan)
 
void Awgn (const arma::cx_fmat &fmat_src, arma::cx_fmat &fmat_dst) const
 
void Lte3gpp (const arma::cx_fmat &fmat_src, arma::cx_fmat &fmat_dst)
 

Private Types

enum  ChanModel { kAwgn, kRayleigh, kRan3Gpp }
 

Private Attributes

const Config *const cfg_
 
Channelchannel_
 
size_t bs_ant_
 
size_t ue_ant_
 
size_t n_samps_
 
std::string sim_chan_model_
 
double channel_snr_db_
 
double noise_samp_std_
 
enum Channel::ChanModel chan_model_
 
arma::cx_fmat h_
 

Member Enumeration Documentation

◆ ChanModel

enum Channel::ChanModel
private
Enumerator
kAwgn 
kRayleigh 
kRan3Gpp 

Constructor & Destructor Documentation

◆ Channel()

Channel::Channel ( const Config *const  config,
std::string &  channel_type,
double  channel_snr 
)
Here is the call graph for this function:

◆ ~Channel()

Channel::~Channel ( )
default

Member Function Documentation

◆ ApplyChan()

void Channel::ApplyChan ( const arma::cx_fmat &  fmat_src,
arma::cx_fmat &  mat_dst,
const bool  is_downlink,
const bool  is_newChan 
)
Here is the call graph for this function:

◆ Awgn()

void Channel::Awgn ( const arma::cx_fmat &  fmat_src,
arma::cx_fmat &  fmat_dst 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Lte3gpp()

void Channel::Lte3gpp ( const arma::cx_fmat &  fmat_src,
arma::cx_fmat &  fmat_dst 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bs_ant_

size_t Channel::bs_ant_
private

◆ cfg_

const Config* const Channel::cfg_
private

◆ chan_model_

enum Channel::ChanModel Channel::chan_model_
private

◆ channel_

Channel* Channel::channel_
private

◆ channel_snr_db_

double Channel::channel_snr_db_
private

◆ h_

arma::cx_fmat Channel::h_
private

◆ n_samps_

size_t Channel::n_samps_
private

◆ noise_samp_std_

double Channel::noise_samp_std_
private

◆ sim_chan_model_

std::string Channel::sim_chan_model_
private

◆ ue_ant_

size_t Channel::ue_ant_
private

The documentation for this class was generated from the following files: