Integration with SDRs
5G Toolkit can be easily integrated with most of the available software-defined radios (SDRs) boards which support Python-based application programming interfaces (APIs). The users can replace the wireless channel models from our tutorials or projects with the SDR for simulations and prototyping. Currently, we have integrated and tested only with the following SDRs:
- Xilinx Zynq UltraScale + RFSoC Boards and other similar boards
Boards compatible with PYNQ API.
- NI USRPs (B200, B205-mini, B210)
SDR Boards Compatible with UHD Python API.
- Analog Devices SDR Boards such as Pluto, Phasor
SDR Boards compatible with ADI Python API.
Note
In any form, the above list of SDRs is not exhaustive. There are many SDRs outside of above list which can be integrated with the 5G Toolkit but are not included solely because of their unavailability with us at this point of time.
This section contains tutorials that demonstrate how to integrate various SDRs with the 5G Toolkit. Our goal is to provide at least one tutorial for each SDR family mentioned above. For SDRs belonging to the same family, the implementation process should be similar. However, if you encounter any difficulties while integrating your SDR with our toolkit, please don’t hesitate to contact us at toolkit5G@gigayasa.com. We would be glad to assist you.
Note
- All the tutorials will be organized in three scripts where
Script-1: End to End emulation using a single SDR.
Script-2: Transmitter side script implemented over SDR-1.
Script-3: Receiver side script implemented over SDR-2.
Please download all the SDR based tutorials from here: 5G on SDRs
Tutorials
- Time/OFDM Symbol Synchronization using PSS in 5G
- Downlink Time/Frame Synchronization using PSS in 5G Networks
- Import Libraries
- Emulation Parameters
- Generate SSB Parameters
- Construct Transmission Grid and Generate Time Domain Samples
- SDR-Setup Configurations
- Transmission: SDR RF Transmitter
- Reception: SDR RF Receiver
- Time Synchronization: Based on PSS Correlation
- Frame Synchronization: Visualization
- Saving Running frames
- [BS Side Implementation]-Downlink Time/Frame Synchronization using PSS in 5G Networks
- [UE Side Implementation]-Downlink Time/Frame Synchronization using PSS in 5G Networks
- Downlink Time/Frame Synchronization using PSS in 5G Networks
- Downlink Synchronization using SSB in 5G Networks
- Downlink Synchronization in 5G Networks: SSB
- Import Libraries
- Emulation Configurations
- Transmitter Implementation
- Generate the SSB Grid for synchronization
- Constellation Diagram
- OFDM Modulation: Tx
- SDR-Setup Configurations
- Transmission: SDR RF Transmitter
- Receiver Implementation
- Reception: SDR RF Receiver
- Time Synchronization: Based on PSS Correlation
- OFDM Demodulation and SSB Extraction
- SSB Grid: Transmitter and Receiver
- Spectrum: Transmitted Grid and Received Grid
- Parameter Estimation for SSB and PBCH
- Channel Estimation and PBCH Symbol Equalization
- PBCH Decoding and Constellation
- Performance Verification
- Downlink Synchronization in 5G Networks: SSB
- Downlink Data Communication using PDSCH in 5G Networks
- Downlink Data Communication in 5G Networks
- Import Python Libraries
- 5G Toolkit Libraries
- Simulation Parameters
- PDSCH Transmitter Implementation
- Generate the PDSCH related parameters: Use PDSCH Configurations
- Generate the PDSCH Resource Grid
- SSB Transmitter Implementation
- Generate the SSB Resource Grid
- SDR-Setup Configurations
- Transmission: SDR RF Transmitter
- Receiver Implementation: SSB
- Reception: SDR RF Receiver
- Time Synchronization: Based on PSS Correlation
- PBCH Receiver
- SSB Grid: Transmitter and Receiver
- Spectrum: Transmitted Grid and Received Grid
- PBCH Decoding and Constellation
- Performance Verification
- PDSCH Recourse Implementation
- Extract PDSCH Resource Grid
- PDSCH Receiver
- Key Performance Indicators
- Downlink Data Communication in 5G Networks