5G/NR  -  Numerology / SCS (Sub Carrier Spacing)  

 

 

 

Numerology / SCS (Subcarrier Spacing) in a Nutshell

 

  • Numerology refers to a physical waveform characteristics in terms of subcarrier spacing and corresponding time domain length. We can describe Numerology in a few different perspective as follows.
    • Subcarrier Spacing: In 5G NR, the subcarrier spacing can vary from 15 kHz to 960 kHz as of release 17. The larger subcarrier spacings allow for lower latency and support higher-frequency bands, while smaller spacings are suitable for lower-frequency bands and increased coverage.
    • Symbol Duration: The symbol duration in 5G NR is inversely proportional to the subcarrier spacing. A larger subcarrier spacing results in a shorter symbol duration, enabling faster data transmission and lower latency.
    • Scalable Numerology: The flexibility in 5G numerology allows for the system to adapt to different deployment scenarios, frequency bands, and use cases, ranging from low-bandwidth, wide-area coverage to high-bandwidth, low-latency applications.
  • 5G numerology provides the foundation for the flexible and adaptive nature of 5G NR, enabling it to support a wide range of use cases and deployment scenarios.

Numerology / SCS (Subcarrier Spacing) in Detail

Numerology in 5G/NR refers to Sub Carrier Spacing (SCS). As of Release 17, there are 7 types of numberology (SCS 15, 30, 60, 120, 240, 480, 960 Khz).

Even though Numerology is one of the most widely discussed item at 3GPP RAN1 meeting before NR Technical Specification is finalized, it sounds very vague to me. I think I understand what it indicates, but I still don't understand the meaning of Numerology in ordinary dictionary can be associated with what it means in NR.

Definition of Numerology

The very simple defination of Numerology based on the usage of the term in 3GPP specification would be 'subcarrier spacing  type', also often called as SCS. In LTE, we don't need any specific terminology to indicate the subcarrier spacing since there is only one subcarrier spacing, but in NR there are several different types of subcarrier spacing

As of release 17, there are 7 numerology (SCS: Subcarrier Spacing) as shown below. (NOTE : it would be possible to had additional numerology if we support much higher mmWave frequency in future release)

< 38.211 v17.2- Table 4.2-1: Supported transmission numerologies >

To help you understand the meaning of each numerology more intuitively I tried to visualize the table as follows.  (NOTE: Numberology 5 was defined in an early specification, but removed from the specification.)

Numerology and Supported Channels

Not every numerology can be used for every physical channel and signals. That is, there is a specific numerologies that are used only for a certain type of physical channels even though majority of the numerologies can be used any type of physical channels. Following table shows which numerologies can be used for which physical channels.

< 38.300-Table 5.1-1: Supported transmission numerologies and additional info.>

Numerology

Subcarrier Spacing

(kHz)

CP type

Supported for Data

(PDSCH, PUSCH etc)

Supported for Sync

(PSS,SSS,PBCH)

PRACH

N/A

1.25

 

No

No

Long Preamble

N/A

5

 

No

No

Long Preamble

0

15

Normal

Yes

Yes

Short Preamble

1

30

Normal

Yes

Yes

Short Preamble

2

60

Normal,Extended

Yes

No

Short Preamble

3

120

Normal

Yes

Yes

Short Preamble

4

240

Normal

No

Yes

 

5

480

Normal

Yes

Yes

 

6

960

Normal

Yes

Yes

 

Numerology in RRC message

Numerology selection is not a static. Different numerology (Subcarrier Spacing) can be used in various different situation and purpose. The subcarrier spacing for different situation and purpose is defined in various places in RRC messages as follows.

Message/ASN Sequence

IE

Description

MIB

subCarrierSpacingCommon

Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages

BandwidthPart-Config

subcarrierSpacing

Subcarrier spacing to be used in this BWP. It is applied to at least PDCCH, PDSCH and corresponding DMRS

LogicalChannelConfig

allowedSubCarrierSpacing

 

ReferenceSignalConfig

subcarrierSpacing

 

CSI-RS-ResourceConfig-Mobility

subcarrierSpacing

subcarrier spacing of CSI-RS. It can take the same values available also for the data channels and for SSB

RACH-ConfigCommon

msg2-SubcarrierSpacing

 

RACH-ConfigCommon

msg3-SubcarrierSpacing

 

RACH-ConfigDedicated

rar-SubcarrierSpacing

 

ServingCellConfigCommon

subcarrierSpacingCommon

Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages.

Values 15, and 30 kHz are applicable for carrier frequencies < 6GHz; Values 60 and 120 kHz are applicable for carrier frequencies > 6GHz

ServingCellConfigCommon

subcarrierSpacingSSB

Subcarrier spacing of SSB. Used only for non-initial access (e.g. SCells, PCell of SCG).

If the field is absent the UE shall assume the default value of the band.

BasebandParametersPerCC

subCarrierSpacing

 

Why different Numerologies ?

Now you have some important questions on NR Numerology design. You might have these questions even before you went through all the details described above. The question that I had when I first heard of this kind of multiple numerology (basically multiple subcarrier spacing) was 'WHY we need this kind of multiple numerologies ?'.

One thing for sure is that it is not for making your life difficult as an engineer. Then, what would be other (more technical) reason ?

More technical (practical reason) is

  • NR should cover very wide range of operating frequency (e.g, sub 3 Ghz, sub 6 Ghz and mmWave(over 25 Ghz).
  • Due to physics, it is hard (almost impossible) to come up with single numerology (subcarrier space) that can cover the whole of these range without sacrificing too much of efficiency or performance.

Can you be more specific ?

  • In OFDM, number of subcarrier that can be packed into a specific frequency range is directly related to spectrum efficiency (how many bits can be transmitter per Hz per second). The more subcarriers you can pack into a frequency range (i.e, the narrow subcarrier spacing you use), the more data you can transmit (or recieve).
  • Based on Physics(anti-proportional relationship between subcarrier spacing and OFDM symbo length), Narrow subcarrier spacing means longer OFDM symbol length. With longer OFDM symbol, we can assign more room for CP(Cyclick Prefic). With longer CP, we can make the signal more tolerable to fading channel(Ref [33]).
  • In lower frequency (like sub 3Ghz, sub 6 Ghz), we don't have much wide band spectrum left for this new technology. In order to pack as many subcarriers as possible in these limited spectrum, we need to get subcarrier spacing as small as possible. That's why we use small subcarrier spacing like 15 Khz, 30 Khz, 60 Khz in NR numerology.
  • Then, why we don't use even smaller subcarrier like 10 Khz, 5 Khz etc ? As you know, in OFDM maintaining orthogonolity between subcarriers is critical (See Overview section of OFDM page). The transmitted signal would go through various fading channel causing the drift of each subcarrier and the degree of the drift gets even more serious when the transmitter or reciever moves faster. So the narrower of subcarrier spacing you use, the tolerance to fading gets weaker.
  • Then we need very wide subcarrier spacing like 120 Khz or 240 Khz ? It is for the operation in very high frequency like mmWave. As carrier frequency gets higher, the degree of frequency drift by moving transmitter or reciever gets higher (i.e, Doppler spread gets wider as carrier frequency gets higher). To tolerate this kind of wide range of frequency drift (or shift), we need to use wider subcarrier spacing.
  • There is another reason for wider subcarrier spacing in mmWave. For the reason as explained here, we would use beamforming (Massive MIMO based beamforming), for the implementaion of beamforming controlling the phase of the signal is critical and it is difficult to control the phase of the signal with narrow subcarrier spacing (Ref [33]).
  • As frequency goes higher, the degree of phase noise would increase. So we need to implement more sophisticated mechanism for phase noise estimation and correction. It is easier to implement this kind mechanism with wider subcarrier spacing(Ref [33]).  

UE Capability

FeatureSetDownlinkPerCC ::= SEQUENCE {

   supportedSubcarrierSpacingDL               SubcarrierSpacing,

   supportedBandwidthDL                       SupportedBandwidth,

   channelBW-90mhz                            ENUMERATED {supported} OPTIONAL,

   maxNumberMIMO-LayersPDSCH                  MIMO-LayersDL OPTIONAL,

   supportedModulationOrderDL                 ModulationOrder OPTIONAL

}

supportedSubcarrierSpacingDL : Defines the supported sub-carrier spacing for DL by the UE indicating the UE supports simultaeous reception with same or different numerologies in CA. Note the UE shall support all mandated sub-carrier spacing for FR1/FR2. Same numerology for intraband NR CA including both continuous and non-continuous is mandatory with capability in both FR1 and FR2. Two mixed numerologies between FR1 band(s) and FR2 band(s) in DL are mandatory with capability if UE supports inter-band NR CA including both FR1 band(s) and FR2 band(s). Optional for other cases.

RRC Configuration

Followings are the RRC configuration that specifies numerology (subcarrier spacing). I would just put a couple of examples of RRC configurations without much detailed explanation. Just taking a look at the example would be self explanatory.  The RRC message snippet shown here is from Amarisoft Callbox log.

SA

 

< SIB 1 >

{

  message c1: systemInformationBlockType1: {

    cellSelectionInfo {

    ...

    },

    cellAccessRelatedInfo {

     ...

    },

    connEstFailureControl {

     ...

    },

    servingCellConfigCommon {

      downlinkConfigCommon {

        frequencyInfoDL {

          frequencyBandList {

            {

              freqBandIndicatorNR 78

            }

          },

          offsetToPointA 24,

          scs-SpecificCarrierList {

            {

              offsetToCarrier 0,

              subcarrierSpacing kHz30,

              carrierBandwidth 51

            }

          }

        },

        initialDownlinkBWP {

          genericParameters {

            locationAndBandwidth 13750,

            subcarrierSpacing kHz30

          },

          ...

      },

      uplinkConfigCommon {

        frequencyInfoUL {

          scs-SpecificCarrierList {

            {

              offsetToCarrier 0,

              subcarrierSpacing kHz30,

              carrierBandwidth 51

            }

          },

          p-Max 10

        },

        initialUplinkBWP {

          genericParameters {

            locationAndBandwidth 13750,

            subcarrierSpacing kHz30

          },

          rach-ConfigCommon setup: {

            rach-ConfigGeneric {

              ...

            },

            ...

            msg1-SubcarrierSpacing kHz30,

            restrictedSetConfig unrestrictedSet

          },

          ...

      },

      ssb-PositionsInBurst {

        inOneGroup '80'H

      },

      ssb-PeriodicityServingCell ms20,

      tdd-UL-DL-ConfigurationCommon {

        referenceSubcarrierSpacing kHz30,

        pattern1 {

          ...

        }

      },

      ss-PBCH-BlockPower -28

    },

    ...

 

 

< RRCSetup >

: This part may come in many different variations. For example, some gNB would configure this in RrcSetup or RrcReconfiguration if it want to configures only one BWP. Some gNB would configure this in RrcReconfigration instead of RrcSetup. Some gNB would configure multiples of this configuration (maximum up to 4 BWPs).

{

  message c1: rrcSetup: {

    rrc-TransactionIdentifier 0,

    criticalExtensions rrcSetup: {

      radioBearerConfig {

        ...

      },

      masterCellGroup {

        ...

        },

        mac-CellGroupConfig {

          ...

        },

        physicalCellGroupConfig {

          ...

        },

        spCellConfig {

          spCellConfigDedicated {

            initialDownlinkBWP {

              pdcch-Config setup: {

                ...

              },

              pdsch-Config setup: {

                ...

            },

            downlinkBWP-ToAddModList {

              {

                bwp-Id 1,

                bwp-Common {

                  genericParameters {

                    locationAndBandwidth 28875,

                    subcarrierSpacing kHz30

                  },

                  pdcch-ConfigCommon setup: {

                    ...

                  },

                  pdsch-ConfigCommon setup: {

                    ...

                  }

                },

                bwp-Dedicated {

                  pdcch-Config setup: {

                    ...

                  },

                  pdsch-Config setup: {

                    ...

                }

              }

            },

            firstActiveDownlinkBWP-Id 0,

            uplinkConfig {

              initialUplinkBWP {

                pucch-Config setup: {

                  ...

                  

                },

                pusch-Config setup: {

                  ...

                },

                srs-Config setup: {

                  ...

                }

              },

              uplinkBWP-ToAddModList {

                {

                  bwp-Id 1,

                  bwp-Common {

                    genericParameters {

                      locationAndBandwidth 28875,

                      subcarrierSpacing kHz30

                    },

                    pusch-ConfigCommon setup: {

                      ...

                    },

                    pucch-ConfigCommon setup: {

                      ...

                    }

                  },

                  bwp-Dedicated{

                    pucch-Config setup: {

                      ...

                    },

                    pusch-Config setup: {

                      ...

                    },

                    srs-Config setup: {

                      ...

                      }

                    }

                  }

                }

              },

              firstActiveUplinkBWP-Id0,

              pusch-ServingCellConfig setup: {

              }

            },

NSA

 

< RrcConnectionReconfiguration >

 

{

  message c1: rrcConnectionReconfiguration: {

    rrc-TransactionIdentifier 0,

    criticalExtensions c1: rrcConnectionReconfiguration-r8: {

      ...

      },

      nonCriticalExtension {

        nonCriticalExtension {

          nonCriticalExtension {

            nonCriticalExtension {

              nonCriticalExtension {

                nonCriticalExtension {

                  nonCriticalExtension {

                    nonCriticalExtension {

                      nr-Config-r15 setup: {

                        endc-ReleaseAndAdd-r15 FALSE,

                        nr-SecondaryCellGroupConfig-r15 {

                          rrc-TransactionIdentifier 0,

                          criticalExtensions rrcReconfiguration: {

                            secondaryCellGroup {

                              cellGroupId 1,

                              rlc-BearerToAddModList {

                                {

                                  ...

                                }

                              },

                              mac-CellGroupConfig {

                                ...

                              },

                              physicalCellGroupConfig {

                                pdsch-HARQ-ACK-Codebook dynamic

                              },

                              spCellConfig {

                                servCellIndex 1,

                                reconfigurationWithSync {

                                  spCellConfigCommon {

                                    physCellId 500,

                                    downlinkConfigCommon {

                                      frequencyInfoDL {

                                        absoluteFrequencySSB 632256,

                                        frequencyBandList {

                                          78

                                        },

                                        absoluteFrequencyPointA 632016,

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz30,

                                            carrierBandwidth 51

                                          }

                                        }

                                      },

                                      initialDownlinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 13750,

                                          subcarrierSpacing kHz30

                                        },

                                        pdcch-ConfigCommon setup: {

                                          ...

                                        },

                                        pdsch-ConfigCommon setup: {

                                          ...

                                        }

                                      }

                                    },

                                    uplinkConfigCommon {

                                      frequencyInfoUL {

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz30,

                                            carrierBandwidth 51

                                          }

                                        }

                                      },

                                      initialUplinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 13750,

                                          subcarrierSpacingkHz30

                                        },

                                        rach-ConfigCommon setup: {

                                          rach-ConfigGeneric {

                                            ...

                                          },

                                          ...

                                          msg1-SubcarrierSpacing kHz30,

                                          ...

                                        },

                                        pusch-ConfigCommon setup: {

                                          pusch-TimeDomainAllocationList {

                                            ...

                                        },

                                        pucch-ConfigCommon setup: {

                                          ...

                                        }

                                      },

                                      dummy ms500

                                    },

                                    ssb-PositionsInBurst mediumBitmap: '80'H,

                                    ssb-periodicityServingCell ms20,

                                    dmrs-TypeA-Position pos2,

                                    ssbSubcarrierSpacing kHz30,

                                    tdd-UL-DL-ConfigurationCommon {

                                      referenceSubcarrierSpacing kHz30,

                                      pattern1 {

                                        ...

                                      }

                                    },

                                    ss-PBCH-BlockPower -28

                                  },

                                  newUE-Identity 17921,

                                  t304 ms1000

                                },

                                rlf-TimersAndConstants setup: {

                                  ...

                                },

                                spCellConfigDedicated {

                                  initialDownlinkBWP {

                                    pdcch-Config setup: {

                                      ...

                                    },

                                    pdsch-Config setup: {

                                      ...

                                    },

                                    radioLinkMonitoringConfig setup: {

                                      ...

                                  },

                                  firstActiveDownlinkBWP-Id 0,

                                  uplinkConfig {

                                    initialUplinkBWP {

                                      pucch-Config setup: {

                                        ...

                                      },

                                      pusch-Config setup: {

                                        ...

                                      },

                                      srs-Config setup: {

                                        ...

                                      }

                                    },

                                    firstActiveUplinkBWP-Id 0,

                                    pusch-ServingCellConfig setup: {

                                    }

                                  },

                                  pdcch-ServingCellConfig setup: {

                                  },

                                  pdsch-ServingCellConfig setup: {

                                    ...

                                  },

                                  ...

                              }

                            }

                          }

                        }

                      },

   ...

Reference

[1] 3GPP R1-166225. 3GPP TSG RAN WG1 Meeting #86 - Considerations on numerology for support of flexible guard lengths

[2] 3GPP R1-166346. 3GPP TSG RAN WG1 Meeting #86 - Forward compatibility consideration for NR frame structure

[3] 3GPP R1-166360. 3GPP TSG RAN WG1 Meeting #86 -  URLLC numerology and frame structure design

[4] 3GPP R1-166363. 3GPP TSG RAN WG1 Meeting #86 - Scaled Numerology Control Design for NR

[5] 3GPP R1-166364 . 3GPP TSG RAN WG1 Meeting #86 - NR numerology scaling and alignment

[6] 3GPP R1-166471. 3GPP TSG RAN WG1 Meeting #86 - Discussion of NR Numerology

[7] 3GPP R1-166490. 3GPP TSG RAN WG1 Meeting #86 - Numerology impact on power efficiency for mMTC

[8] 3GPP R1-166637. 3GPP TSG RAN WG1 Meeting #86 - Discussion on numerology multiplexing

[9] 3GPP R1-166676. 3GPP TSG RAN WG1 Meeting #86 - TDD frame structure with mixed numerology

[10] 3GPP R1-166747. 3GPP TSG RAN WG1 Meeting #86 - Evaluation results of OFDM-based waveform in DL and UL single numerology case

[11] 3GPP R1-166748. 3GPP TSG RAN WG1 Meeting #86 - Evaluation results of OFDM-based waveform in DL and UL mixed numerology case    

[12] 3GPP R1-166749. 3GPP TSG RAN WG1 Meeting #86 - Evaluation results of OFDM-based waveform in UL single numerology and asynchronous case

[13] 3GPP R1-166753. 3GPP TSG RAN WG1 Meeting #86 - Discussion on symbol alignment across scaled numerology

[14] 3GPP R1-166754. 3GPP TSG RAN WG1 Meeting #86 - Discussion on numerology support

[15] 3GPP R1-166795. 3GPP TSG RAN WG1 Meeting #86 - Discussion on numerology aspects of NR synchronization signal

[16] 3GPP R1-166878. 3GPP TSG RAN WG1 Meeting #86 - Discussion on alignment for different numerology multiplexing

[17] 3GPP R1-166879. 3GPP TSG RAN WG1 Meeting #86 - Further evaluation results on different numerology

[18] 3GPP R1-166939. 3GPP TSG RAN WG1 Meeting #86 - Numerology evaluation results for high speed scenario

[19] 3GPP R1-166940. 3GPP TSG RAN WG1 Meeting #86 - Discussion on numerology multiplexing in NR

[20] 3GPP R1-166941. 3GPP TSG RAN WG1 Meeting #86 - On design of mixed numerology in a NR carrier

[21] 3GPP R1-167004. 3GPP TSG RAN WG1 Meeting #86 - Discussion on numerology

[22] 3GPP R1-167034. 3GPP TSG RAN WG1 Meeting #86 - On PA impact to in mixed numerology with narrow band allocation

[23] 3GPP R1-167035. 3GPP TSG RAN WG1 Meeting #86 - On PA impact to in mixed numerology with wide band allocation

[24] 3GPP R1-167040. 3GPP TSG RAN WG1 Meeting #86 - On scalable numerology  

[25] 3GPP R1-167106. 3GPP TSG RAN WG1 Meeting #86 - Phase Noise Measurement/Modeling and LLS for High Frequency Numerology

[26] 3GPP R1- 167107. 3GPP TSG RAN WG1 Meeting #86 - Discussion and Evaluation on Numerology Design for High Speed Train Scenario

[27] 3GPP R1-167218. 3GPP TSG RAN WG1 Meeting #86 - Numerology and Frame Structure for NR-Unlicensed

[28] 3GPP R1-167260. 3GPP TSG RAN WG1 Meeting #86 - Resource block and guard band arrangement supporting mixed numerology

[29] 3GPP R1-167261. 3GPP TSG RAN WG1 Meeting #86 - On resource block grouping and multi-cell coordination aspects for mixed numerology support    

[30] 3GPP R1-167394. 3GPP TSG RAN WG1 Meeting #86 - Views on NR numerology    

[31] 3GPP R1-167527. 3GPP TSG RAN WG1 Meeting #86 - Discussion on NR Numerology   

[32] 3GPP R1-167564. 3GPP TSG RAN WG1 Meeting #86 - Impact of numerology on the non-CP based waveforms

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