Amarisoft

NR Max Throughput

Unlike in LTE, estimation of expected max throughput is relatively straightforward. You would estimate LTE max throughput depending on UE category based on well defined table like 36.306 - Table 4.1A-1, but it is not that straightfoward in NR mainly because framestructure, subcarrier scheduling, possibility of partial slot schedule, dmrs configuration etc. One suggested method of max throughput estimation with a certain condition is to use a formula shown below.

NOTE : Even with this formula, it is hard to reflect all the dynamic nature of physical layer scheduling into the formual. So in reality, you would get much lower throughput than what is estimated from this formula. I think it is normal to have lower throughput than what you get from this equation.  

  

<  38.306 - 4.1.2 Supported max data rate for DL/UL >

NR SA MaxTp Formula 01

What you need to notice from this formula is what are the factors affecting the throughput. Just directly reading from the formula, you can list those factors as shown below.

NOTE : There are some additional factors that are not explicitely included in the formula (probably can implcitely be reflected), but has very big impact on maximum achievable throughput. Those are listed below :

Table of Contents

Introduction

5G New Radio (NR) represents a significant evolution in mobile wireless communication, designed to meet the diverse requirements of enhanced mobile broadband, ultra-reliable low-latency communications, and massive machine-type communications. Unlike its predecessor LTE, NR introduces a highly flexible and scalable architecture, enabling dynamic adaptation to various deployment scenarios, frequency bands, and use cases. At the core of NR’s technical advancements are features such as scalable numerology, advanced modulation schemes, flexible frame structures, and support for carrier aggregation and massive MIMO. These innovations allow NR to achieve much higher data rates, lower latency, and improved spectral efficiency. However, this flexibility also introduces complexity in key performance estimation tasks, such as calculating the maximum achievable throughput. While LTE throughput estimation was often straightforward—relying on static UE categories and standardized tables—NR’s dynamic and configurable parameters (including frame structure, subcarrier scheduling granularity, partial slot allocations, and diverse demodulation reference signal (DMRS) configurations) make throughput estimation a more intricate process. Understanding the factors that influence NR throughput and learning how to estimate it under standardized conditions is essential for engineers, researchers, and practitioners who seek to optimize network planning, device development, or performance analysis in real-world 5G environments. This tutorial provides a comprehensive introduction to NR maximum throughput estimation, highlighting the architectural differences from LTE, the mathematical foundations of throughput calculation, and the practical considerations necessitated by NR’s dynamic scheduling and physical layer features.

Summary of the Tutorial

This tutorial describes test procedures for achieving maximum throughput in both Standalone (SA) and Non-Standalone (NSA) TDD configurations using 1CC, 100 MHz bandwidth, and 4x4 MIMO with DMRS additional position 1. The procedures focus on system configuration, resource allocation visualization, and performance validation steps, primarily using Amarisoft test setups.

SA TDD 1CC 100Mhz 4x4 addpos 1

This is to show the configuration for Single Cell SA TDD maximum throughput. Around 1.7 Gbps was achieved with 4x4 MIMO and DMRS addpos 1.

This test was done by this configuration : gnb-sa-max-tput_100Mhz_4x4_addpos_1_pucch3.cfg.  Highlights of the configuration is as shown below. Highlights of the configuration is as shown below. Here NR_BANDWIDTH is set to 100Mhz, N_ANTENNA_DL is set to 4 (i.e, 4x4 MIMO).

#define NR_BANDWIDTH         100  // NR cell bandwidth

#define N_ANTENNA_DL         4   // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)

#define N_ANTENNA_UL         1   // Values: 1, 2, 4

#define NR_LONG_PUCCH_FORMAT 3   // Values: 2, 3, 4

 

      pattern1: {

        period: 5, /* in ms */

        dl_slots: 8,

        dl_symbols: /* 6 */ 2,

        ul_slots: 1,

        ul_symbols: 2,

      },

 

        pucch3: {

          bpsk: false,

          additional_dmrs: false,

          freq_hopping: true,

          n_prb: 1,

          simultaneous_harq_ack_csi: true,

          max_code_rate: 0.25,

        },

 

    pdsch: {

      mapping_type: "typeA",

      dmrs_add_pos: 1,

      dmrs_type: 1,

      dmrs_max_len: 1,

      /* k0 delay in slots from DCI to PDSCH: automatic setting */

      /* k1 delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK: automatic setting */

      mcs_table: "qam256",

      rar_mcs: 2,

      si_mcs: 9,

      /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed

       * based on DL channel quality estimation */

      /* mcs: 24, */

    },

When you want to achieve high throughput, it is strongly recommended to visualize your configuration in terms of resource allocation and possible scheduling and have some rough estimate first. It would not be easy to consider every possible details affecting the throughput in the illustration, but it would be helpful if you can visualize at least slot and symbol allocation and mark possible overhead in terms of throughput. (e.g, PBCH, PDCCH, DMRS etc)  

NR MaxTp SA TDD 1CC 100Mhz 4x4 addpos 1

Following is the output from test setup in Amarisoft. ( NOTE : When you do the test in your setup. The first thing to make it sure is that you should get all '0' in 'retx' column. If you have any high numbers in this column indicating high BLER, refer to this note for troubleshoot. If you still don't get the expected max throughput, then check the number of in txok column. If you have the value much lower than this even with retx = 0, it imply that IP layer is not pushing high enough data into radio stack.)

NR MaxTp SA TDD 1CC 100Mhz 4x4 addpos 1 Tp

 

 

NSA TDD 1CC 100Mhz 4x4 addpos 1

This is to show the configuration for Single Cell NSA TDD maximum throughput. Around 2 Gbps(1.7Gb in NR + 0.4Gb in LTE) was achieved with 4x4 MIMO and DMRS addpos 1. NOTE : The single cell NSA in this context mean 1 LTE cell + 1 NR cell.

This test was done by this configuration : gnb-nsa-max-tput_100Mhz_4x4_addpos_1_pucch3.cfg.  Highlights of the configuration is as shown below. Here NR_BANDWIDTH is set to 100Mhz, N_ANTENNA_DL is set to 4 (i.e, 4x4 MIMO).

#define NR_BANDWIDTH         100  // NR cell bandwidth

#define N_ANTENNA_DL         4   // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)

#define N_ANTENNA_UL         1   // Values: 1, 2, 4

#define NR_LONG_PUCCH_FORMAT 3   // Values: 2, 3, 4

 

      pattern1: {

        period: 5, /* in ms */

        dl_slots: 8,

        dl_symbols: 2,

        ul_slots: 1,

        ul_symbols: 2,

      },

 

        pucch3: {

          bpsk: false,

          additional_dmrs: false,

          freq_hopping: true,

          n_prb: 1,

          simultaneous_harq_ack_csi: true,

          max_code_rate: 0.25,

        },

 

    pdsch: {

      mapping_type: "typeA",

      dmrs_add_pos: 1,

      dmrs_type: 1,

      dmrs_max_len: 1,

      /* k0 delay in slots from DCI to PDSCH: automatic setting */

      /* k1 delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK: automatic setting */

      mcs_table: "qam256",

      rar_mcs: 2,

      si_mcs: 9,

      /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed

       * based on DL channel quality estimation */

      /* mcs: 24, */

    },

 

When you want to achieve high throughput, it is strongly recommended to visualize your configuration in terms of resource allocation and possible scheduling and have some rough estimate first. It would not be easy to consider every possible details affecting the throughput in the illustration, but it would be helpful if you can visualize at least slot and symbol allocation and mark possible overhead in terms of throughput. (e.g, PBCH, PDCCH, DMRS etc)  

NR MaxTp NSA TDD 1CC 100Mhz 4x4 addpos 1

 

Following is the output from test setup in Amarisoft. (NOTE : When you do the test in your setup. The first thing to make it sure is that you should get all '0' in 'retx' column. If you have any high numbers in this column indicating high BLER, refer to this note for troubleshoot. If you still don't get the expected max throughput, then check the number of in txok column. If you have the value much lower than this even with retx = 0, it imply that IP layer is not pushing high enough data into radio stack.)

NR MaxTp NSA TDD 1CC 100Mhz 4x4 addpos 1 Tp

 

 

Possible Further Improvement

 

One possible improvement you can make would be to set dmrs_add_pos: 0. Then you would get less overhead by DMRS as illutrated below. It would give you around 10% of increased throughput. (NOTE : Based on our experience (and it is understandable), many of the UE side modem may have difficulties decoding PDSCH stably with only one DMRS symbol in one slot with large number of OFDM symbols scheduled. Therefore, we would not guarantee about this configuration in real operation, but you may try it if you think your modem can stably decode PDSCH in this configuration)

NR MaxTp NSA TDD 1CC 100Mhz 4x4 addpos 0