NR DSS

 

This tutorial is about how to configure for DSS (Dynamic Spectrum Sharing) and verify it works. DSS is a mechanism by which LTE and NR share a same spectrum dynamically. Theoretically there are many different options of impementing DSS as summarized in a diagrame below. In reality, it seems that Option 2 and Option 3 are most common choice of the implementation.

NOTE : The illustration below is just to show all the possible implementation of DSS, it does not mean that all of these options are supported by Amarisoft callbox. At least, Option 2(a Non-MBSFN based DSS) and Option 3(MBSFN based DSS) can be tested with gnb-dss.cfg in .

Image Source : Sharetechnote

 

Even though Option 2 and 3 would be simpler to implement comparing to other options, there are still several factors to be considered / planned carefully to guarantee the co-operation of both LTE and NR in the same spectrum. Followings are some of these factors.

NOTE : If you want to look into further details of each of these factors, check out the note in sharetechnote.

 

 

Table of Contents

 

 

Test Setup

 

Test setup for this tutorial is as shown below.  This is just for low layer testing, you may not need any complicated IP layer setup.

 

 

 

Key Configuration Parameters

 

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

 

 

 

Configuration

 

I have used gnb-dss.cfg with minor change and sib2_3_nosrs.asn without any changes.

I am using the default mme, ims config as shown below.

I used ue-nr-dss.cfg which is copied and modifed from ue-nr-nsa.cfg on UEsim.

 

Following is the configuration in gnb-dss.cfg

This is important configuration since NR SSB is supposed to be transmitted in this MBSFN slot.

 

Following is the configuration in ue-nr-dss.cfg in UEsim.

 

 

Perform the Test

 

Check the cell configuration and see if it is configured as intended.

Power on UE and get it attached.

Generate the high rate of IP data so that you can easily verify the resource allocation between LTE and NR in WebGUI

 

 

Log Analysis

Sample Log

Confirm that UE support capability for DSS.

 

 

 

 

 

 

 

 

 

 

 

 

Spectrum Analysis

 

 

 

 

RRC / NAS Signaling

 

UE Capability Information (LTE)

: This is the UE Capability Information message sent by UE  indicating the supportability of DSS. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

 

{

  message c1: ueCapabilityInformation: {

    rrc-TransactionIdentifier 0,

    criticalExtensions c1: ueCapabilityInformation-r8: {

      ue-CapabilityRAT-ContainerList {

        {

          rat-Type nr,

          ueCapabilityRAT-Container {

            accessStratumRelease rel15,

            pdcp-Parameters {

             ...

            },

            rlc-Parameters {

              ...

            },

            mac-Parameters {

             ...

            },

            phy-Parameters {

              phy-ParametersCommon {

                ...

              },

              phy-ParametersFRX-Diff {

                ...

              },

              phy-ParametersFR1 {

                ...

              }

            },

            rf-Parameters {

              supportedBandListNR {

                {

                  bandNR 5,

                  mimo-ParametersPerBand {

                    codebookParameters {

                      type1 {

                        ...

                    },

                    csi-RS-IM-ReceptionForFeedback {

                      ...

                    },

                    csi-ReportFramework {

                      ...

                    }

                  },

                  bwp-WithoutRestriction supported,

                  bwp-SameNumerology upto4,

                  pusch-256QAM supported,

                  rateMatchingLTE-CRS supported

                }

              }

            },

            measAndMobParameters {

              ...

            },

            featureSets {

              ...

          }

        },

        ...

 

 

SIB2 (LTE)

: This is the SIB2 message sent by eNB  to support DSS. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

{

  message c1: systemInformation: {

    criticalExtensions systemInformation-r8: {

      sib-TypeAndInfo {

        sib2: {

          radioResourceConfigCommon {

            rach-ConfigCommon {

              preambleInfo {

                ...

              },

              powerRampingParameters {

                ...

              },

              ra-SupervisionInfo {

                ...

              },

              ...

            },

            bcch-Config {

              ...

            },

            pcch-Config {

              ...

            },

            prach-Config {

              ...

            },

            pdsch-ConfigCommon {

              ...

            },

            pusch-ConfigCommon {

              ...

            },

            pucch-ConfigCommon {

              ...

            },

            soundingRS-UL-ConfigCommon release: NULL,

            uplinkPowerControlCommon {

              ...

            },

            ul-CyclicPrefixLength len1

          },

          ue-TimersAndConstants {

            ...

          },

          freqInfo {

            ...

          },

          mbsfn-SubframeConfigList {

            {

              radioframeAllocationPeriod n2,

              radioframeAllocationOffset 0,

              subframeAllocation oneFrame: '100000'B

            }

          },

          ...

          plmn-InfoList-r15 {

            {

              upperLayerIndication-r15 true

            }

          }

        },

        ,,

}

 

 

SIB1 (NR)

: This is the SIB1 message sent by gNB  to support DSS. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

{

  message c1: systemInformationBlockType1: {

    cellSelectionInfo {

      ...

    },

    cellAccessRelatedInfo {

      ...

    },

    connEstFailureControl {

      ...

    },

    servingCellConfigCommon {

      downlinkConfigCommon {

        frequencyInfoDL {

          frequencyBandList {

            {

              freqBandIndicatorNR 5

            }

          },

          offsetToPointA 13,

          scs-SpecificCarrierList {

            {

              offsetToCarrier 0,

              subcarrierSpacing kHz15,

              carrierBandwidth 52

            }

          }

        },

        initialDownlinkBWP {

          genericParameters {

            locationAndBandwidth 14025,

            subcarrierSpacing kHz15

          },

          pdcch-ConfigCommon setup: {

            commonSearchSpaceList {

              {

                searchSpaceId 1,

                controlResourceSetId 0,

                monitoringSlotPeriodicityAndOffset sl1: NULL,

                monitoringSymbolsWithinSlot '01000000000000'B,

                nrofCandidates {

                  aggregationLevel1 n0,

                  aggregationLevel2 n0,

                  aggregationLevel4 n4,

                  aggregationLevel8 n0,

                  aggregationLevel16 n0

                },

                searchSpaceType common: {

                  dci-Format0-0-AndFormat1-0 {

                  }

                }

              }

            },

            ...

          },

          pdsch-ConfigCommon setup: {

            pdsch-TimeDomainAllocationList {

              {

                mappingType typeA,

                startSymbolAndLength 53

              }

            }

          }

        },

        bcch-Config {

          ...

        },

        pcch-Config {

         ...

        }

      },

      uplinkConfigCommon {

        frequencyInfoUL {

          frequencyBandList {

            {

              freqBandIndicatorNR 5

            }

          },

          absoluteFrequencyPointA 166364,

          scs-SpecificCarrierList {

            {

              offsetToCarrier 0,

              subcarrierSpacing kHz15,

              carrierBandwidth 52

            }

          },

          p-Max 10,

          frequencyShift7p5khz true

        },

        initialUplinkBWP {

          genericParameters {

            locationAndBandwidth 14025,

            subcarrierSpacing kHz15

          },

          rach-ConfigCommon setup: {

            rach-ConfigGeneric {

              prach-ConfigurationIndex 16,

              ...

            },

            ...

          },

          pusch-ConfigCommon setup: {

            pusch-TimeDomainAllocationList {

              {

                k2 4,

                mappingType typeA,

                startSymbolAndLength 27

              }

            },

            p0-NominalWithGrant -84

          },

          pucch-ConfigCommon setup: {

            ...

          }

        },

        timeAlignmentTimerCommon infinity

      },

      n-TimingAdvanceOffset n0,

      ssb-PositionsInBurst {

        inOneGroup '10'H

      },

      ...

    },

    ue-TimersAndConstants {

      ...

    }

  }

}

 

 

RrcConnectionReconfiguration (LTE)

: This is the RrcConnectionReconfiguration message sent by eNB  to add NR1 with DSS capability. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

{

  message c1: rrcConnectionReconfiguration: {

    rrc-TransactionIdentifier 0,

    criticalExtensions c1: rrcConnectionReconfiguration-r8: {

      ...

      radioResourceConfigDedicated {

        ...

      },

      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 {

                                ...

                              },

                              spCellConfig {

                                servCellIndex 1,

                                reconfigurationWithSync {

                                  spCellConfigCommon {

                                    physCellId 500,

                                    downlinkConfigCommon {

                                      frequencyInfoDL {

                                        absoluteFrequencySSB 176210,

                                        frequencyBandList {

                                          5

                                        },

                                        absoluteFrequencyPointA 175364,

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz15,

                                            carrierBandwidth 52

                                          }

                                        }

                                      },

                                      initialDownlinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 14025,

                                          subcarrierSpacing kHz15

                                        },

                                        pdcch-ConfigCommon setup: {

                                          controlResourceSetZero 6,

                                          searchSpaceZero 1,

                                          commonSearchSpaceList {

                                            {

                                              searchSpaceId 1,

                                              controlResourceSetId 0,

                                              monitoringSlotPeriodicityAndOffset sl1: NULL,

                                              monitoringSymbolsWithinSlot '01000000000000'B,

                                              nrofCandidates {

                                                aggregationLevel1 n0,

                                                aggregationLevel2 n0,

                                                aggregationLevel4 n4,

                                                aggregationLevel8 n0,

                                                aggregationLevel16 n0

                                              },

                                              searchSpaceType common: {

                                                dci-Format0-0-AndFormat1-0 {

                                                }

                                              }

                                            }

                                          },

                                          searchSpaceSIB1 0,

                                          searchSpaceOtherSystemInformation 1,

                                          pagingSearchSpace 1,

                                          ra-SearchSpace 1

                                        },

                                        pdsch-ConfigCommon setup: {

                                          pdsch-TimeDomainAllocationList {

                                            {

                                              mappingType typeA,

                                              startSymbolAndLength 53

                                            }

                                          }

                                        }

                                      }

                                    },

                                    uplinkConfigCommon {

                                      frequencyInfoUL {

                                        frequencyBandList {

                                          5

                                        },

                                        absoluteFrequencyPointA 166364,

                                        scs-SpecificCarrierList {

                                          {

                                            offsetToCarrier 0,

                                            subcarrierSpacing kHz15,

                                            carrierBandwidth 52

                                          }

                                        },

                                        p-Max 10,

                                        frequencyShift7p5khz true

                                      },

                                      initialUplinkBWP {

                                        genericParameters {

                                          locationAndBandwidth 14025,

                                          subcarrierSpacing kHz15

                                        },

                                        rach-ConfigCommon setup: {

                                          rach-ConfigGeneric {

                                            prach-ConfigurationIndex 16,

                                            msg1-FDM one,

                                            msg1-FrequencyStart 4,

                                            zeroCorrelationZoneConfig 11,

                                            preambleReceivedTargetPower -110,

                                            preambleTransMax n7,

                                            powerRampingStep dB4,

                                            ra-ResponseWindow sl10

                                          },

                                          ssb-perRACH-OccasionAndCB-PreamblesPerSSB one: n8,

                                          ra-ContentionResolutionTimer sf64,

                                          prach-RootSequenceIndex l839: 1,

                                          restrictedSetConfig unrestrictedSet

                                        },

                                        pusch-ConfigCommon setup: {

                                          pusch-TimeDomainAllocationList {

                                            {

                                              k2 4,

                                              mappingType typeA,

                                              startSymbolAndLength 27

                                            }

                                          },

                                          ...

                                        },

                                        pucch-ConfigCommon setup: {

                                          ...

                                        }

                                      },

                                      ...

                                    },

                                    n-TimingAdvanceOffset n0,

                                    ssb-PositionsInBurst shortBitmap: '1'H,

                                    ssb-periodicityServingCell ms20,

                                    dmrs-TypeA-Position pos3,

                                    ssbSubcarrierSpacing kHz15,

                                    ss-PBCH-BlockPower -25

                                  },

                                  ...

                                },

                                rlf-TimersAndConstants setup: {

                                  ...

                                },

                                spCellConfigDedicated {

                                  initialDownlinkBWP {

                                    pdcch-Config setup: {

                                      controlResourceSetToAddModList {

                                        {

                                          controlResourceSetId 2,

                                          frequencyDomainResources '111111110000000000000000000000000000000000000'B,

                                          duration 1,

                                          cce-REG-MappingType nonInterleaved: NULL,

                                          precoderGranularity sameAsREG-bundle

                                        }

                                      },

                                      searchSpacesToAddModList {

                                        {

                                          searchSpaceId 2,

                                          controlResourceSetId 2,

                                          monitoringSlotPeriodicityAndOffset sl1: NULL,

                                          monitoringSymbolsWithinSlot '01000000000000'B,

                                          nrofCandidates {

                                            aggregationLevel1 n4,

                                            aggregationLevel2 n2,

                                            aggregationLevel4 n1,

                                            aggregationLevel8 n0,

                                            aggregationLevel16 n0

                                          },

                                          searchSpaceType ue-Specific: {

                                            dci-Formats formats0-1-And-1-1

                                          }

                                        }

                                      }

                                    },

                                    pdsch-Config setup: {

                                      dmrs-DownlinkForPDSCH-MappingTypeA setup: {

                                        dmrs-AdditionalPosition pos1

                                      },

                                      ...

                                    }

                                  },

                                  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: {

                                    xOverhead xOh6,

                                    nrofHARQ-ProcessesForPDSCH n16

                                  },

                                  tag-Id 0,

                                  lte-CRS-ToMatchAround setup: {

                                    carrierFreqDL 312,

                                    carrierBandwidthDL n50,

                                    mbsfn-SubframeConfigList {

                                      {

                                        radioframeAllocationPeriod n2,

                                        radioframeAllocationOffset 0,

                                        subframeAllocation1 oneFrame: '100000'B

                                      }

                                    },

                                    nrofCRS-Ports n1,

                                    v-Shift n1

                                  }

                                }

                              }

                            }

                          }

                        }

                      },

                      sk-Counter-r15 0,

                      nr-RadioBearerConfig1-r15 {

                        ...

                    }