Contenido principal

nrWavegenCSIRSConfig

R2026b

CSI-RS configuration parameters for 5G waveform generation

Description

The nrWavegenCSIRSConfig object sets channel state information reference signal (CSI-RS) configuration parameters for one or more zero-power (ZP) or non-zero-power (NZP) CSI-RS resources, as defined in TS 38.211 Section 7.4.1.5 [1]. Use this object to set the CSIRS property of the nrDLCarrierConfig object when configuring 5G downlink waveform generation.

By default, the object defines an NZP-CSI-RS resource configured for two antenna ports with a CDM type of FD-CDM2 and density 1, corresponding to CSI-RS resource defined in row 3 of TS 38.211 Table 7.4.1.5.3-1.

Creation

Description

csirs = nrWavegenCSIRSConfig creates a default CSI-RS configuration object for 5G waveform generation.

example

csirs = nrWavegenCSIRSConfig(PropertyName=Value) sets writable properties using one or more name-value arguments. For example, CSIRSType={'zp','nzp','zp'} specifies three CSI-RS resources.

Properties

expand all

Enable the CSI-RS in 5G waveform generation, specified as one of these values.

  • 1 — Enable the CSI-RS.

  • 0 — Disable the CSI-RS.

Data Types: double | logical

Name of the CSI-RS configuration, specified as a character array or string scalar. Use this property to set a description to the CSI-RS configuration.

Data Types: char | string

Power scaling of CSI-RS in dB, specified as a real scalar. Use this property to scale the power of the CSI-RS in the generated 5G waveform.

Data Types: double

ID of the bandwidth part (BWP) containing the configured CSI-RS, specified as a nonnegative integer. Use this property to associate this CSI-RS configuration with one of the BWP configurations specified by the BandwidthParts property of the nrDLCarrierConfig object.

Data Types: double

Type of one or more CSI-RS resource configurations, specified as one of these options:

  • 'nzp' — Use this option to specify a single NZP-CSI-RS resource.

  • 'zp' — Use this option to specify a single ZP-CSI-RS resource.

  • Cell array with elements 'nzp' or 'zp' — Use this option to specify multiple CSI-RS resources.

Alternatively, you can specify this property by using "nzp" and "zp" as string scalars or as elements of a string array.

The number of CSI-RS resource configurations is equal to the number of values provided for this property.

Data Types: cell | string | char

Slot periodicity and offset of the CSI-RS resource, specified as one of these options.

For Single CSI-RS Resource

  • 'on' — Use this option to indicate that the resource is present in all slots.

  • 'off' — Use this option to indicate that the resource is absent in all slots.

  • Vector of integers of the form [Tcsi-rs Toffset] — Use this option to specify slot periodicity Tcsi-rs and offset Toffset for scheduling the CSI-RS resource in specific slots.

    Tcsi-rs is 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160, 320, or 640. For a particular value of Tcsi-rs, the value of Toffset is in the range from 0 to Tcsi-rs–1.

For Multiple CSI-RS Resources

  • Cell array with elements 'on', 'off', or [Tcsi-rs Toffset] — The number of elements in the cell array must be one or equal the number of CSI-RS resources specified by the CSIRSType property. When the cell array contains only one element, the specified value applies to all CSI-RS resources.

Alternatively, you can specify this property by using "on" and "off" as string scalars or as elements of a string array.

This property is the higher-layer parameter CSI-ResourcePeriodicityAndOffset or slotConfig defined in the CSI-RS-CellMobility IE.

Data Types: cell | string | char | double

Row number of CSI-RS resource, as defined in TS 38.211 Table 7.4.1.5.3-1, specified as one of these options.

For Single CSI-RS Resource

  • Integer from 1 to 18

For Multiple CSI-RS Resources

  • Vector of integers in the range from 1 to 18 — The number of vector elements must equal the number of CSI-RS resources specified by the CSIRSType property.

Data Types: double

Frequency density of the CSI-RS resource, as defined in TS 38.211 Table 7.4.1.5.3-1, specified as one of these options.

For Single CSI-RS Resource

  • 'one' — This option corresponds to ρ = 1 from the specified table.

  • 'three' — This option corresponds to ρ = 3 from the specified table.

  • 'dot5even' — This option corresponds to ρ = 0.5 from the specified table with even resource block (RB) allocation regarding the common resource block 0 (CRB 0).

  • 'dot5odd' — This option corresponds to ρ = 0.5 from the specified table with odd RB allocation regarding CRB 0.

For Multiple CSI-RS Resources

  • Cell array of the character vectors 'one', 'three', 'dot5even', or 'dot5odd' — The number of elements in the cell array must equal the number of CSI-RS resources specified by the CSIRSType property.

Alternatively, you can specify this property by using "one", "three", "dot5even", and "dot5odd" as string scalars or as elements of a string array.

The value of ρ is the higher-layer parameter density defined in the CSI-RS-ResourceMapping IE or the CSI-RS-CellMobility IE.

Data Types: cell | string | char

Time-domain locations of the CSI-RS resource (l0 and l1 values in the TS 38.211 Table 7.4.1.5.3-1), specified as one of these options.

For Single CSI-RS Resource

  • Integer from 0 to 13 — This option corresponds to the l0 value in the specified table.

  • Vector of integers of the form [l0 l1] or [l0; l1], where l0 and l1 are the corresponding l0 and l1 values in the specified table — The l1 values are required only in table rows 13, 14, 16, and 17. l0 is an integer from 0 to 13, and l1 is an integer from 2 to 12.

For Multiple CSI-RS Resources

  • Cell array of l0 values or vectors of the form [l0 l1] or [l0; l1] — The number of elements in the cell array must equal the number of CSI-RS resources specified by the CSIRSType property.

    In a two-element vector based on l0 and l1, to avoid the overlap between the CDM groups corresponding to different CSI-RS ports, specify the symbol locations at least 2 locations apart.

The values of l0 and l1 are the higher-layer parameters firstOFDMSymbolInTimeDomain and firstOFDMSymbolInTimeDomain2, respectively, in the CSI-RS-ResourceMapping IE or CSI-RS-ResourceConfigMobility IE.

Data Types: double

Frequency-domain locations of the CSI-RS resource (ki elements in column 5 of TS 38.211 Table 7.4.1.5.3-1), specified as one of these options.

For Single CSI-RS Resource

  • Numeric vector with the number of elements 1, 2, 3, 4, or 6

For Multiple CSI-RS Resources

  • Cell array of numeric vectors with the number of elements 1, 2, 3, 4, or 6 — The number of elements in the cell array must equal the number of CSI-RS resources specified by the CSIRSType property.

    To avoid the overlap between the CDM groups that correspond to different CSI-RS ports, specify the subcarrier locations at least 2 locations apart. TS 38.211 Section 7.4.1.5.3 describes the procedure to calculate subcarrier locations from a bitmap defined by the higher-layer parameter frequencyDomainAllocation in the CSI-RS-ResourceMapping IE or CSI-RS-ResourceConfigMobility IE. To avoid the loss in orthogonality among different CSI-RS ports, this procedure ensures that there is no overlap between the CDM groups.

Data Types: double

CSI-RS resource bandwidth, in terms of the number of allocated RBs, specified as one of these options.

For Single CSI-RS Resource

  • Integer from 1 to 275

For Multiple CSI-RS Resources

  • Vector of integers in the range from 1 to 275 — The number of vector elements must equal to one or the number of CSI-RS resources specified by the CSIRSType property. When the vector contains only one element, the specified value applies to all CSI-RS resources.

This property is the higher-layer parameter nrOfRBs in FrequencyOccupation IE or nrOfPRBs in CSI-RS-ResourceConfigMobility IE.

Data Types: double

Starting RB index of the CSI-RS resource allocation, relative to the carrier resource grid, specified as one of these options.

For Single CSI-RS Resource

  • Integer from 0 to 274

For Multiple CSI-RS Resources

  • Vector of integers in the range from 0 to 274 — The number of vector elements must be equal to one or the number of CSI-RS resources specified by the CSIRSType property. When the vector contains only one element, the specified value applies to all CSI-RS resources.

Note

Specify this property relative to the carrier start, which contains the BWP specified by the BandwidthPartID property.

Data Types: double

Since R2025a

Mapping of signal ports to physical antennas, specified as one of these values:

  • [] — The layers of data specified by this nrWavegenCSIRSConfig object are automatically mapped in the generated waveform starting from the first column.

  • Vector of N unique positive integers — The vector elements indicate where the layers of data specified by this nrWavegenCSIRSConfig object are mapped in the generated waveform.

    • If PrecodingMatrix is empty ([]), N is the number of signal ports for a single CSI-RS resource or the maximum number of signal ports for multiple CSI-RS resources. Use the NumCSIRSPorts property to obtain the number of configured CSI-RS ports.

    • If PrecodingMatrix is nonempty, N and the number of rows in the precoding matrix must be equal.

Data Types: double

Since R2025a

Precoding matrix, specified as one of these options:

  • [] — Precoding is not applied to the generated waveform.

  • M-by-P numeric matrix — Precoding is applied to the generated waveform using the specified matrix. P is the number of signal ports for a single CSI-RS resource or the maximum number of signal ports for multiple CSI-RS resources. Use the NumCSIRSPorts property to obtain the number of configured CSI-RS ports.

    • If AntennaMapping is empty ([]), M is any positive integer.

    • If AntennaMapping is nonempty, M and the number of unique elements specified in the antenna mapping must be equal.

Note

Setting this property to a nonempty value can affect the power applied to the instance specified by this nrWavegenCSIRSConfig object in the generated waveform.

Data Types: double

Scrambling identity, specified as one of these options.

For Single CSI-RS Resource

  • Integer from 0 to 1023

For Multiple CSI-RS Resources

  • Vector of integers in the range from 0 to 1023 — The number of vector elements must be one or equal the number of CSI-RS resources specified by the CSIRSType property. When the vector contains only one element, the specified value applies to all CSI-RS resources.

This property is the higher-layer parameter scramblingID in NZP-CSI-RS-Resource IE or sequenceGenerationConfig in CSI-RS-ResourceConfigMobility IE.

When the CSIRSType property defines only ZP resources, this property is hidden.

Data Types: double

Since R2026b

Number of the aggregated CSI-RS resources, as defined in TS 38.211 Table 7.4.1.4.3-6, specified as one of these options:

  • 1 — The configured CSI-RS resources are not aggregated.

  • 2, 3, or 4 — The specified number must equal the number of CSI-RS resources specified by the CSIRSType property. The object aggregates the configured CSI-RS resources to form 48, 64, or 128 CSI-RS ports, as defined in TS 38.211 Table 7.4.1.5.3-6. The ports are mapped using port mapping method 1.

Data Types: double

Since R2025a

This property is read-only.

Number of CSI-RS antenna ports, returned as one of these options:

For Single CSI-RS Resource

  • 1, 2, 4, 8, 12, 16, 24, or 32

For Multiple CSI-RS Resources

  • A vector of integers from the list above.

For Aggregated CSI-RS Resources

  • 48, 64, or 128 (since R2026b) — The total number of ports is the product of the number of ports specified by the RowNumber property and the number of aggregated resources specified by the NumAggregatedResources property.

Data Types: double

Examples

collapse all

Create two SCS carrier configuration objects with mixed numerologies and a custom number of resource blocks.

carriers = {
    nrSCSCarrierConfig('SubcarrierSpacing',15,'NStartGrid',10,'NSizeGrid',100), ...
    nrSCSCarrierConfig('SubcarrierSpacing',30,'NStartGrid',0,'NSizeGrid',70)};
    

Create two BWP configuration objects, one for each of the SCS carriers.

bwp = {
    nrWavegenBWPConfig('BandwidthPartID',1,'SubcarrierSpacing',15,'NStartBWP',10,'NSizeBWP',80), ...
    nrWavegenBWPConfig('BandwidthPartID',2,'SubcarrierSpacing',30,'NStartBWP',0,'NSizeBWP',60)};

Create two CSI-RS configuration objects, one for each of the BWP.

 csirs = {
     nrWavegenCSIRSConfig('BandwidthPartID',1,'RowNumber',2,'RBOffset',10), ... 
     nrWavegenCSIRSConfig('BandwidthPartID',2,'Density','three','RowNumber',4)};

Create a downlink carrier configuration object, specifying the previously defined configurations.

cfgDL = nrDLCarrierConfig( ...
    'SCSCarriers',carriers, ...
    'BandwidthParts',bwp, ...
    'CSIRS',csirs);

References

[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced in R2020b

expand all