CSI-RS timing configurations

This notebook shows the Time-domain properties of CSI-RS configuration (Period, offset, etc.)

[4]:
import numpy as np
import scipy.io

from neoradium import Carrier, PDSCH, Grid, CsiRsConfig, CsiRsSet
[5]:
carrier = Carrier(startRb=0, numRbs=24, spacing=15)
bwp = carrier.bwps[0]
bwp.print()


Bandwidth Part Properties:
  Resource Blocks: 24 RBs starting at 0 (288 subcarriers)
  Subcarrier Spacing: 15 KHz
  CP Type: normal
  bandwidth: 4320000 Hz
  symbolsPerSlot: 14
  slotsPerSubFrame: 1
  nFFT: 512

[6]:
# Using 3rd row of 38.211 Table 7.4.1.5.3-1
# Default setting is 'Periodic' resource type, with Period=4 and offset=0 => Slots 0, 4, ... will contain CSI-RS
csiRsConfig = CsiRsConfig([CsiRsSet("NZP", bwp, symbols=[3], numPorts=2)])
csiRsConfig.print()

carrier.slotNo = 0
for slot in range(5):
    grid = bwp.createGrid(csiRsConfig.numPorts)
    csiRsConfig.populateGrid(grid)
    # Only drawing the first port:
    grid.drawMap(ports=[0], reRange=(0,36), title="Slot Map for slot %d"%(carrier.slotNo))
    carrier.slotNo += 1

CSI-RS Configuration: (1 Resource Sets)
  CSI-RS Resource Set:(1 NZP Resources)
    Resource Set ID: 0
    Resource Type: periodic
    Resource Blocks: 24 RBs starting at 0
    Slot Period: 4
    Bandwidth Part:
      Resource Blocks: 24 RBs starting at 0 (288 subcarriers)
      Subcarrier Spacing: 15 KHz
      CP Type: normal
      bandwidth: 4320000 Hz
      symbolsPerSlot: 14
      slotsPerSubFrame: 1
      nFFT: 512
    CSI-RS:
      resourceId: 0
      numPorts: 2
      cdmSize: 2 (fd-CDM2)
      density: 1
      RE Indexes: 6
      Symbol Indexes: 3
      Table Row: 3
      Slot Offset: 0
      Power: 0 db
      scramblingID: 0

../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_3_1.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_3_2.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_3_3.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_3_4.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_3_5.png
[7]:
# Using 3rd row of 38.211 Table 7.4.1.5.3-1
# same as before but setting the offset to 1 => Slots 1, 5, ... will contain CSI-RS
csiRsConfig = CsiRsConfig([CsiRsSet("NZP", bwp, symbols=[3], numPorts=2, offset=1)])
csiRsConfig.print()

carrier.slotNo = 0
for slot in range(6):
    grid = bwp.createGrid(csiRsConfig.numPorts)
    csiRsConfig.populateGrid(grid)
    # Only drawing the first port
    grid.drawMap(ports=[0], reRange=(0,36), title="Slot Map for slot %d"%(carrier.slotNo))
    carrier.slotNo += 1

CSI-RS Configuration: (1 Resource Sets)
  CSI-RS Resource Set:(1 NZP Resources)
    Resource Set ID: 0
    Resource Type: periodic
    Resource Blocks: 24 RBs starting at 0
    Slot Period: 4
    Bandwidth Part:
      Resource Blocks: 24 RBs starting at 0 (288 subcarriers)
      Subcarrier Spacing: 15 KHz
      CP Type: normal
      bandwidth: 4320000 Hz
      symbolsPerSlot: 14
      slotsPerSubFrame: 1
      nFFT: 512
    CSI-RS:
      resourceId: 0
      numPorts: 2
      cdmSize: 2 (fd-CDM2)
      density: 1
      RE Indexes: 6
      Symbol Indexes: 3
      Table Row: 3
      Slot Offset: 1
      Power: 0 db
      scramblingID: 0

../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_1.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_2.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_3.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_4.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_5.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_4_6.png
[8]:
# Using 3rd row of 38.211 Table 7.4.1.5.3-1
# Using period=5 and offset=2 => Slots 2, 7, ... will contain CSI-RS
csiRsConfig = CsiRsConfig([CsiRsSet("NZP", bwp, symbols=[3], numPorts=2, period=5, offset=2)])
csiRsConfig.print()

carrier.slotNo = 0
for slot in range(8):
    grid = bwp.createGrid(csiRsConfig.numPorts)
    csiRsConfig.populateGrid(grid)
    # Only drawing the first port
    grid.drawMap(ports=[0], reRange=(0,36), title="Slot Map for slot %d"%(carrier.slotNo))
    carrier.slotNo += 1

CSI-RS Configuration: (1 Resource Sets)
  CSI-RS Resource Set:(1 NZP Resources)
    Resource Set ID: 0
    Resource Type: periodic
    Resource Blocks: 24 RBs starting at 0
    Slot Period: 5
    Bandwidth Part:
      Resource Blocks: 24 RBs starting at 0 (288 subcarriers)
      Subcarrier Spacing: 15 KHz
      CP Type: normal
      bandwidth: 4320000 Hz
      symbolsPerSlot: 14
      slotsPerSubFrame: 1
      nFFT: 512
    CSI-RS:
      resourceId: 0
      numPorts: 2
      cdmSize: 2 (fd-CDM2)
      density: 1
      RE Indexes: 6
      Symbol Indexes: 3
      Table Row: 3
      Slot Offset: 2
      Power: 0 db
      scramblingID: 0

../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_1.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_2.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_3.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_4.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_5.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_6.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_7.png
../../../../_images/source_Playground_Notebooks_CSI-RS_CSI-RS-Time_5_8.png
[ ]: