5G NR-TM and FRC Waveform Generation

This example shows how to generate standard-compliant 5G NR test models (NR-TMs) and downlink fixed reference channels (FRCs) for frequency range 1 (FR1) and FR2. For the NR-TM and FRC waveform generation, you can specify the NR-TM or FRC name, the channel bandwidth, the subcarrier spacing, and the duplexing mode.

Introduction

The 3GPP 5G NR standard defines sets of link and waveform confgurations for the purposes of conformance testing. Two specific types of downlink conformance waveforms are NR test models (NR-TM), for the purpose of base station (BS) RF testing, and downlink fixed reference channels (FRC), for user equipment (UE) input testing.

The NR-TMs for FR1 are defined in TS 38.141-1 Section 4.9.2, and the NR-TMs for FR2 are defined in TS 38.141-2 Section 4.9.2.

They are used in a range of RF tests, including:

  • BS output power

  • Timing alignment error (TAE)

  • Occupied bandwidth emissions

  • Adjacent channel leakage ratio (ACLR)

  • Operating band unwanted emissions

  • Transmitter spurious emissions

  • Transmitter intermodulation

Specific test models are aimed at specific sets of measurements.

The downlink FRC for FR1 are defined in TS 38.101-1 Annex A.3, and for FR2 are defined in TS 38.101-2 Annex A.3.

They are used in a number of tests, including:

  • UE receiver requirements

  • Maximum UE input level testing

NR-TMs and FRCs are defined across a standardized set of transmission bandwidth configurations for a valid range of channel bandwidth and subcarrier spacing combinations.

This reference application example uses the MATLAB class hNRReferenceWaveformGenerator. This class provides access to the bandwidth configuration tables, the Release 15 test model and FRC lists, and provides baseband waveform generation and resource grid visualization.

The hNRReferenceWaveformGenerator class contains two constant MATLAB table properties. The FR1BandwidthTable property contains the FR1 transmission bandwidth configurations defined in TS 38.104 Table 5.3.2-1. See also the FR1 maximum transmission bandwidth configurations defined in TS 38.101-1 Table 5.3.2-1. The FR2BandwidthTable property contains the FR2 transmission bandwidth configurations defined in TS 38.104 Table 5.3.2-2. See also the FR2 maximum transmission bandwidth configurations defined in TS 38.101-2 Table 5.3.2-1.

% Release 15 transmission bandwidth configurations
fr1bandwidthtable = hNRReferenceWaveformGenerator.FR1BandwidthTable
fr1bandwidthtable=3×12 table
             BW_5MHz    BW_10MHz    BW_15MHz    BW_20MHz    BW_25MHz    BW_30MHz    BW_40MHz    BW_50MHz    BW_60MHz    BW_80MHz    BW_90MHz    BW_100MHz
             _______    ________    ________    ________    ________    ________    ________    ________    ________    ________    ________    _________

    15kHz       25         52          79         106         133         160         216         270         NaN         NaN         NaN          NaN   
    30kHz       11         24          38          51          65          78         106         133         162         217         245          273   
    60kHz      NaN         11          18          24          31          38          51          65          79         107         121          135   

fr2bandwidthtable = hNRReferenceWaveformGenerator.FR2BandwidthTable
fr2bandwidthtable=2×4 table
              BW_50MHz    BW_100MHz    BW_200MHz    BW_400MHz
              ________    _________    _________    _________

    60kHz        66          132          264          NaN   
    120kHz       32           66          132          264   

The hNRReferenceWaveformGenerator class also contains two constant properties which list the test model names for FR1 (TS 38.141-1 Section 4.9.2) and test model names for FR2 (TS 38.141-2 Section 4.9.2).

% Release 15 NR-TM test models for FR1 and FR2 
fr1testmodels = hNRReferenceWaveformGenerator.FR1TestModels
fr1testmodels = 8x1 string array
    "NR-FR1-TM1.1"
    "NR-FR1-TM1.2"
    "NR-FR1-TM2"
    "NR-FR1-TM2a"
    "NR-FR1-TM3.1"
    "NR-FR1-TM3.1a"
    "NR-FR1-TM3.2"
    "NR-FR1-TM3.3"

fr2testmodels = hNRReferenceWaveformGenerator.FR2TestModels
fr2testmodels = 3x1 string array
    "NR-FR2-TM1.1"
    "NR-FR2-TM2"
    "NR-FR2-TM3.1"

For the FRCs, the class contains additional constant properties which list the downlink FRC names for FR1 (TS 38.101-1 Annex A.3) and for FR2 (TS 38.101-2 Annex A.3).

% Release 15 downlink fixed reference channels for FR1 and FR2 
fr1downlinkfrc = hNRReferenceWaveformGenerator.FR1DownlinkFRC
fr1downlinkfrc = 3x1 string array
    "DL-FRC-FR1-QPSK"
    "DL-FRC-FR1-64QAM"
    "DL-FRC-FR1-256QAM"

fr2downlinkfrc = hNRReferenceWaveformGenerator.FR2DownlinkFRC
fr2downlinkfrc = 3x1 string array
    "DL-FRC-FR2-QPSK"
    "DL-FRC-FR2-16QAM"
    "DL-FRC-FR2-64QAM"

For more information, access the help of hNRReferenceWaveformGenerator by typing 'doc hNRReferenceWaveformGenerator'.

NR-TM and FRC Waveform Generation

Each reference waveform is defined by a combination of:

  • NR-TM or FRC name

  • Channel bandwidth

  • Subcarrier spacing

  • Duplexing mode

Different NR-TMs are defined for FR1 and FR2. Depending on the test model purposes, NR-TMs have varying PDSCH characteristics. For example: full band, single modulation scheme, or full band, multiple modulation schemes with varying power boosting/deboosting or single, varying PRB allocation. Common features to all NR-TMs are: no SS burst, PDSCH mapping type A with one (FR2) or two (FR1) DM-RS positions per slot transmission, and a single PDCCH across two symbols with NCCE = 1. There is no transport or DCI coding used and the input to the PDSCH and PDCCH is all 0's. FDD NR-TM waveforms are 10 ms in length and TDD cases are 20 ms. PT-RS are specified for FR2 NR-TM.

By comparison, downlink FRC waveforms contain transport coded PDSCH using RV = 0. The reference PDSCH are not defined in slots which overlap the SS burst (slot 0 or slots 0 and 1). They use front loaded PDSCH mapping type A with 2 additional DM-RS positions. There is no FDM between the PDSCH and the DM-RS. The full-band PDSCH start at symbol 2 and the first 2 symbols in a slot contain a full occupied CORESET. The FRC waveforms generated in this example do not contain additional OCNG.

The channel bandwidth and subcarrier spacing combination have to be a valid pair from the associated FR bandwidth configuration table. The standard only defines FR2 NR-TM and FRC for TDD but with this example you can also create FDD waveforms.

This MATLAB code creates an hNRReferenceWaveformGenerator object for the selected NR-TM or FRC configuration. You can use this object to generate the associated baseband waveform and to display the underlying PRB and subcarrier-level resource grids.

% Select the NR-TM or FRC waveform parameters
nrref   = "NR-FR1-TM3.2";  % Model name and properties
bw      = "10MHz";  % Channel bandwidth
scs     = "15kHz";  % Subcarrier spacing
dm      = "FDD";  % Duplexing mode
ncellid = 1;  % NCellID
sv      = "15.2.0";  % TS 38.141-x version (NR-TM only)

% Run this entire section to generate the required waveform
   

% Create generator object for the above reference model
refwavegen = hNRReferenceWaveformGenerator(nrref,bw,scs,dm,ncellid,sv)
refwavegen = 
  hNRReferenceWaveformGenerator with properties:

    FR1BandwidthTable: [3x12 table]
    FR2BandwidthTable: [2x4 table]
        FR1TestModels: [8x1 string]
        FR2TestModels: [3x1 string]
       FR1DownlinkFRC: [3x1 string]
       FR2DownlinkFRC: [3x1 string]
               Config: [1x1 struct]
           IsReadOnly: 1
      ConfiguredModel: {1x6 cell}

% Generate waveform
[refwaveform,refwaveinfo] = generateWaveform(refwavegen);
samplingrate = refwaveinfo.Info.SamplingRate   % Waveform sampling rate (Hz)
samplingrate = 15360000
plot(abs(refwaveform)); title(sprintf('Magnitude of %s Baseband Waveform',nrref));

% Visualize the associated PRB and subcarrier resource grids
displayResourceGrid(refwavegen);

fullparameterset = refwavegen.Config   % Full low-level parameter set
fullparameterset = struct with fields:
                Name: "NR-FR1-TM3.2"
             NCellID: 1
    ChannelBandwidth: 10
      FrequencyRange: "FR1"
        NumSubframes: 10
        DisplayGrids: 0
             SSBurst: [1x1 struct]
            Carriers: [1x1 struct]
                 BWP: [1x1 struct]
             CORESET: [1x1 struct]
               PDCCH: [1x1 struct]
               CSIRS: [1x1 struct]
               PDSCH: [1x3 struct]

% Make the Config parameters writable and boost the power on all PDSCH DM-RS
refwavegen = makeConfigWritable(refwavegen)
refwavegen = 
  hNRReferenceWaveformGenerator with properties:

    FR1BandwidthTable: [3x12 table]
    FR2BandwidthTable: [2x4 table]
        FR1TestModels: [8x1 string]
        FR2TestModels: [3x1 string]
       FR1DownlinkFRC: [3x1 string]
       FR2DownlinkFRC: [3x1 string]
               Config: [1x1 struct]
           IsReadOnly: 0
      ConfiguredModel: {1x6 cell}

[refwavegen.Config.PDSCH.PowerDMRS] = deal(3);

References

[1] 3GPP TS 38.101-1. “NR; User Equipment (UE) radio transmission and reception; Part 1: Range 1 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 3GPP TS 38.101-2. “NR; User Equipment (UE) radio transmission and reception; Part 2: Range 2 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[3] 3GPP TS 38.104. “NR; Base Station (BS) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[4] 3GPP TS 38.141-1. “NR; Base Station (BS) conformance testing Part 1: Conducted conformance testing.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[5] 3GPP TS 38.141-2. “NR; Base Station (BS) conformance testing Part 2: Radiated conformance testing.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Related Topics