This class handles the SNR to BlcER traces. More...
#include "snr-to-block-error-rate-manager.h"
Public Member Functions | |
SNRToBlockErrorRateManager () | |
~SNRToBlockErrorRateManager () | |
void | ActivateLoss (bool loss) |
If activate loss is called with false, all the returned BlcER will be 0 (no losses) | |
double | GetBlockErrorRate (double SNR, uint8_t modulation) |
returns the Block Error Rate for a given modulation and SNR value | |
SNRToBlockErrorRateRecord * | GetSNRToBlockErrorRateRecord (double SNR, uint8_t modulation) |
returns a record of type SNRToBlockErrorRateRecord corresponding to a given modulation and SNR value | |
std::string | GetTraceFilePath () |
void | LoadDefaultTraces () |
Loads the default traces from default-traces.h file. | |
void | LoadTraces () |
Loads the traces form the repository specified in the constructor or set by SetTraceFilePath function. | |
void | ReLoadTraces () |
Reloads the trace. | |
void | SetTraceFilePath (char *traceFilePath) |
Set the path of the repository containing the traces. | |
Private Member Functions | |
void | ClearRecords () |
Clear records function. | |
Private Attributes | |
bool | m_activateLoss |
activate loss | |
std::vector< SNRToBlockErrorRateRecord * > * | m_recordModulation [7] |
record modulation | |
std::string | m_traceFilePath |
trace file path | |
Related Symbols | |
(Note that these are not member symbols.) | |
static const double | modulation0 [6][29] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation1 [6][42] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation2 [6][96] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation3 [6][117] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation4 [6][331] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation5 [6][547] |
These represent default traces, providing a number of parameters for each SNR value. | |
static const double | modulation6 [6][626] |
These represent default traces, providing a number of parameters for each SNR value. | |
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 45 of file snr-to-block-error-rate-manager.h.
ns3::SNRToBlockErrorRateManager::SNRToBlockErrorRateManager | ( | ) |
Definition at line 27 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss, m_recordModulation, and m_traceFilePath.
ns3::SNRToBlockErrorRateManager::~SNRToBlockErrorRateManager | ( | ) |
Definition at line 37 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 65 of file snr-to-block-error-rate-manager.cc.
References m_activateLoss.
Referenced by ns3::SimpleOfdmWimaxPhy::ActivateLoss().
|
private |
Clear records function.
Definition at line 47 of file snr-to-block-error-rate-manager.cc.
References m_recordModulation.
Referenced by ~SNRToBlockErrorRateManager(), LoadDefaultTraces(), LoadTraces(), and ReLoadTraces().
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 263 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 300 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 | ( | ) |
Definition at line 257 of file snr-to-block-error-rate-manager.cc.
References m_traceFilePath.
Referenced by ns3::SimpleOfdmWimaxPhy::GetTraceFilePath().
void ns3::SNRToBlockErrorRateManager::LoadDefaultTraces | ( | ) |
Loads the default traces from default-traces.h file.
Definition at line 111 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 | ( | ) |
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 71 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(), ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy(), Ns3WimaxSNRtoBLERTestCase::DoRunOnce(), and ns3::SimpleOfdmWimaxPhy::SetTraceFilePath().
void ns3::SNRToBlockErrorRateManager::ReLoadTraces | ( | ) |
Reloads the trace.
Definition at line 208 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 251 of file snr-to-block-error-rate-manager.cc.
References m_traceFilePath.
Referenced by ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy(), 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 68 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 94 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 131 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 198 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 276 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 491 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.nosp@m.an.m.nosp@m.unici.nosp@m.o@ur.nosp@m.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 821 of file default-traces.h.
Referenced by LoadDefaultTraces().
|
private |
activate loss
Definition at line 99 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 102 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 100 of file snr-to-block-error-rate-manager.h.
Referenced by SNRToBlockErrorRateManager(), GetTraceFilePath(), LoadTraces(), ReLoadTraces(), and SetTraceFilePath().