48 struct SnrEfficiencyMcs
59 SnrEfficiencyMcs snrEfficiencyMcs[] = {
60 {-5.00000, 0.08024, -1}, {-4.00000, 0.10030, -1}, {-3.00000, 0.12518, -1},
61 {-2.00000, 0.15589, 0}, {-1.00000, 0.19365, 0}, {0.00000, 0.23983, 2},
62 {1.00000, 0.29593, 2}, {2.00000, 0.36360, 2}, {3.00000, 0.44451, 4},
63 {4.00000, 0.54031, 4}, {5.00000, 0.65251, 6}, {6.00000, 0.78240, 6},
64 {7.00000, 0.93086, 8}, {8.00000, 1.09835, 8}, {9.00000, 1.28485, 10},
65 {10.00000, 1.48981, 12}, {11.00000, 1.71229, 12}, {12.00000, 1.95096, 14},
66 {13.00000, 2.20429, 14}, {14.00000, 2.47062, 16}, {15.00000, 2.74826, 18},
67 {16.00000, 3.03560, 18}, {17.00000, 3.33115, 20}, {18.00000, 3.63355, 20},
68 {19.00000, 3.94163, 22}, {20.00000, 4.25439, 22}, {21.00000, 4.57095, 24},
69 {22.00000, 4.89060, 24}, {23.00000, 5.21276, 26}, {24.00000, 5.53693, 26},
70 {25.00000, 5.86271, 28}, {26.00000, 6.18980, 28}, {27.00000, 6.51792, 28},
71 {28.00000, 6.84687, 28}, {29.00000, 7.17649, 28}, {30.00000, 7.50663, 28},
73 int numOfTests =
sizeof(snrEfficiencyMcs) /
sizeof(SnrEfficiencyMcs);
75 double txPowerDbm = 30;
77 double noisePowerDbm =
78 ktDbm + 10 * std::log10(25 * 180000);
79 double receiverNoiseFigureDb = 9.0;
81 for (
int i = 0; i < numOfTests; i++)
84 txPowerDbm - snrEfficiencyMcs[i].snrDb - noisePowerDbm - receiverNoiseFigureDb;
86 std::ostringstream name;
87 name <<
" snr= " << snrEfficiencyMcs[i].snrDb <<
" dB, "
88 <<
" mcs= " << snrEfficiencyMcs[i].mcsIndex;
90 snrEfficiencyMcs[i].snrDb,
92 snrEfficiencyMcs[i].mcsIndex),
93 TestCase::Duration::QUICK);