Amarisoft

NR SA CORESET0

 

The purpose of this tutorial is Not about creating any specific test cases. This is more about information sharing on how CORESET0 in NR SA is configured automatically by gNB software and how you can configure it manually when you want. SSB positioning and selecting an appropriate CORESET0 resource is one of the most complicated and confusing process in NR protocol, but Amari gNB specifies SSB and corresponding CORESET0 automatically. Of course, you can specify it manually as you like if you want any specific configuration.  This tutorial will show you how you can figure out the automatically set configuration and how you can manually change the configuration if you need.

It is assumed that you already have basic understandings on what is the CORESET (If you are not familiar with the concept of the coreset itself, I would suggest to check out this note). CORESET0 is a specially designed coreset only SIB1 scheduling. The details of this CORESET (i.e, SIB1 scheduling information) cannot be broadcasted to UE). Why not ?   Except MIB(PBCH), SIB1 is the first broadcast message, so there should be some other mechanism to provide the details of SIB1 sheduling to UE. The technique that 3GPP adopted for this is as follows.

The summary of this mechanism would be illustrated as below (as per my understanding).

NR SA CORESET0 01

Image Source : SIB1 decoding Procedure in Sharetechnote

In 3GPP, SSB SCS,PDCCH SCS, Min BW determines which table to apply and the MIB parameter determines the index of the selected table.  In Amarisoft gNB, SSB SCS,PDCCH SCS, Min BW determines which table to apply and the index of the table is specified in enb.cfg. (The index specified in the configuration file is populated in MIB).

 

 

Table of Contents

 

 

Automatic Configuration

 

If you don't specify SSB and CORESET0 configuration manually, those are set automatically by Amari gNB. Most of the sample configurations that are installed by the installation package uses the automatic configuration (meaning that those configurations are not set explicitely in the configuration file). Followings are some of the examples showing the result of automatic configuration.  You can check the specified SSB and coreset0 resource allocation from the gnb log file as shown below. (NOTE : If you don't see these information at the beginning of log file when you open it in text editor, it would imply that you are using very old software or you misconfigured something in enb.cfg and gNB is not properly initiated).

NR SA Coreset0 AutoConfig 01

 

 

Example 1 >  CBW 20 Mhz

In this example, bandwith is configured to be 20Mhz and subcarrier spacing is configured to be 30Khz. Based on this, ssb_arfcn, k_ssb, ssb_prb, coreset0_prb (position of coreset0) and coreset0_idx are all automatically set by LTE software and printed in the logfile as metat data. (NOTE : you can manually specify SSB position, coreset 0 position manually in the configuration file, but it is recommended to let lte software automatically configure it unless you really want to configure them by yourself)

 

NR SA Coreset0 AutoConfig Ex 01 01

 

 

Example 2 >  CBW 40 Mhz

In this example, bandwith is configured to be 40Mhz and subcarrier spacing is configured to be 30Khz. Based on this, ssb_arfcn, k_ssb, ssb_prb, coreset0_prb (position of coreset0) and coreset0_idx are all automatically set by LTE software and printed in the logfile as metat data. (NOTE : you can manually specify SSB position, coreset 0 position manually in the configuration file, but it is recommended to let lte software automatically configure it unless you really want to configure them by yourself)

 

NR SA Coreset0 AutoConfig Ex 02 01

 

 

Example 3 >  CBW 10 Mhz

In this example, bandwith is configured to be 10Mhz and subcarrier spacing is configured to be 30Khz. Based on this, ssb_arfcn, k_ssb, ssb_prb, coreset0_prb (position of coreset0) and coreset0_idx are all automatically set by LTE software and printed in the logfile as metat data. (NOTE : you can manually specify SSB position, coreset 0 position manually in the configuration file, but it is recommended to let lte software automatically configure it unless you really want to configure them by yourself. Especially for the narrow bandwidth as in this csae, it would be challenging to set these parameters manually)

 

NR SA Coreset0 AutoConfig Ex 03 01

 

 

 

Common Errors for CORESET Resource Allocation

 

Followings are some of the common misconfigurations causing CORESET0 related errors. (NOTE : This is not the exhaustive list of misconfigurations. These are only examples of common misconfiguration and you may come across various other cases as well). In the examples shown below, I intentionally set the configuration to cause errors, but you can use the same parameter to fix the coreset related errors.

NR SA Coreset0 CommonErrors 01

 

 

Example 1 >  Offset too big

This is the case where coreset 0 bandwidth is narrower than the CBW (channel bandwidth), but the coreset 0 boundary gets out of CBW due to too large offset value

NR SA Coreset0 CommonErrors Ex01 01

 

 

Example 2 >  Frequency Span too wide

This is the case where the coreset 0 bandwidthis wider than the configured channel bandwidth. This case can be interpreted as follows :

NR SA Coreset0 CommonErrors Ex02 01

 

 

 

RRC / NAS Signaling

 

MIB (SA)

: Amarisoft Callbox does not print out the full contents of MIB (PBCH) in the trace log (The MIB contents related to CORESET 0 is printed in the log at meta data section as shown above). The ASN.1 structure of NR SA MIB is as shown below.

NOTE: For further details of each of the parameters, refer to this note from sharetechnote.com

NR SA Coreset0 MIB 01