# 5G NR Bandwidth Part

In 4G/LTE, UEs support the maximum possible bandwidth of 20MHz. In 5G, transmission can go up to 400MHz per carrier. It's impractical to expect every UE to support such a high bandwidth. Therefore by design, it's possible for a 5G UE to communicate on a bandwidth smaller than the cell's channel bandwidth. This smaller portion is what's called Bandwidth Part (BWP).

Via RRC signalling, a UE is configured with multiple BWPs, in downlink and uplink. At PHY layer, the network dynamically activates a BWP for transmission or reception. Through such dynamic adaptation, BWPs allow a 5G system to use radio resources optimally to suit current needs.

In 4G and 5G, carrier aggregation is possible, which allows UEs to aggregate bandwidth across carriers. This article is concerned with only bandwidth parts configured on a single carrier.

## Discussion

• What are the benefits of having bandwidth parts in 5G NR?

Bandwidth Part allows us to design chipsets and UEs of a lower bandwidth capability. Mandating a UE to always use a high bandwidth also leads to higher energy usage.

Compare 20MHz of LTE versus 100MHz (FR1) of 5G. Apart from the higher bandwidth, 5G's higher sub-carrier spacing translates to lower symbol duration, higher clock speeds and therefore higher power consumption. In FR2 mmWave spectrum, power consumption increases further due to antenna arrays and other RF components. At lower data rates, 5G at 100MHz has a lower power efficiency compared to 4G. The use of BWPs overcomes this.

Allocating a single bandwidth to a UE is also not the best use of radio resources. Bandwidth Part allows for dynamic adaptation. For example, consider three service requirements: eMBB/100Mbps/1ms, eMBB/15Mbps/0.5ms, URLLC/7Mbps/0.25ms. To meet these, a UE is configured with three BWPs, each with a different numerology, MIMO configuration, modulation, and so on. For example, B1 has more resource blocks and bandwidth to achieve 100Mbps; B3 has smaller bandwidth but gives lower latency due to a higher numerology.

• What are some allocation scenarios of BWPs?

A BWP is a contiguous set of Resource Blocks (RBs). It starts at a common RB and spans a specified number of RBs. Numerology, which determines sub-carrier spacing and cyclic prefix, is also an essential BWP configuration.

Some allocation scenarios are illustrated in the figure. In the simplest case of (a), a reduced BWP is configured for a UE of a lower bandwidth capability. Scenario (b) is useful for a UE having bursty traffic. When more data is to be sent, BWP2 is used. Note that even if BWP1 and BWP2 overlap, only one of them active at a time.

Scenario (c) shows two BWPs with different numerology, each meeting different service requirements. While Physical Resource Blocks (PRBs) of a BWP are all contiguous, there's no requirement that two BWPs have to be contiguous. This is apparent in scenario (d) where other services can be introduced between BWP1 and BWP2, although this option is not part of Release 15.

• What are some technical details about BWP?

A UE can be configured with a maximum of four BWPs in downlink and another four in uplink. This is in addition to the initial BWPs configured via SIB1. Like UL, there's also Supplementary Uplink (SUL). UE can have four BWPs in SUL.

Even with multiple configured BWPs, only one is active at any one time; that is, UE transmits and receives within its active BWP and nowhere else. DL PDSCH/PDCCH/CSI-RS are received only within the active DL BWP but UE can use measurement gaps to perform measurements outside the active BWP. UL PUSCH/PUCCH are sent by UE only with the active UL BWP.

BWP switching means deactivating the currently active BWP and activating another configured BWP. In TDD, DL and UL BWPs differ only by the transmission bandwidth and numerology; and they're switched together.

There's also default BWP configured for DL and UL. If not configured, initial BWP is used as default. Default is used when there's not much to send/receive to/from the UE. It's activated when an inactivity timer expires.

• How does a UE use BWP in RRC idle mode and RRC connected mode?

A UE's access to the network starts with acquiring the Synchronization Signal Block (SSB) that consists of PSS, SSS and PBCH. This spans 4 OFDM symbols and 20 RBs. It contains the MIB.

MIB contains CORESET#0 configuration. This is used by UE to infer the initial DL BWP. UE receives and decodes the CORESET#0, which contains SIB1. SIB1 sets the initial BWP for both DL and UL. Initial BWP is named BWP#0. DL BWP#0 is configured such that it encompasses CORESET#0.

RACH access happens with UL BWP#0. Network responds with DL BWP#0 until RRC connection happens. Once RRC connection happens, UE can be configured with UE-specific BWPs.

The figure shows BWP#0 (24 RBs), BWP#1 (270 RBs) and default DL BWP#2 (52 RBs). This is an FDD example: DL switches to BWP#2 but UL stays at BWP#1. In TDD, BWP switching happens together for both DL and UL.

• How does BWP adaptation or switching happen?

When a UE moves from idle mode to RRC connected mode, RRC signalling can configure UE-specific BWPs. RRC configuration or reconfiguration message may specify one of these to be activated. If so, the UE will do BWP switching. Due to RRC processing delay, this can be in the order of tens of milliseconds.

Once UE is configured with multiple BWPs, network can command UE to switch BWP using Downlink Control Information (DCI) in PDCCH. DCI format 1_1 for downlink assignment and format 0_1 for uplink grant are used. These formats contain the BWP indicator that can take 1 or 2 bits. If more than 2 BWPs are configured, 2-bit indicator is used.

The third way of switching is when BWP inactivity timer expires, which triggers a switch to default BWP. The timer ranges from 2-2560ms. It's maximum value relates to DRX inactivity timer.

• What's CORESET and how is it relevant to BWP?

Control Resource Set (CORESET) is where the UE searches for downlink control signals. Like BWP, it's smaller than the carrier bandwidth. A CORESET can be anywhere but a UE is expected to process only CORESETs that are within its active BWPs. CORESETs are configured at cell level so that the configuration can be reused for any applicable BWP.

CORESET is where UE searches for PDCCH, though the network doesn't necessarily transmits PDCCH on every CORESET. Whereas in LTE, control region spans the entire carrier bandwidth, 5G NR optimizes this via CORESET.

LTE control region can vary and is specified by PCFICH. In 5G NR, CORESET size is configured via RRC signalling. CORESET spans up to three OFDM symbols. CORESET at the start of the slot facilitates scheduling decisions. CORESET at other places may be useful to reduce latency. In the frequency domain, CORESET is in multiple of six RBs.

A BWP can have up to three CORESETs. CORESETs are common or UE specific. Configured via MIB, CORESET#0 is used for SIB1 scheduling. After RRC connection, UE-specific CORESETs may be configured.

## Milestones

Mar
2016

3GPP completes the standardization of LTE Advanced Pro (Release 13). While previous LTE releases required a UE to support full carrier bandwidth, Release 13 introduces eMTC (enhanced Machine Type Communication). This defines LTE Cat-M1 UE that can operate on a bandwidth of 1.08MHz (6 PRBs) within a normal LTE deployment or 1.4MHz in standalone deployment. Thus, LTE recognizes the need that some UE devices may have lower bandwidth requirement or capability and therefore need not receive on the full carrier bandwidth.

Dec
2017

3GPP publishes Release 15 "early drop". In this release, the term Carrier Bandwidth Part is used.

Jun
2018

3GPP publishes Release 15 "main drop". In this release, the term Bandwidth Part (BWP) is used. This change in name occurred in March 2018. In principle, if the UE is able to support it, multiple bandwidth parts with different numerology can be active at the same time. But in Release 15, only one BWP (in each direction) can be active at a time.

Jul
2020

3GPP publishes Release 16 specifications. There's no change to BWP. A UE can have only one active BWP in each direction.

## Sample Code

• % Source: https://in.mathworks.com/help/5g/ug/downlink-carrier-waveform-generation.html
% Accessed 2021-02-14

% Bandwidth parts configurations
bwp = {nrWavegenBWPConfig(),nrWavegenBWPConfig()};
bwp{1}.BandwidthPartID = 1;        % Bandwidth part ID
bwp{1}.SubcarrierSpacing = 15;     % BWP subcarrier spacing
bwp{1}.CyclicPrefix = 'Normal';    % BWP cyclic prefix for 15 kHz
bwp{1}.NSizeBWP = 25;              % Size of BWP
bwp{1}.NStartBWP = 12;             % Position of BWP, relative to point A (i.e. CRB)

bwp{2}.BandwidthPartID = 2;        % Bandwidth part ID
bwp{2}.SubcarrierSpacing = 30;     % BWP subcarrier spacing
bwp{2}.CyclicPrefix = 'Normal';    % BWP cyclic prefix for 30 kHz
bwp{2}.NSizeBWP = 50;              % Size of BWP
bwp{2}.NStartBWP = 51;             % Position of BWP, relative to point A (i.e. CRB)

% CORESET and search space configurations
coresets = {nrCORESETConfig()};
coresets{1}.CORESETID = 1;                      % CORESET ID
coresets{1}.Duration = 3;                       % CORESET symbol duration (1,2,3)
coresets{1}.FrequencyResources = [1 1 0 1];     % Bitmap indicating blocks of 6 PRB
% for CORESET (RRC - frequencyDomainResources)
coresets{1}.CCEREGMapping = 'noninterleaved';   % Mapping: 'interleaved' or 'noninterleaved'
coresets{1}.REGBundleSize = 3;                  % L (2,6) or (3,6)
coresets{1}.InterleaverSize = 2;                % R (2,3,6)
coresets{1}.ShiftIndex = waveconfig.NCellID;    % Set to NCellID

searchspaces = {nrSearchSpaceConfig()};
searchspaces{1}.SearchSpaceID = 1;              % Search space ID
searchspaces{1}.CORESETID = 1;                  % CORESET associated with this search space
searchspaces{1}.SearchSpaceType = 'ue';         % Search space type, 'ue' or 'common'
searchspaces{1}.SlotPeriodAndOffset = [5,0];    % Allocated slot period and slot offset of search space pattern
searchspaces{1}.Duration = 2;                   % Number of slots in the block of slots in pattern period
searchspaces{1}.StartSymbolWithinSlot = 0;      % First symbol of each CORESET monitoring opportunity in a slot
searchspaces{1}.NumCandidates = [8 8 4 2 0];    % Number of candidates at each AL
% (set to 0 if the AL doesn't fit in CORESET)


Author
No. of Edits
No. of Chats
DevCoins
5
0
1433
1445
Words
3
Likes
11568
Hits

## Cite As

Devopedia. 2021. "5G NR Bandwidth Part." Version 5, March 8. Accessed 2023-02-11. https://devopedia.org/5g-nr-bandwidth-part
Contributed by
1 author

Last updated on
2021-03-08 03:49:54
• Site Map