5G/NR - Carrier Bandwith Part                                         Home : www.sharetechnote.com

 

 

 

 

 

Carrier Bandwidth Part

 

This page is about another new concept in NR called BWP(BandWidth Part). I think the purpose and concept of BWP is very similar to NarrowBand in LTE M1.

 

 

 

Definition of BWP

 

 

According to 38.211 4.4.5, A carrier bandwidth part is defined as follows :

 

Carrier Bandwidth Part is a contiguous set of physical resource blocks,selected from a contiguous subset of the common resource blocks for a given numerology(u) on a given carrier. It can be illustrated as below.

 

NOTE : Maximum 4 BWP can be specified in DL and UL. Following illustration is only an example showing the case of 3 BWP. (NOTE : CRB in this illustration stands for Carrier Resource Block which is numbered from the one end through the other end of Carrier Band (this is a kind of global resource block), the PRB stands for Physical Resource Block is the resource blocks numbered within each BWP).

 

 

Point A indicates a common reference point for resource block grids and is obtained from the following higher-layer parameters as described in 38.211 - 4.4.4.2:

  • PRB-index-DL-common for a PCell downlink represents the frequency offset between point A and the lowest subcarrier of the lowest resource block of the SS/PBCH block used by the UE for initial cell selection;
  • PRB-index-UL-common for a PCell uplink in paired spectrum represents the frequency offset between point A and the frequency location based on ARFCN of the uplink indicated in SIB1;
  • PRB-index-UL-common for a PCell uplink in unpaired spectrum represents the frequency offset between point A and the lowest subcarrier of the lowest resrouce block of the SS/PBCH block used by the UE for initial cell selection;
  • PRB-index-DL-Dedicated for an SCell downlink represents the frequency offset between point A and the frequency location based on ARFCN in the higher-layer SCell configuration;
  • PRB-index-UL-Dedicated for an SCell uplink represents the frequency offset between point A and the frequency location based on ARFCN in the higher-layer SCell configuration;
  • PRB-index-SUL-common for a supplementary uplink represents the frequency offset between point A and the frequency location based on ARFCN in the higher-layer SUL configuration.

 

 

 

Carrier Bandwidth Part allocation for DL and UL

 

 

< Downlink >

  • A UE can be configured with up to four carrier bandwidth parts
  • The bandwidth of each BW should be equal or greater than SS Block BW, but it may or may not contain SS Block.
  • Only one carrier bandwidth part can be active at a given time
  • The UE is not expected to receive PDSCH, PDCCH, CSI-RS, or TRS outside an active bandwidth part.
  • Each DL BWP include at least one CORESET with UE Specific Search Space (USS).
  • In primary carrier, at least one of the configured DL BWPs includes one CORESET with common search space (CSS)

 

< Uplink >

  • A UE can be configured with up to four carrier bandwidth parts
  • Only one carrier bandwidth part can be active at a given time
  • If a UE is configured with a supplementary uplink
    • The UE can in addition be configured with up to four carrier bandwidth parts in the supplementary uplink
    • Only one carrier bandwidth part can be active at a given time
  • The UE shall not transmit PUSCH or PUCCH outside an active bandwidth part.

 

 

 

Mapping between nCRB and nPRB

 

nCRB indicates a resource block location in common resource block, nPRB indicates a resource block within a specific carrier bandwidth part. In other words, you can think of nCRB is a position in an absolute (reference) coordinate system and nPRB is a position in a relative coordinate system. The relationship between nCRB and nPRB is defined as follows (38.211 v2.0.0 - 4.4.4.4).

 

 

This can be illustrated as an example shown below.

 

 

 

 

RRC Parameters for BandwidthPart Configuration

 

Following is based on 38.331 v15.1.0

 

ServingCellConfig ::=       SEQUENCE {

    tdd-UL-DL-ConfigurationDedicated    TDD-UL-DL-ConfigDedicated   OPTIONAL,-- Cond TDD

    initialDownlinkBWP                  BWP-DownlinkDedicated  OPTIONAL,  -- Cond ServCellAdd

    downlinkBWP-ToReleaseList           SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id  OPTIONAL,

    downlinkBWP-ToAddModList        SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL

    firstActiveDownlinkBWP-Id       BWP-Id      OPTIONAL,   -- Need R

    bwp-InactivityTimer         ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20,

                                            ms30, ms40,ms50, ms60, ms80, ms100, ms200,

                                            ms300, ms500, ms750, ms1280, ms1920, ms2560,

                                            spare10, spare9, spare8, spare7, spare6,

                                            spare5, spare4, spare3, spare2, spare1 } OPTIONAL, 

    defaultDownlinkBWP-Id       BWP-Id      OPTIONAL,   -- Need M

    uplinkConfig                UplinkConfig    OPTIONAL, -- Cond ServCellAdd-UL

    supplementaryUplink         UplinkConfig    OPTIONAL, -- Cond ServCellAdd-SUL

    pdsch-ServingCellConfig     SetupRelease { PDSCH-ServingCellConfig } OPTIONAL, -- Need M

    csi-MeasConfig              SetupRelease { CSI-MeasConfig } OPTIONAL,   -- Need M

    carrierSwitching            SetupRelease { SRS-CarrierSwitching} OPTIONAL,  -- Need M

    sCellDeactivationTimer      ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, ms320,

                                            ms400, ms480, ms520, ms640, ms720, ms840,

                                            ms1280, spare2,spare1} OPTIONAL,-- Cond 

 

UplinkConfig ::=    SEQUENCE {

    initialUplinkBWP            BWP-UplinkDedicated OPTIONAL,   -- Cond ServCellAdd.

    uplinkBWP-ToReleaseList     SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL,-- Need N

    uplinkBWP-ToAddModList      SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink  OPTIONAL,

    firstActiveUplinkBWP-Id     BWP-Id  OPTIONAL,   -- Need R

    pusch-ServingCellConfig     SetupRelease { PUSCH-ServingCellConfig } OPTIONAL, 

    ...

}

 

 

BWP-Downlink ::=    SEQUENCE {

    bwp-Id              BWP-Id,

    bwp-Common          BWP-DownlinkCommon  

    bwp-Dedicated       BWP-DownlinkDedicated   

    ...

}

 

 

BWP-DownlinkCommon ::=      SEQUENCE {

    genericParameters   BWP,

    pdcch-ConfigCommon  SetupRelease { PDCCH-ConfigCommon }

    pdsch-ConfigCommon  SetupRelease { PDSCH-ConfigCommon }

    ...

}

 

BWP-DownlinkDedicated ::=   SEQUENCE {

    pdcch-Config            SetupRelease { PDCCH-Config }   

    pdsch-Config            SetupRelease { PDSCH-Config }   

    sps-Config          SetupRelease { SPS-Config }

    radioLinkMonitoringConfig   SetupRelease { RadioLinkMonitoringConfig }

    ...

}

 

 

BWP-Uplink ::=      SEQUENCE {

    bwp-Id              BWP-Id,

    bwp-Common          BWP-UplinkCommon

    bwp-Dedicated       BWP-UplinkDedicated 

    ...

}

 

 

BWP-UplinkCommon ::=    SEQUENCE {

    genericParameters   BWP,

    rach-ConfigCommon   SetupRelease { RACH-ConfigCommon }  

    pusch-ConfigCommon  SetupRelease { PUSCH-ConfigCommon }                     

    pucch-ConfigCommon  SetupRelease { PUCCH-ConfigCommon }                         

    ...

}

 

 

BWP-UplinkDedicated ::=     SEQUENCE {

    pucch-Config                    SetupRelease { PUCCH-Config }               OPTIONAL,--Need M

    pusch-Config                    SetupRelease { PUSCH-Config }               OPTIONAL,--Need M

    configuredGrantConfig           SetupRelease { ConfiguredGrantConfig }      OPTIONAL,--Need M

    srs-Config                      SetupRelease { SRS-Config }                 OPTIONAL,--Need M

    beamFailureRecoveryConfig       SetupRelease { BeamFailureRecoveryConfig }  OPTIONAL,--Need M

    ...

}

 

 

BWP ::=     SEQUENCE {

    locationAndBandwidth        INTEGER (0..37949),

    subcarrierSpacing           SubcarrierSpacing,

    cyclicPrefix                ENUMERATED { extended } 

}

 

initialDownlinkBWP : The dedicated (UE-specific) configuration for the initial downlink bandwidth-part.

 

firstActiveDownlinkBWP-Id : If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to L1 parameter 'active-BWP-DL-Pcell'). If configured for an SCell, this field contains the ID of the downlink bandwidth part to be used upon MAC-activation of an  SCell. The initial bandwidth part is referred to by BWP-Id = 0

 

bwp-InactivityTimer : The duration in ms after which the UE falls back to the default Bandwidth Part. The value 0.5 ms is only applicable for carriers >6 GHz. When the network releases the timer configuration, the UE stops the timer without swithching to the default BWP

 

initialUplinkBWP : If configured for an SpCell, this field contains the ID of the DL BWP to be activated upon performing the reconfiguration in which it is received. If the field is absent, the RRC reconfiguration does not impose a BWP switch (corresponds to L1 parameter 'active-BWP-UL-Pcell'). If configured for an SCell, this field contains the ID of the uplink bandwidth part to be used upon MAC-activation of an  SCell. The initial bandwidth part is referred to by BandiwdthPartId = 0

 

firstActiveUplinkBWP-Id : The dedicated (UE-specific) configuration for the initial uplink bandwidth-part.

 

BWP-Id :  An identifier for this bandwidth part. Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular bandwidth part. The BWP ID=0 is always associated with the initial BWP and may hence not be used here (in other bandwidth parts).

The NW may trigger the UE to swtich UL or DL BWP using a DCI field. The four code points in that DCI field map to the RRC-configured

  • BWP-ID as follows: For up to 3 configured BWPs (in addition to the initial BWP) the DCI code point is equivalent to the BWP ID
    • (initial = 0, first dedicated = 1, ...). If the NW configures 4 dedicated bandwidth parts, they are identified by DCI code
    • points 0 to 3. In this case it is not possible to switch to the initial BWP using the DCI field.
    • Corresponds to L1 parameter 'UL-BWP-index'.

locationAndBandwidth : Frequency domain location and bandwidth of this bandwidth part. The value of the field shall be interpreted as resource indicator value (RIV). See here for the details

 

subcarrierSpacing : Subcarrier spacing to be used in this BWP for all channels and reference signals unless explicitly configured elsewhere. It corresponds to subcarrier spacing according to 38.211-Table 4.2-1. The value kHz15 corresponds to =0, kHz30 to =1, and so on. Only the values 15 or 30 kHz  (<6GHz), 60 or 120 kHz (>6GHz) are applicable.

 

 

 

How BWP are defined ?

 

As mentioned in Carrier Bandwidth Part allocation for DL and UL, maximum 4 BWPs can be defined in DL and UL. Each of BWP are configured by RRC messages as described in RRC Parameters for BandwidthPart Configuration.

 

 

 

How BWP location and bandwidth is specified in RRC ?

 

The location (starting position and the bandwidth of a BWP is specified in RRC parameter called locationAndBandwidth and this parameter is specified as RIV that can be calculated according to the following specification.

 

 

< 38.213-12 Bandwidth part operation > states as follows :

    a first PRB and a number of contiguous PRBs by higher layer parameter locationAndBandwidth that is interpreted as RIV according to TS 38.214, setting , and the first PRB is a PRB offset relative to the PRB indicated by higher layer parameters offsetToCarrier and subcarrierSpacing

 

< 38.214-5.1.2.2.2 Downlink resource allocation type 1> defines RIV as follows :

 

Combining the two specification mentioned above, I would come up with some examples as shown below. All these examples are based on the assumption that RB_start = 0, BWP takes up the maximum RB for the specified channel bandwidth and subcarrierspacing = 30 Khz, FR1

 

CBW

max RB

Equation

RIV Calculation

locationAndBandwidth

20

51

(1)

275*(51-1)+0

13750

40

106

(1)

275*(106-1)+0

28875

50

133

(1)

275*(133-1)+0

36300

60

162

(2)

275*(275-162+1)+(275-1-0)

31624

80

217

(2)

275*(275-217+1)+(275-1-0)

16499

100

273

(2)

275*(275-273+1)+(275-1-0)

1099

 

 

Following is the table that I calculated for subcarrier spacing  = 15 Khz  based on the assumption that RB_start = 0, BWP takes up the maximum RB for the specified channel bandwidth

 

CBW

max RB

Equation

RIV Calculation

locationAndBandwidth

10

52

(1)

275*(52-1)+0

14025

20

106

(1)

275*(106-1)+0

28875

40

216

(2)

275*(275-216+1)+(275-1-0)

16774

50

270

(2)

275*(275-270+1)+(275-1-0)

1924

 

 

Following is the table that I calculated for subcarrier spacing  = 120 Khz  based on the assumption that RB_start = 0, BWP takes up the maximum RB for the specified channel bandwidth

 

CBW

max RB

Equation

RIV Calculation

locationAndBandwidth

50

32

(1)

275*(32-1)+0

8525

100

66

(1)

275*(66-1)+0

17875

200

132

(1)

275*(132-1)+0

36025

400

264

(2)

275*(275-264+1)+(275-1-0)

3574

 

 

 

How a specific BWP is selected (BWP switching) ?

 

Even though multiple (max 4) BWPs can be defined in DL and UL, only one BWP can be active at each specific moment. It implies there is some mechainism to select a specific BWP as the active one. According to 38.321-5.15 Bandwidth Part (BWP) operation, BWP selection (or BWP switching) can be done by several different way

s as listed below.

  • By PDCCH (i.e, DCI) : A specific BWP can be activated by Bandwidth part indicator in DCI Format 0_1 (a UL Grant) and DCI Format 0_1 (a DL Schedule)
  • By the bwp-InactivityTimer : ServingCellConfig.bwp-InactivityTimer
  • By RRC signalling
  • By the MAC entity itself upon initiation of Random Access procedure  

 

With using the mechanisums listed above, a specific BWP become active depending on various situations in the call processing. Followings are some of the examples of BWP switching for specific cases.

 

 

Case 1 :  Reconfiguration with sync (based on 38.331 - 5.3.5.5.2)   

    "Reconfiguration with sync" is a common mechanism of activing NR cell in NSA (i.e, Adding NR Cell to LTE cell). In this case, Active BWP for DL and UL is set to be as follows .

    • Active BWP for DL = firstActiveDownlinkBWP-Id
    • Active BWP for UL = firstActiveUplinkBWP-Id

Case 2 :  Upon initiation of the Random Access procedure on a Serving Cell (based on 38.321 - 5.15)

    if PRACH occasions are not configured for the active UL BWP:

       For UL,set the active UL BWP = initialUplinkBWP;

       For DL,

             if the Serving Cell is a SpCell:

                set the active DL BWP = initialDownlinkBWP.

     

    if PRACH occasions are configured for the active UL BWP

       For UL,set the active UL BWP = the configured UL BWP

       For DL,

             if the Serving Cell is a SpCell:

                set the active DL BWP = DL BWP with the same bwp-Id as the active UL BWP.

     

    Perform RACH procedure with the active BWP selected as above.

 

Case 3 : DCI with Bandwidth part indicator is recieved

    Check if there is any on-going RACH procedure. If there is no on-going RACH procedure or RACH procedure is just completed by the received DCI (masked with C-RNTI).

      set the active BWP = the BWP specified by the DCI

 

 

 

Why BWP ?

 

When I first saw the descriptions on BWP, I asked myself 'why we need this ? We already has pretty flexible mechanism of changing Bandwidth dynamically. Just by changing the number of RBs and starting RB, we can change the operation bandwidth. Then, why we still need another mechanism of restricting bandwidth ?'.

The purpose of BWP is more for UE rather than for Network, especially for low end UEs which cannot afford to such a wideband operation.

In most case, NR would operate in very wideband and there wouldn't be any issues for the network (gNB) and high end UEs to handle the full operating band, but we cannot expect every types of UE to be able to work with this kind of wideband. So we need another special mechanism to tell some UEs 'Hey... we are operating in this wide band, but you don't need to worry about covering the full band. this is a fraction of spectrum you only need to care'. This is how (and why) we came out with the new concept called BWP. It would remind you of NarrowBand in LTE M1. (Refer to Ref[1] if you want to know more detailed stories on various alternatives on NR Wideband operation).

 

 

 

Reference

 

[1] NR Wide Bandwidth Operations by Jeongho Jeon, Intel Corporation