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.
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.
- Shifting NR CORESET
- Rate Matching around LTE CRS
- Rate Maching Around LTE PSS,SSS,PBCH
- Scheduling Symbols not cliding with any of LTE Reference Signal
Table of Contents
- NR DSS
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.
- SIM Card used in this tutorial is the one delivered with the system as it is.
- If you want to change the configuration, The tutorial Configuration Guide would help
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- ul_frequency_shift_7p5_khz
- lte_crs
- en_dc_scg_cell_list
- reserved_mbms_subframes : In this link, you will get the descriptions for all the items listed below
- sf_alloc
- radio_frame_allocation_period
- radio_frame_allocation_offset
- subframe_allocation
- n_symb_cch
- dmrs_type_a_pos
- pdsch
- start_symb
- x_overhead
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
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. (
{
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. (
{
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. (
{
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. (
{
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 {
...
}