src/wifi/model/yans-error-rate-model.cc
changeset 11079 fde91036410a
parent 10968 2d29fee2b7b8
child 11245 5c781d7e5a25
--- a/src/wifi/model/yans-error-rate-model.cc	Sat Nov 29 09:57:24 2014 -0800
+++ b/src/wifi/model/yans-error-rate-model.cc	Sat Nov 29 10:13:25 2014 -0800
@@ -16,6 +16,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
+ *          Sébastien Deronne <sebastien.deronne@gmail.com>
  */
 
 #include <cmath>
@@ -176,7 +177,8 @@
 YansErrorRateModel::GetChunkSuccessRate (WifiMode mode, double snr, uint32_t nbits) const
 {
   if (mode.GetModulationClass () == WIFI_MOD_CLASS_ERP_OFDM
-      || mode.GetModulationClass () == WIFI_MOD_CLASS_OFDM)
+      || mode.GetModulationClass () == WIFI_MOD_CLASS_OFDM
+      || mode.GetModulationClass () == WIFI_MOD_CLASS_HT)
     {
       if (mode.GetConstellationSize () == 2)
         {
@@ -269,6 +271,19 @@
                                    16  // adFreePlusOne
                                    );
             }
+          if (mode.GetCodeRate () == WIFI_CODE_RATE_5_6)
+            {
+              //Table B.32  in Pâl Frenger et al., "Multi-rate Convolutional Codes".
+              return GetFecQamBer (snr,
+                                   nbits,
+                                   mode.GetBandwidth (), // signal spread
+                                   mode.GetPhyRate (), // phy rate
+                                   64, // m
+                                   4,  // dFree
+                                   14,  // adFree
+                                   69  // adFreePlusOne
+                                   );
+            }
           else
             {
               return GetFecQamBer (snr,