From de0dc4e1e33836ed09fd3a4aaa37a925ef93ea77 Mon Sep 17 00:00:00 2001 From: mmiozzo Date: Tue, 22 May 2012 17:12:17 +0200 Subject: [PATCH] Modify LteMiErrorModel::GetTbError for working with pow() instead of successive multiplications --- src/lte/model/lte-mi-error-model.cc | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/lte/model/lte-mi-error-model.cc b/src/lte/model/lte-mi-error-model.cc index 6fc676053..7c28d7516 100644 --- a/src/lte/model/lte-mi-error-model.cc +++ b/src/lte/model/lte-mi-error-model.cc @@ -457,18 +457,10 @@ LteMiErrorModel::GetTbError (const SpectrumValue& sinr, const std::vector& double errorRate = 1.0; if (C!=1) { - for (uint32_t i = 0; i < Cplus; i++) - { - double cbler = MappingMiBler (MI, mcs, Kplus); - NS_LOG_LOGIC (" CBLER " << cbler); - errorRate *= (1.0 - cbler); - } - for (uint32_t i = 0; i < Cminus; i++) - { - double cbler = MappingMiBler (MI, mcs, Kminus); - NS_LOG_LOGIC (" CBLER " << cbler); - errorRate *= (1.0 - cbler); - } + double cbler = MappingMiBler (MI, mcs, Kplus); + errorRate *= pow (1.0 - cbler, Cplus); + cbler = MappingMiBler (MI, mcs, Kminus); + errorRate *= pow (1.0 - cbler, Cminus); errorRate = 1.0 - errorRate; } else