Web Simulation 

 

 

 

 

5G NR CSI-RS Resource Grid Visualizer 

CSI-RS (Channel State Information Reference Signal) is the downlink pilot the UE uses to measure the channel for beam management, CQI/PMI/RI reporting, and MIMO precoder selection. Unlike DMRS (data-bound), CSI-RS is a separate, configurable signal sprinkled across the resource grid at gNB-controlled positions.

This tool visualizes CSI-RS resource-element mapping on a 3 Resource Block × 14 OFDM symbol slot, following 3GPP TS 38.211 §7.4.1.5.3 and Table 7.4.1.5.3-1. Pick a row, density, and CDM type and the simulator places the REs, computes the per-port OCC values, and shows the UE-side superposition after a configurable channel.

NOTE: For the underlying derivation of CSI-RS positions and values, see this note.

Mathematical Foundation

Each CSI-RS RE position in the resource grid is the sum of three contributions:

k = k0 + k̅ + k′
l  = l0 + l̅ + l′

Term

Source

Range

k0, l0

gNB-configured offset (subcarrier & symbol)

k0: 0–11; l0: 0–13

,

Row-dependent base from Table 7.4.1.5.3-1

Per row, per CDM group

k′, l′

CDM spread (per group member)

k′: {0, 1}; l′: {0..3}

Each CSI-RS RE carries a complex symbol from a pseudo-random Gold sequence r(m′) with magnitude 1/√2 (unit power per RE), multiplied by an Orthogonal Cover Code (OCC) that distinguishes the antenna ports sharing that CDM group:

ak,l(p) = wFD(k′) · wTD(l′) · r(m′)

where wFD and wTD are the frequency-domain and time-domain OCC factors. At the UE, the REs from all ports in the same CDM group superpose; the receiver despreads using the matching OCC to recover the per-port channel.

Density and CDM Types

Density ρ controls how many CSI-RS REs land in each RB, trading channel-estimation granularity against overhead:

ρ

REs per RB (per port)

RB coverage

3

3 (at k = k0 + {0, 4, 8})

Every RB

1

1

Every RB

0.5 (even)

1

Even-indexed RBs only

0.5 (odd)

1

Odd-indexed RBs only

CDM type determines how multiple antenna ports share REs by orthogonal spreading:

CDM

Spread

Ports per group

OCC structure

noCDM

none

1

Direct RE per port

fd-CDM2

FD×2

2

[+1,+1] / [+1,−1] over k′

cdm4-FD2-TD2

FD×2 + TD×2

4

2×2 Walsh-Hadamard

cdm8-FD2-TD4

FD×2 + TD×4

8

2×4 Walsh-Hadamard

Why CDM: spreading multiple antenna ports over the same REs with orthogonal codes saves resource-grid overhead. With CDM8 you can carry 8 ports in the same RE count that would otherwise serve 8 separate ports — the UE despreads to separate them. The trade-off is per-port estimation SNR loss because each port's energy is divided across the group.

Antenna Ports

CSI-RS uses port numbers 3000–3031. The port index relates to CDM group j and intra-group index i by:

p = 3000 + j · N + i

where N is the CDM group size (2 for FD-CDM2, 4 for CDM4, 8 for CDM8). Number of ports nrofPorts per resource ranges from 1 to 32 depending on the row.

Simulation

The interactive simulator is below. Pick a 3GPP row (1–18), set k0 / l0, and watch the REs populate the grid. The gNB Tx tab shows each port's RE pattern; the UE Rx tab shows the combined received signal through a configurable channel matrix. Hover any RE to see its complex value in the polar plot.

CDM 0 CDM 1 CDM 2 CDM 3 CDM 4+

3GPP TS 38.211 Table 7.4.1.5.3-1 (CSI-RS mapping)

3GPP 38.211 §7.4.1.5.3: CSI-RS mapping to physical resources. Selected row is highlighted. Port count and CDM type determine active ports (3000–3031) and RE pattern.

Usage

  1. 3GPP Row: pick row 1–18 from Table 7.4.1.5.3-1. The row implicitly fixes ports, density, and CDM type.
  2. k0 and l0: set the subcarrier (0–11) and symbol (0–13) offsets within the slot.
  3. gNB TX tab: shows each port's RE pattern individually (color-coded by CDM group).
  4. UE RX tab: shows the superposition of all Tx ports (combined REs in cyan), plus a configurable channel matrix H (nRx × nTx) with a phase-offset slider.
  5. Polar plot: hover over any RE to see its complex value — the combined received signal (H × sequence × OCC), or the Tx symbol when OCC cancels.
  6. Reference table: the full 3GPP Table 7.4.1.5.3-1 sits below the grid; the selected row is highlighted.
Try these: Row 1 (density 3) shows three vertically aligned REs per RB. Row 18 (CDM8) shows four blocks of 2×4 REs. Watch the UE polar plot rotate as you slide the channel phase offset.

Parameters

Control

Meaning

3GPP Row

One of 18 entries in Table 7.4.1.5.3-1; fixes ports, density, CDM.

k0

Subcarrier offset within the RB (0–11).

l0

First OFDM symbol in time domain (0–13).

l0 second

Optional second symbol for two-symbol patterns; "omit" for single-symbol rows.

nrofPorts

1 / 2 / 4 / 8 / 12 / 16 / 24 / 32. Each row supports a subset.

CDM type

noCDM / fd-CDM2 / cdm4-FD2-TD2 / cdm8-FD2-TD4.

density

3 / 1 / 0.5-even / 0.5-odd / spare.

frequencyDomainAllocation

row1 / row2 / row4 / other — selects RB-level allocation bitmap (up to 12 bits).

UE Rx Antenna

1 / 2 / 4 receive antennas in the UE-side channel matrix.

Channel Phase Offset

0–359°, applied to the channel matrix to demonstrate per-RE rotation.

Limitations

  • Static channel matrix; no Doppler, no time-varying fading.
  • Only 3 RBs (36 subcarriers) of the slot are shown for clarity. A real BWP can be hundreds of RBs wide.
  • Pseudo-random sequence r(m′) is generated with simplified seeding for visualization; full cinit computation per TS 38.211 §7.4.1.5.2 is abstracted away.
  • No CSI reporting (CQI/PMI/RI) is computed from the visualized channel — the scope ends at RE mapping and per-port signaling.