BWP – Bandwidth part is an important aspect for the devices which support 5G SA keeping the view of increased frequency ranges which significantly impact phone(UE) battery power. 3gpp defined FR1 and FR2 ranges as 450MHz to 6GHz and FR2 as 24.25GHz to 52.6GHz.
In india n78 is allowed/open for the operators during auction for purchase the frequency for airing 5G SA. n78 operates on 100MHz bandwidth which is almost 5 times higher to its legacy 4G which 20MHz. So any device with 5G SA capability should ideally have to scan for higher bandwidths which will ultimately impact on the battery of the device. keeping this in view the concept of BWP is coined in SA, which is mainly for power optimisation for the device by moving the device lower bandwidth i.e 20MHz when there isn’t much data activity. This is controlled by the network as when to be in BWP1 and BWP2 assume like 100MHz and 20MHz respectively.
Network can configure upto 4 BWPs max but only one will be active at any given time, for that active BWP measurements will be configured, scheduling of resources will happen by the network also it can indicate the device to move any BWP out of configured through various methods using DCI or RRC messages.
Now lets talk about infra vendors across the world either they deploy Frequency based BWP or Time based BWP. on a high level it is all about dividing the bandwidth(100 to 20MHz) or reducing the scan of in each and every slot monitoring for PDCCH.
FD BWP – Frequency domain BWP in simple terms 100MHz to 20MHz based on UE inactivity
TD BWP – Time domain BWP is about reducing the periodicity of the scan for PDCCH again based on the UE inactivity.
FD BWP:
=====
downlinkBWP-ToAddModList
{
bwp-Id 1,
bwp-Common
{
genericParameters
{
locationAndBandwidth 1099, >>> 100MHz
subcarrierSpacing kHz30
},
bwp-Dedicated
{
pdcch-Config setup :
{
controlResourceSetToAddModList
{
{
controlResourceSetId 1,
frequencyDomainResources ‘00000000 00000111 11111111 11111111 11111111 11111’B,
duration 1,
cce-REG-MappingType nonInterleaved : NULL,
precoderGranularity sameAsREG-bundle,
tci-StatesPDCCH-ToAddList
{
0
},
bwp-Id 2,
bwp-Common
{
genericParameters
{
locationAndBandwidth 13750,
subcarrierSpacing kHz30
},
bwp-Dedicated
{
pdcch-Config setup :
{
controlResourceSetToAddModList
{
{
controlResourceSetId 4,
frequencyDomainResources ‘11111111 00000000 00000000 00000000 00000000 00000’B,
duration 1,
cce-REG-MappingType nonInterleaved : NULL,
precoderGranularity sameAsREG-bundle,
tci-StatesPDCCH-ToAddList
{
0
},
TD Based BWP:
=========
bwp-Dedicated
{
pdcch-Config setup :
{
controlResourceSetToAddModList
{
{
controlResourceSetId 1,
frequencyDomainResources ‘11111111 11111111 11111111 11111111 11111111 11111’B, >>>>> 45bits and each Bir 6RBs ie total 270RBs in 100MHz
duration 1,
cce-REG-MappingType nonInterleaved : NULL,
precoderGranularity sameAsREG-bundle,
},
searchSpacesToAddModList
{
{
searchSpaceId 4,
controlResourceSetId 1,
monitoringSlotPeriodicityAndOffset sl1 : NULL, >>>monitoring every slot
monitoringSymbolsWithinSlot ‘10000000 000000’B,
nrofCandidates
{
aggregationLevel1 n5,
aggregationLevel2 n4,
aggregationLevel4 n3,
aggregationLevel8 n2,
aggregationLevel16 n2
},
bwp-Dedicated
{
pdcch-Config setup :
{
controlResourceSetToAddModList
{
{
controlResourceSetId 4,
frequencyDomainResources ‘11111111 11111111 11111111 11111111 11111111 11111’B, >>>>> frequency no change
duration 1,
cce-REG-MappingType nonInterleaved : NULL,
precoderGranularity sameAsREG-bundle,
},
searchSpacesToAddModList
{
{
searchSpaceId 5,
controlResourceSetId 4,
monitoringSlotPeriodicityAndOffset sl5 : 1, >>>> change is here monitoring of PDCCH in every 5th slot rather to every slot helps device battery based on the device inactivity.
monitoringSymbolsWithinSlot ‘10000000 000000’B,
nrofCandidates
{
aggregationLevel1 n5,
aggregationLevel2 n4,
aggregationLevel4 n3,
aggregationLevel8 n2,
aggregationLevel16 n2
},