Search Space Set

The modules provides the classes and functions that implement Search Space Set.

Search Space is defined as the predefined region in which UE perform the blind decoding. In the PDCCH region in DL radio frame, there can be many places where a specific PDCCH is located and UE searches all the possible locations. The possible location for a PDCCH differs depending on whether the PDCCH is Common or UE-specific, and also depend on what aggregation level is used. Set of all the possible location for PDCCH is called Search Space Set and each of the possible location is called a PDCCH Candidate. The search space indicates the set of CCE locations where the UE may find its PDCCHs.

There are two types of search space : the common search space and the UE-specific search space. A UE is required to monitor both common and UE-specific search space.

The common search space would carry the DCIs that are common for all UEs. For example, system information (using the SI-RNTI), paging (P-RNTI), PRACH responses (RA-RNTI), or UL TPC commands (TPC-PUCCH/PUSCH-RNTI). The UE monitors the common search space using aggregation level 4 and 8. Maximum number of CCEs present in common search space is 16.

The UE-specific search space can carry DCIs for UE-specific allocations using the UE’s assigned C-RNTI. The UE monitors the UE-specific search space at all aggregation levels {1, 2, 4, and 8}.

class toolkit5G.ResourceMapping.SearchSpaceSet(numerology=0, searchSpaceType='CSS')[source]

A class for generating Search Space Set (SEARCHSPACESET). Search Space is defined as the predefined region in which UE perform the blind decoding. Within the search space, a UE performs blind decoding because it does not know the aggregation level, the position of the PDCCH within the set of CCEs, or the format, size of the DCI. A Search Space Set (SSSET) uses a Control Resource Set (CORESET) to define the specific Resource Blocks (RBs) and symbols where the UE attempts to decode the PDCCH. Number of CCE indices serached by a UE in a radio frame for a particular search space are defined as PDCCH candidates. Each PDCCH can have a different aggregation level, and each aggregation level can have a different PDCCH candidate assigned to it with in a search space. A UE determines a PDCCH monitoring occasion on an active Down Link (DL) BandWidth Part (BWP) from the PDCCH monitoring periodicity, the PDCCH monitoring offset, and the PDCCH monitoring pattern within a slot. Base station transmits PDCCH to UE using Resource Elements (REs) within a Control Resource Set (CORESET).

Parameters:
  • numerology (int) – Specifies the numerology (mu) or sub-carrier spacing (SCS) in 5G-NR. Must be a positive int and defaults to 0. i.e., with a SCS of 15 KHz. Supported numerology are {0,1,2,3}, which correspond to a SCS of {15,30,60,120} KHz respectively.

  • searchSpaceType (str) – Specifies the type of search space set from section 10.1 of TS 38.213 about UE procedure for determining physical downlink control channel assignment. Must be either a Common Search Space (“CSS”) set or a UE Specific SearchSpace (“USS”) set.

Input:
  • monitoringPeriodicity (int) – A PDCCH monitoring periodicity of ks slots by monitoringSlotPeriodicityAndOffset of section 10.1 of 3GPP TS 38.213. Specifies the periodicity in slot indices with an offset of os slots, where the UE monitors for search space set in every radio frame. Must be a positive int and take any value from the set {1,2,4,5,8,10,16,20,40,80,160,320,640,1280,2560} slots.

  • monitoringOffset (int) – A PDCCH monitoring offset of os slots by monitoringSlotPeriodicityAndOffset of section 10.1 of 3GPP TS 38.213. Specifies the offset in number of slots from the starting slot index of first radio frame, where a UE monitors for search space set or PDCCH candidates. Must be a positive int and take any value in the range of 0 to monitoringPeriodicty-1.

  • searchSpaceSetDuration (int) – Duration of search space set or Ts < ks slots indicating a number of slots that the search space set s exists from section 10.1 of 3GPP TS 38.213. Must be a positive int and should not exceed monitoringPeriodicity and lie in the range of [2,monitoringPeriodicity] if monitoringPeriodicity>2.

  • aggregationLevel (int) – Specifies the aggregation level. The aggregation level corresponds to number of Control Channel Elements (CCEs) per PDCCH. Must be a positive int. Aggregation level from 3GPP TS 38.211 Section 7.3.2. Supported PDCCH aggregation levels are {1,2,4,8,16}. Note that when searchSpaceType is “CSS”, supported aggregation levels are further restriced to {4,8,16} and for “USS” all are supported.

  • coresetDuration (int) – Number of symbols configured for CORESET. Contiguous time duration of the CORESET in number of symbols. Must be a positive int and takes value from the set {1,2,3}.

Attributes:
  • numCandidates (int) – Number of PDCCH candidates per CCE aggregation level. For Common Search Space Set (“CSS”) aggregation level belongs to any one from the set {4,8,16} and correspondingly numCandidates is {4,2,1} respectively. For UE Specific Search Space Set (“USS”) aggregation level belongs to any one from the set {1,2,4,8,16} and numCandidates can take any value from the set {0,1,2,3,4,5,6,8}.

  • pdcchMonitoringSlotIndices (NumPy.ndarray) – Specifies an integer array of slot indices, where UE monitors for Search Space Sets or PDCCH candidates in allocated radio frames.

  • pdcchMonitoringSymbolsWithinSlot (NumPy.ndarray) – Specifies a PDCCH monitoring pattern within a slot, indicating first symbol(s) of the CORESET within every slot given by pdcchMonitoringSlotIndices. It a bit string of size 14, where each bit represents one symbol with in a slot. The bit(s) set to one identify the first OFDM symbol(s) of the CORESET within a slot. Depending on the coresetDuration it will take a valid bit string of size 14.

An example of CORESET is given below. After instatiation of the class SearchSpaceSet, user can fetch the PDCCH monitoring slots and monitoring symbols with in a slot.

Example:

# numerology
>>> mu = 0
# Number of Slots Per Radio Frame for a choosen numerology.
>>> numOfSlotsPerFramePerNumerology  = (2**mu)*10
# Type of search space set choosen. Here we choose Common Search Space or "CSS"
>>> ssType = "CSS"
# Aggregation Level
>>> AL = 4
# duration of CORSET in number of symbols
>> coresetDuration = 2
# REG bundle Size
#########################################
# PDCCH monitoring periodicity : ks slots
#########################################
>>> ks = 20
####################################
# PDCCH monitoring offset : os slots
####################################
>> os = 0
############################################################################################
# duration of search space set in  terms of number of slots : Ts slots and Ts<=ks for ks>=2
############################################################################################
>> Ts = 3
# Instanstiating SearchSpaceSet object with above choosen parameters.
>>> sssObj = SearchSpaceSet(mu,ssType)
>>> sssObj(ks,os,Ts,AL,coresetDuration)
# PDCCH monitoring slots
>>> sssObj.pdcchMonitoringSlotIndices
# PDCCH Monitoring Symbols With in a slot
>>> sssObj.pdcchMonitoringSymbolsWithinSlot
References:
[3GPPTS38213_SearchSpaceSet]

(3GPP TS 38.213 version 17.5.0 Release 17) 5G;NR;Physical layer procedures for control ‘10.1 UE procedure for determining physical downlink control channel assignment’