Skip to content

GermanAizek/srsRAN_Project

 
 

Repository files navigation

srsRAN Project

Build Status CodeQL

The srsRAN Project is a complete 5G RAN solution, featuring an ORAN-native CU/DU developed by SRS.

The solution includes a complete L1/2/3 implementation with minimal external dependencies. Portable across processor architectures, the software has been optimized for x86 and ARM. srsRAN follows the 3GPP 5G system architecture implementing the functional splits between distributed unit (DU) and centralized unit (CU). The CU is further disaggregated into control plane (CU-CP) and user-plane (CU-UP).

See the srsRAN Project for information, guides and project news.

For application features, build instructions and user guides see the srsRAN Project documentation.

For community announcements and support, join our discussion board.

Current Features

  • FDD/TDD supported, all FR1 bands
  • 15/30 KHz subcarrier spacing
  • All physical channels including PUCCH Format 1 and 2, excluding Sounding-RS
  • Highly optimized LDPC and Polar encoder/decoder for ARM Neon and x86 AVX2/AVX512
  • All RRC procedures excluding Mobility, Paging and Reestablishment
  • All MAC procedures excluding power control
  • Tested Performance:
    • 64 simultaneous users
    • Simultaneous 140 Mbps DL and 120 Mbps UL in TDD-100 MHz or FDD-50 MHz configuration (running in AMD Ryzen5 6-core CPU)

License

For license details, see LICENSE file.

Build Preparation

You can install the build tools and mandatory requirements for some example distributions with the commands below:

Ubuntu 22.04
sudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev
Fedora
sudo yum install cmake make gcc gcc-c++ fftw-devel lksctp-tools-devel yaml-cpp-devel mbedtls-devel gtest-devel
Arch Linux
sudo pacman -S cmake make base-devel fftw mbedtls yaml-cpp lksctp-tools gtest

The srsRAN Project uses RF drivers to support different radio types. Currently, only UHD is supported however additional drivers are under development:

Build Instructions

Download and build srsRAN:

git clone https://github.com/srsran/srsRAN_Project.git
cd srsRAN_Project
mkdir build
cd build
cmake ..
make
make test

Run PHY testvector tests:

A number of PHY tests are based on MATLAB generated testvectors. By default, those tests are disabled. The following steps are required to enable them:

  1. Download the PHY testvector set.
  2. Copy the PHY testvectors to its location within srsRAN:
tar -xzf phy_testvectors.tar.gz -C /path_to_your_local_repository/srsgnb/
  1. Enable the use of PHY testvectors by modifying the root CMakeLists as shown below:
option(USE_PHY_TESTVECTORS   "Enable testvector PHY tests"              ON)
  1. Do a fresh srsRAN build.

About

Open source O-RAN 5G CU/DU solution from Software Radio Systems (SRS) https://docs.srsran.com/projects/project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.1%
  • Other 0.9%