Commit b6dedd39 authored by Robert Schmidt's avatar Robert Schmidt

retx3 reduce MCS by 5

parent 6746ef4c
...@@ -430,11 +430,10 @@ int get_mcs_from_bler(module_id_t mod_id, int CC_id, frame_t frame, sub_frame_t ...@@ -430,11 +430,10 @@ int get_mcs_from_bler(module_id_t mod_id, int CC_id, frame_t frame, sub_frame_t
const NR_mac_stats_t *stats = &nrmac->UE_info.mac_stats[UE_id]; const NR_mac_stats_t *stats = &nrmac->UE_info.mac_stats[UE_id];
const int dret3x = stats->dlsch_rounds[3] - bler_stats->dlsch_rounds[3]; const int dret3x = stats->dlsch_rounds[3] - bler_stats->dlsch_rounds[3];
if (dret3x > 0) { if (dret3x > 0) {
/* if there is a third retransmission, reset MCS and averaging window to /* if there is a third retransmission, decrease MCS for stabilization and
* stabilize transmission */ * restart averaging window to stabilize transmission */
bler_stats->last_frame_slot = now; bler_stats->last_frame_slot = now;
if (bler_stats->mcs > 9) bler_stats->mcs = max(9, bler_stats->mcs - 5);
bler_stats->mcs >>= 1;
memcpy(bler_stats->dlsch_rounds, stats->dlsch_rounds, sizeof(stats->dlsch_rounds)); memcpy(bler_stats->dlsch_rounds, stats->dlsch_rounds, sizeof(stats->dlsch_rounds));
LOG_D(MAC, "%4d.%2d: %d retx in 3rd round, setting MCS to %d and restarting window\n", frame, slot, dret3x, bler_stats->mcs); LOG_D(MAC, "%4d.%2d: %d retx in 3rd round, setting MCS to %d and restarting window\n", frame, slot, dret3x, bler_stats->mcs);
return bler_stats->mcs; return bler_stats->mcs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment