5G NR: Bandwidth Part



What is a Bandwidth Part?
A subset or a part of total carrier bandwidth is referred to as bandwidth part (BWP).
A BWP forms a set of contiguous common resource blocks (CRBs) within the full carrier bandwidth. In other words, within the carrier bandwidth, a BWP starts at a CRB and spans over a set of consecutive CRBs.
Each BWP is associated with its own numerology (SCS and CP).
A UE can be configured with up to four downlink BWPs and up to four uplink BWPs for each serving cell. In case of supplementary uplink (SUL), there can be up to four additional uplink BWPs on the SUL carrier.
To enable reasonable UE battery consumption, only one BWP in the downlink and one in the uplink are active at a given time on an active serving cell.
-    The active BWP defines the UE's operating bandwidth within the cell's operating bandwidth.
-    All other BWPs that the UE is configured with being deactivated.
-    On deactivated BWPs, the UE does not transmit or receive any data.
-    For TDD, a BWP-pair (active UL BWP and active DL BWP) must have the same center frequency.
When needed, the network can dynamically switch the UE to the desired BWP. BWP switching is discussed in detail subsequently.
For smaller carrier bandwidths, there could only be one BWP which may occupy full carrier bandwidth.
Why Bandwidth Parts?
LTE maximum carrier bandwidth is much smaller to that of NR (20 MHz Vs 400 MHz). An NR UE scanning full carrier bandwidth (e.g. 400 MHz) would be too ‘power’ costly.
Moreover, with NR supporting multiple UE types and capabilities, not all devices capable of receiving full carrier bandwidth.
Another benefit of using BWPs is to reduce UE power consumption for UEs capable of receiving maximum carrier bandwidth; a UE could be configured to use a BWP with a wider bandwidth during large amounts of data transfer while keeping the UE on a BWP with a narrow bandwidth during low data activity periods.
Bandwidth Adaptation
With Bandwidth Adaptation (BA), the receive and transmit bandwidth of a UE need not be as large as the bandwidth of the cell and can be adjusted. The bandwidth can be ordered to change;
-    UE can use a narrower BW for monitoring control channels and to receive small/medium amount of data (to save power).
-    UE can switch to full or large bandwidth when large amounts of data to be scheduled.
The location can move in the frequency domain (e.g. to increase scheduling flexibility) and the subcarrier spacing can be ordered to change (e.g. to allow different services).
BA is achieved by configuring the UE with BWPs and telling the UE which one of the configured BWPs is currently the active. Figure below describes an example scenario where 3 different BWPs are configured;

To enable BA on the PCell, the gNB configures the UE with UL and DL BWP(s). To enable BA on SCells in case of CA, the gNB configures the UE with at least DL BWP(s) i.e. there may or may not be any UL BWP for the SCell.
More information on BWP
A UE receives PDCCH and PDSCH in a DL BWP according to a configured SCS and CP length for the DL BWP.
A UE transmits PUCCH and PUSCH in an UL BWP according to a configured SCS and CP length for the UL BWP.
A UE is only assumed to receive/transmit within active DL/UL BWP using the associated numerology.
-    For downlink, the UE is not expected to receive PDSCH, PDCCH, or CSI-RS (except for RRM) outside an active BWP.
-    For uplink, the UE shall not transmit PUSCH or PUCCH outside an active BWP and for an active cell, the UE shall not transmit SRS outside an active BWP.
For each DL BWP or UL BWP in a set of DL BWPs or UL BWPs, respectively, the UE is provided with the following parameters;
1.  a SCS using the field subcarrierSpacing
2.  a cyclic prefix using the field cyclicPrefix
3.  an index in the set of DL BWPs or UL BWPs by respective BWP-Id
4.  a set of common and dedicated BWP parameters
5.  BWP’s starting PRB location and a number of contiguous RBs which forms the BWP.
PRBs are the resource blocks which are used for actual transmission/reception. A set of PRBs belongs to and form a BWP. PRBs for a specific subcarrier configuration defined within a BWP are numbered from 0 to (size of BWP - 1). Each BWP has its own set of PRBs.
The BWP’s starting PRB location relative to CRB0 is derived as follows;
NBWP,i start  ­­= Ocarrier + RBstart
-    Ocarrier is provided by offsetToCarrier for each SCS. offsetToCarrier is the offset in frequency domain between Point A and the lowest usable subcarrier on the carrier in number of PRBs. This is configured per subcarrier spacing within SIB1 or via dedicated RRC signalling. For more details, refer to: 5G NR: Resource Blocks.
-    RBstart is derived from locationAndBandwidth (part of BWP configuration). The value of this field shall be interpreted as resource indicator value (RIV) as shown below.

The example in figure below illustrates relation between PRBs in a BWP and CRB0.

Dedicated RRC configuration for a BWP
The IE ServingCellConfig contains a dedicated (UE-specific) BWP configuration. It also contains some cell-specific information which may be useful for some cases e.g., handover.
It contains a list of additional (not initial) uplink and downlink BWPs to be added or deleted. This IE also contains initialDownlinkBWP, firstActiveDownlinkBWP-Id, defaultDownlinkBWP-Id and other BWP configuration most of which are explained in subsequent sections.
The following figure shows BWP related configuration within ServingCellConfig IE

BWP Id
The IE BWP-Id is used to refer to BWPs (in UL and DL independently). Other parts of the RRC configuration use the BWP-Id to associate themselves with a particular BWP.
BWP-Id
BWP-Id INTEGER (0 … 4)
The initial BWP is referred to by BWP-Id 0. The other BWPs are referred to by BWP-Id from 1 to 4.
For TDD, the center frequencies for a DL BWP and UL BWP are same when the BWP-Id of the DL BWP is same as the BWP-Id of the UL BWP.
Downlink BWP
The IE BWP-Downlink is used to configure additional downlink BWP (not for initial downlink BWP). The IE downlinkBWP-ToAddModList contains a list of BWP configurations of type BWP-Downlink.
As shown below, it contains bwp-Id, bwp-Common and bwp-Dedicated.
BWP-Downlink
bwp-Id BWP-Id
bwp-Common BWP-DownlinkCommon
bwp-Dedicated BWP-DownlinkDedicated
BWP Id is already discussed in the previous section. Since the IE BWP-Downlink is not used for configuring initial downlink BWP, value 0 is not used for BWP-Id when it is included within BWP-Downlink.
BWP-DownlinkCommon is used to configure the common parameters (cell-specific) of a downlink BWP. As discussed already, the common parameters of the initial downlink BWP of the PCell are provided via system information using this IE. For all other serving cells, the network provides this IE via dedicated signalling. The following table summarises the downlink BWP common parameters.
BWP-DownlinkCommon
genericParameters locationAndBandwidth INTEGER (0 … 37949)
subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
cyclicPrefix ENUMERATED { extended }
pdcch-ConfigCommon SetupRelease { PDCCH-ConfigCommon }
pdsch-ConfigCommon SetupRelease { PDSCH-ConfigCommon }
BWP-DownlinkDedicated is used to configure the dedicated (UE-specific) parameters of a downlink BWP. This is applicable for both initial downlink BWP as well as additional downlink BWPs.
BWP-DownlinkDedicated
pdcch-Config SetupRelease { PDCCH-Config }
pdsch-Config SetupRelease { PDSCH-Config }
sps-Config SetupRelease { SPS-Config }
radioLinkMonitoringConfig SetupRelease { RadioLinkMonitoringConfig }
Uplink BWP
The IE BWP-Uplink is used to configure additional uplink BWP (not for initial uplink BWP). The IE uplinkBWP-ToAddModList contains a list of BWP configurations of type BWP-Uplink.
As shown below, it contains bwp-Id, bwp-Common and bwp-Dedicated.
BWP-Uplink
bwp-Id BWP-Id
bwp-Common BWP-UplinkCommon
bwp-Dedicated BWP-UplinkDedicated
BWP Id is already discussed in the previous section. Since the IE BWP-Uplink is not used for configuring initial uplink BWP, value 0 is not used for BWP-Id when included within BWP-Uplink.
BWP-UplinkCommon is used to configure the common parameters (cell-specific) of an uplink BWP. As discussed already, the common parameters of the initial uplink BWP of the PCell are provided via system information using this IE. For all other serving cells, the network provides this IE via dedicated signalling. The following table summarises the uplink BWP common parameters.
BWP-UplinkCommon
genericParameters locationAndBandwidth INTEGER (0 … 37949)
subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
cyclicPrefix ENUMERATED { extended }
rach-ConfigCommon SetupRelease { RACH-ConfigCommon }
pusch-ConfigCommon SetupRelease { PUSCH-ConfigCommon }
pucch-ConfigCommon SetupRelease { PUCCH-ConfigCommon }
BWP-UplinkDedicated is used to configure the dedicated (UE-specific) parameters of an uplink BWP. This is applicable for both initial uplink BWP as well as additional uplink BWPs.
BWP-UplinkDedicated
pucch-Config SetupRelease { PUCCH-Config }
pusch-Config SetupRelease { PUSCH-Config }
configuredGrantConfig SetupRelease { configuredGrantConfig }
srs-Config SetupRelease { SRS-Config }
beamFailureRecoveryConfig SetupRelease { BeamFailureRecoveryConfig }
Initial BWP
For each serving cell the network configures at least an initial downlink BWP and one (if the serving cell is configured with an uplink) or two (if using SUL) initial uplink BWPs. Furthermore, the network may configure additional uplink and downlink BWPs for a serving cell.
For the PCell, the initial BWP is the BWP used for initial access i.e., for initial access and until the UE's configuration in a cell is received, the UE uses the initial BWP which is detected from system information.
For the SCell(s), the initial BWP is the BWP configured for the UE to first operate at the time of SCell activation.
Initial Downlink BWP:
The network configures the IE initialDownlinkBWP either via SIB1 or via dedicated RRC signalling. The common parameters of the initial downlink BWP of the PCell are provided via system information. For all other serving cells, the network provides the common parameters via dedicated signalling.
The IE initialDownlinkBWP is carried within DownlinkConfigCommonSIB when configured by SIB1.
When sent by RRC signalling, the IE initialUplinkBWP is carried by DownlinkConfigCommon within RRC (Re-) configuration. The IE initialDownlinkBWP is mandatory present upon serving cell addition (for PSCell and SCell) and upon handover from E-UTRA to NR.
If a UE is not provided initialDownlinkBWP, then the CORESET information carried by MIB configures and activates the initial downlink BWP.
As shown below, this IE provides information such as frequency domain location and bandwidth of the BWP in the downlink, subcarrier spacing, cell-specific PDCCH and PDSCH parameters for the concerned BWP.
initialDownlinkBWP => BWP-DownlinkCommon
genericParameters locationAndBandwidth INTEGER (0 … 37949)
subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
cyclicPrefix ENUMERATED { extended }
pdcch-ConfigCommon SetupRelease { PDCCH-ConfigCommon }
pdsch-ConfigCommon SetupRelease { PDSCH-ConfigCommon }
subcarrierSpacing is the SCS to be used in this BWP for all channels and reference signals unless explicitly configured elsewhere. For the initial DL BWP, this field has the same value as the field subCarrierSpacingCommon in MIB.
locationAndBandwidth defines the frequency domain location and bandwidth of this BWP.
Initial Uplink BWP:
The network configures the initial uplink BWP using the IE initialUplinkBWP either via SIB1 or via dedicated RRC signalling. This IE carries the initial uplink BWP configuration for an SpCell (PCell of MCG or SCG) or SCell.
The IE initialUplinkBWP is carried within UplinkConfigCommonSIB when configured by SIB1.
When sent by RRC signalling, the IE initialUplinkBWP is carried by UplinkConfigCommon within RRC (Re-) configuration. The IE initialUplinkBWP is mandatory present upon serving cell addition (for PSCell and SCell) and upon handover from E-UTRA to NR.
As shown below, this IE provides information such as frequency domain location and bandwidth of the BWP in the uplink, subcarrier spacing, cell-specific PUCCH, PUSCH and RACH parameters for the concerned BWP.
initialUplinkBWP => BWP-UplinkCommon
genericParameters locationAndBandwidth INTEGER (0 … 37949)
subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1}
cyclicPrefix ENUMERATED { extended }
rach-ConfigCommon SetupRelease { RACH-ConfigCommon }
pusch-ConfigCommon SetupRelease { PUSCH-ConfigCommon }
pucch-ConfigCommon SetupRelease { PUCCH-ConfigCommon }
First Active BWP
First active BWP is the BWP to be activated for the first time after an RRC (re-) configuration in cases for example handover, SCell addition, or BWP switching.
For downlink, the IE ServingCellConfig within RRC (re-) configuration contains firstActiveDownlinkBWP-Id which points to the BWP id that is already configured as part of downlinkBWP-ToAddModList.
For uplink, the IE ServingCellConfig within RRC (re-) configuration contains firstActiveUplinkBWP-Id which points to the BWP id which is already configured as part of uplinkBWP-ToAddModList.
firstActiveUplinkBWP-Id and firstActiveDownlinkBWP-Id:
These two fields are mandatory present for an SpCell upon PCell change (handover) and PSCell addition/change and upon RRCSetup/RRCResume. Upon PCell change and PSCell addition/change, the network sets these two fields to the same value.
For SpCell, these fields could be used for BWP switching (discussed later).
These fields are mandatory present for an SCell upon addition. When configured, these fields contain the ID of the downlink/uplink BWP to be used upon MAC-activation of an SCell.
Default Downlink BWP
A UE can be provided by a default DL BWP among the configured DL BWPs. If the network doesn’t configure a default DL BWP, the default DL BWP is the initial DL BWP.
The network configures defaultDownlinkBWP-Id which is one of the BWP id of already configured downlink BWPs. The UE will switch to this default downlink BWP upon certain amount of inactivity on the current active downlink BWP.
The amount of inactivity is controlled by RRC using a timer field bwp-InactivityTimer which range from 3 ms to 2.56 seconds. Upon expiry of this timer, the UE falls back to the default downlink BWP (if configured)
BWP Switching
As discussed already, there can only be one active BWP in the downlink and one in the uplink at a given time, even though a UE can be configured with up to four downlink BWPs and up to four uplink BWPs for each serving cell.
The BWP switching procedure for a serving sell is used to activate an inactive BWP and deactivate an active BWP at the same time.
In FDD, downlink and uplink can switch BWP independently but for TDD, both downlink and uplink should switch BWP simultaneously.
The BWP switching is controlled by the following ways and each one of them are discussed subsequently.
-      RRC signalling
-      The PDCCH indicating a downlink assignment or an uplink grant
-      The inactivity timer (bwp-InactivityTimer)
-      the MAC entity itself upon initiation of Random Access procedure.
BWP switching by RRC signalling:
The network can impose BWP switching using RRC (re-) configuration.
As discussed already as part of first active BWP section, the network includes firstActiveDownlinkBWP-Id and/or firstActiveUplinkBWP-Id for SpCell or SCell within RRC (re-) configuration.
Upon receiving RRC (re-) configuration of firstActiveDownlinkBWP-Id and/or firstActiveUplinkBWP-Id for SpCell, the UE activates the downlink BWP and/or uplink BWP indicated by firstActiveDownlinkBWP-Id and/or firstActiveUplinkBWP-Id respectively.
For an SCell, the UE doesn’t activate the downlink BWP and/or uplink BWP immediately after receiving the RRCReconfiguration, instead, the activation of the corresponding BWP is done at the time of SCell activation.
If the network doesn’t want to impose a BWP switch, the network does not include the field firstActiveDownlinkBWP-Id/firstActiveUplinkBWP-Id in RRC (re-) configuration.
BWP switching by PDCCH (DCI):
The BWP switching can be controlled by the PDCCH indicating a downlink assignment or an uplink grant.
As discussed in the post LTE: DCIFormats in 5G NR, DCI formats 0_1 (uplink grant) and DCI format 1_1 (downlink assignment) are used to indicate BWP to be used.
The field Bandwidth Part Indicator indicates the BWP in which the frequency resources provided via this DCI are located. This field if configured, can take 1 or 2 bits depending upon the number of UL/DL BWPs configured by RRC, excluding the initial UL/DL BWP.
If bandwidth part indicator field in DCI format 0_1 indicates an UL BWP different from the currently active UL BWP, the UE shall set the active UL BWP to the UL BWP indicated by this field in the DCI format 0_1.
If bandwidth part indicator field in DCI format 1_1 indicates a DL BWP different from the currently active DL BWP, the UE shall set the active DL BWP to the DL BWP indicated by this field in the DCI format 1_1.
If a UE does not support active BWP change via DCI, the UE ignores the bit field Bandwidth Part Indicator.
BWP switching upon the expiry of ‘Inactivity Timer:
The network may configure an inactivity timer (bwp-InactivityTimer), which is used to switch the active downlink BWP after an amount of inactivity specified by the timer field bwp-InactivityTimer.
The expiry of the inactivity timer associated to a cell switches the active BWP to a default BWP configured by the network (if configured). If the default downlink BWP is not configured, the switching happens to initial downlink BWP.
The BWP switching mechanism in association with inactivity timer is illustrated below;

The value of bwp-InactivityTimer range from 3 ms to 2.56 seconds (as shown below).
bwp-InactivityTimer
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}
When the network releases the timer configuration, the UE stops the timer without switching to the default BWP.
Note that the inactivity timer is used to switch only the downlink BWP but not the uplink BWP.
BWP switching by MAC entity upon initiation of Random Access procedure:
The MAC entity, upon initiation of an RA procedure on a serving cell, may perform BWP switching as explained below.
The procedure to be followed depends upon whether or not PRACH occasions are configured for the active UL BWP.
Case1: PRACH occasions are not configured for the active UL BWP:
For uplink, as PRACH occasions are not configured for active UL BWP, the MAC layer switches the active UL BWP to initial uplink BWP.
For downlink, switching will happen only if the serving cell is SpCell; in this case, the active DL BWP should also be switched to initial downlink BWP.
Case2: PRACH occasions are configured for the active UL BWP:
For uplink, as PRACH occasions are configured for active UL BWP, no need to switch active UL BWP.
For downlink, switching will happen only if the serving cell is SpCell and only if the bwp-id of active DL BWP is different from the bwp-id of active UL BWP; in this case, the active DL BWP should also be switched to same bwp-id as the active UL BWP. The ultimate goal here is to bring both active UL BWP and active DL BWP on to the same bwp-id.
The following figure illustrates both Case1 and Case2;

After performing appropriate BWP switching (Case1 or Case2), the UE performs RA procedure on the activated DL BWP of the SpCell and activated UL BWP of the serving cell on which RA procedure is triggered.

Reference: 3GPP TS 38.212, 38.213, 38.214, 38.321, 38.300, and 38.331