A simple visualizer for NR(5G) resource grid visualization for L1(Physical Layer), based on 3GPP release-16.
Implemented via Python 3.8.8+(only tested on Win10/11).
Dependencies(managed by Miniconda):
- numpy
- matplotlib
- 
read *.jsonfile as input, which describes the occurations of NR signals/channels,- Not completed yet
 
- 
generate the signal/channel objects, which based on NrSignalCommon,- why not use duck-typing? To make sure derived class have method get_get_resource_grid_fragments()
 
- why not use duck-typing? To make sure derived class have method 
- 
use get_resource_grid_fragmentsto get fragments of resource grid, and fill them into classNrPhysicalResourceRenderer- max support 32 ports of L1
 
- 
use NrPhysicalResourceRenderer.plot()to show the resource grids- you can specify which port to show
 
- CSI-RS downlink PHY initial supported
- add support for more channels of NR
- finish the json support
- more annotations on the figures
- UT and more test cases
- automatic test on GitHub with travis CI
- published to pypi.org
- a simple UI to configure/switch figures
-  performance optimization
- multi-thread support
- python JIT with numba
 
- documentations improvement
All reference could be found here.
- 3GPP TS 38.211
- 3GPP TS 38.212
- 3GPP TS 38.213
- 3GPP TS 38.214
- 3GPP TS 38.300