Amarisoft

NR SA PTRS - PDSCH

 

The purpose of this tutorial is to show you how to configure PTRS for PDSCH . PTRS stands for Phase Tracking Reference Signal is a kind of reference signal that is used for adjusting Phase Shift in harsh channel condition.

 

 

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.

TestSetup Callbox UE 1sdr 01

 

Key Configuration Parameters

 

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

 

Test 1 : Basic Configuration

The purpose of this test is to provide an example of how to configure a basic PTRS configuration for SISO. I used SISO just because it is the default configuration of gnb-sa.cfg. MIMO configuration does not directly affect the operation of PTRS.

 

Configuration

I have used gnb-sa-pdsch-ptrs.cfg which is copied and modified from gnb-sa.cfg

NR SA DMRS PDSCH Config 01

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

NR BWP Test1 Configuration 02

On UEsim side, I am using the default configuration ue-nr-sa.cfg without any modification (NOTE : If you are using a commercial UE as DUT, you can skip this part)

In gnb-sa-pdsch-ptrs.cfg , it is configured as follows. I set N_ANTENNA_DL to 1 meaning that I want to use SISO. You can use any kind of configuration as you like.

NR SA DMRS PDSCH Config 02

I am testing this in n78, but it doesn't matter whatever band you use. The special configuration that I did in nr_cell_list is force_dl_schedule : true. This is not mandatory configuration, it is only for easy verification. Since Downlink PTRS is transmitted in association with PDSCH, which mean that we need to schedule PDSCH to check out the downlink PTRS.  force_dl_schedule : true is to schedule PDSCH at every possible opportunities.

Following is the main configuration for this test which are to configure ptrs. As shown here, the parameter is ptrs object. Within the ptrs object, you can configure the detailed property of the ptrs. For the details for the meaning of frequency_density (Frequency Density), time_density (Time Density) and resource_element_offset (Resource Element Offset), you may refer to this note.

NR SA DMRS PDSCH Config 03

For UEsim configuration, the default configuration file ue-nr-sa.cfg is used without any modification (NOTE : If you are using your own DUT, not Amarisoft UEsim. You can skip this part)

Configure TDD and CELL_BANDWIDTH to match the configuration of gNB.

Configure the band, frequency (dl_nr_arfcn, ssb_nr_arfcn) and subcarrier spacing (subcarrier_spacing) to match the configuration of gNB (Callbox)

I just used ue_list parameter without any modification.

 

Perform the Test

First run the test and check on the number of physical antenna using cell phy command.

NR SA DMRS PDSCH Run 01

Then setup a call and make it sure that call connection is OK using t command.  

NR SA DMRS PDSCH Run 02

 

Log Analysis

Sample Log (UEsim)

Sample Log (OnePLUS)

First check RRC log and see if the configuration is done as you intended.

PTRS is configured by phaseTrackingRS IE in RRC Reconfiguration. You can compare the settings in the configuration file and phaseTrackingRS IE as shown below.

NR SA DMRS PDSCH Log 01

PTRS transmission gets enabled or disabled depending in MCS and the state of PTRS activation is printed in PDSCH log. If the PTRS is activated/transmitted, ptrs=1 is transmitted.

RRC / NAS Signaling

 

RrcReconfiguration(SA)

: This is the RrcSetup message sent by gNB  to configure PDSCH PTRS. (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: rrcReconfiguration: {

    rrc-TransactionIdentifier 0,

    criticalExtensions rrcReconfiguration: {

      nonCriticalExtension {

        masterCellGroup {

          cellGroupId 0,

          spCellConfig {

            spCellConfigDedicated {

              initialDownlinkBWP {

                pdsch-Config setup: {

                  dmrs-DownlinkForPDSCH-MappingTypeA setup: {

                    dmrs-AdditionalPosition pos0,

                    phaseTrackingRS setup: {

                      frequencyDensity {

                        10,

                        20

                      },

                      timeDensity {

                        5,

                        15,

                        20

                      },

                      resourceElementOffset offset10

                    }

                  },

                  resourceAllocation resourceAllocationType1,

                  rbg-Size config1,

                  mcs-Table qam256,

                  prb-BundlingType staticBundling: {

                    bundleSize wideband

                  }

                }

              },

              uplinkConfig {

                initialUplinkBWP {

                  pusch-Config setup: {

                    txConfig codebook,

                    resourceAllocation resourceAllocationType1,

                    mcs-Table qam256,

                    mcs-TableTransformPrecoder qam256,

                    codebookSubset nonCoherent,

                    maxRank 1

                  }

                }

              },

              pdsch-ServingCellConfig setup: {

                nrofHARQ-ProcessesForPDSCH n16,

                maxMIMO-Layers 1

              },

              tag-Id 0

            }

          }

        },

        dedicatedNAS-MessageList {

          '7E024E13893B017E0042010977000BF200F110800101D5916D6554070000F1100000641502010131020101210203005E01BE3408031F19F1031F11F2'H

        }

      }

    }

  }

}