This class handles the SNR to BlcER traces. More...
#include "snr-to-block-error-rate-manager.h"
Public Member Functions | |
SNRToBlockErrorRateManager () | |
~SNRToBlockErrorRateManager (void) | |
void | ActivateLoss (bool loss) |
If activate loss is called with false, all the returned BlcER will be 0 (no losses) More... | |
double | GetBlockErrorRate (double SNR, uint8_t modulation) |
returns the Block Error Rate for a given modulation and SNR value More... | |
SNRToBlockErrorRateRecord * | GetSNRToBlockErrorRateRecord (double SNR, uint8_t modulation) |
returns a record of type SNRToBlockErrorRateRecord corresponding to a given modulation and SNR value More... | |
std::string | GetTraceFilePath (void) |
void | LoadDefaultTraces (void) |
Loads the default traces from default-traces.h file. More... | |
void | LoadTraces (void) |
Loads the traces form the repository specified in the constructor or set by SetTraceFilePath function. More... | |
void | ReLoadTraces (void) |
Reloads the trace. More... | |
void | SetTraceFilePath (char *traceFilePath) |
Set the path of the repository containing the traces. More... | |
Private Member Functions | |
void | ClearRecords (void) |
Clear records function. More... | |
Private Attributes | |
uint8_t | m_activateLoss |
activate loss More... | |
std::vector< SNRToBlockErrorRateRecord * > * | m_recordModulation [7] |
record modulation More... | |
std::string | m_traceFilePath |
trace file path More... | |
Related Functions | |
(Note that these are not member functions.) | |
static const double | modulation0 [6][29] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation1 [6][42] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation2 [6][96] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation3 [6][117] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation4 [6][331] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation5 [6][547] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
static const double | modulation6 [6][626] |
These represent default traces, providing a number of parameters for each SNR value. More... | |
This class handles the SNR to BlcER traces.
A path to a repository containing trace files should be provided. If no repository is provided the traces from default-traces.h will be loaded. A valid repository should contain 7 files, one for each modulation and coding scheme.
The names of the files should respect the following format: modulation<modulation-and-conding-index>
.txt, e.g. modulation0.txt
, modulation1.txt
, etc. for modulation 0, modulation 1, and so on...
The file format is ASCII with six columns as follows:
Definition at line 55 of file snr-to-block-error-rate-manager.h.
ns3::SNRToBlockErrorRateManager::SNRToBlockErrorRateManager | ( | void | ) |
Definition at line 35 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss, m_recordModulation, and m_traceFilePath.
ns3::SNRToBlockErrorRateManager::~SNRToBlockErrorRateManager | ( | void | ) |
Definition at line 46 of file snr-to-block-error-rate-manager.cc.
References ClearRecords(), and m_recordModulation.
void ns3::SNRToBlockErrorRateManager::ActivateLoss | ( | bool | loss | ) |
If activate loss is called with false, all the returned BlcER will be 0 (no losses)
loss | true to activates losses |
Definition at line 75 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss.
Referenced by ns3::SimpleOfdmWimaxPhy::ActivateLoss().
|
private |
Clear records function.
Definition at line 56 of file snr-to-block-error-rate-manager.cc.
References m_recordModulation.
Referenced by ~SNRToBlockErrorRateManager(), LoadDefaultTraces(), LoadTraces(), and ReLoadTraces().
double ns3::SNRToBlockErrorRateManager::GetBlockErrorRate | ( | double | SNR, |
uint8_t | modulation | ||
) |
returns the Block Error Rate for a given modulation and SNR value
SNR | the SNR value |
modulation | one of the seven MCS |
Definition at line 288 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss, and m_recordModulation.
SNRToBlockErrorRateRecord * ns3::SNRToBlockErrorRateManager::GetSNRToBlockErrorRateRecord | ( | double | SNR, |
uint8_t | modulation | ||
) |
returns a record of type SNRToBlockErrorRateRecord corresponding to a given modulation and SNR value
SNR | the SNR value |
modulation | one of the seven MCS |
Definition at line 325 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss, and m_recordModulation.
Referenced by Ns3WimaxSNRtoBLERTestCase::DoRunOnce(), and ns3::SimpleOfdmWimaxPhy::StartReceive().
std::string ns3::SNRToBlockErrorRateManager::GetTraceFilePath | ( | void | ) |
Definition at line 282 of file snr-to-block-error-rate-manager.cc.
References m_traceFilePath.
Referenced by ns3::SimpleOfdmWimaxPhy::GetTraceFilePath().
void ns3::SNRToBlockErrorRateManager::LoadDefaultTraces | ( | void | ) |
Loads the default traces from default-traces.h file.
Definition at line 117 of file snr-to-block-error-rate-manager.cc.
References ClearRecords(), m_activateLoss, m_recordModulation, modulation0, modulation1, modulation2, modulation3, modulation4, modulation5, and modulation6.
Referenced by LoadTraces(), and ReLoadTraces().
void ns3::SNRToBlockErrorRateManager::LoadTraces | ( | void | ) |
Loads the traces form the repository specified in the constructor or set by SetTraceFilePath function.
If no repository is provided, default traces will be loaded from default-traces.h file
Definition at line 81 of file snr-to-block-error-rate-manager.cc.
References ClearRecords(), LoadDefaultTraces(), m_activateLoss, m_recordModulation, m_traceFilePath, and NS_LOG_INFO.
Referenced by ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy(), Ns3WimaxSNRtoBLERTestCase::DoRunOnce(), and ns3::SimpleOfdmWimaxPhy::SetTraceFilePath().
void ns3::SNRToBlockErrorRateManager::ReLoadTraces | ( | void | ) |
Reloads the trace.
Definition at line 237 of file snr-to-block-error-rate-manager.cc.
References ClearRecords(), LoadDefaultTraces(), m_activateLoss, m_recordModulation, m_traceFilePath, and NS_LOG_INFO.
Referenced by ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath().
void ns3::SNRToBlockErrorRateManager::SetTraceFilePath | ( | char * | traceFilePath | ) |
Set the path of the repository containing the traces.
traceFilePath | the path to the repository. |
Definition at line 276 of file snr-to-block-error-rate-manager.cc.
References m_traceFilePath.
Referenced by ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy(), ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath(), and ns3::SimpleOfdmWimaxPhy::SetTraceFilePath().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 78 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 104 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 136 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 191 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 273 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 456 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
related |
These represent default traces, providing a number of parameters for each SNR value.
The parameters provided are (in order):
It is made of 7 tables: one for each modulation and coding scheme. Each table is made of 6 columns, as listed above.
These traces are generated by an external OFDM simulator: It is based on an external mathematics and signal processing library IT++ and includes:
The multipath channel is simulated using the TDL_channel class of the IT++ library.
The file format should be as follows
SNR_value1 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 SNR_value2 BER Blc_ER STANDARD_DEVIATION CONFIDENCE_INTERVAL1 CONFIDENCE_INTERVAL2 ... ... ... ... ... ...
Additional notes: from Esteban Municio esteb an.m unici o@ur jc.es
This trace file has been edited for the 16 QAM 3/4 modulation (modulation4) since the original SNR traces for this modulation were not long enough, giving inflated BER and BLER figures for typical SNR values. Due to the impossibility to get the original IT++ environment used for the original traces by the previous authors, the traces of modulation4 have been generated using a simple IT++ program simulating the theoretical model of a AWGN channel given BER=3/2*erfc(sqrt(k*0.1*(Eb_N0_dB)));
Definition at line 710 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
private |
activate loss
Definition at line 106 of file snr-to-block-error-rate-manager.h.
Referenced by SNRToBlockErrorRateManager(), ActivateLoss(), GetBlockErrorRate(), GetSNRToBlockErrorRateRecord(), LoadDefaultTraces(), LoadTraces(), and ReLoadTraces().
|
private |
record modulation
Definition at line 109 of file snr-to-block-error-rate-manager.h.
Referenced by SNRToBlockErrorRateManager(), ~SNRToBlockErrorRateManager(), ClearRecords(), GetBlockErrorRate(), GetSNRToBlockErrorRateRecord(), LoadDefaultTraces(), LoadTraces(), and ReLoadTraces().
|
private |
trace file path
Definition at line 107 of file snr-to-block-error-rate-manager.h.
Referenced by SNRToBlockErrorRateManager(), GetTraceFilePath(), LoadTraces(), ReLoadTraces(), and SetTraceFilePath().