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





[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






[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








[ ]: