当前位置:网站首页>OAI 5G NR+USRP B210安装搭建

OAI 5G NR+USRP B210安装搭建

2022-07-06 12:34:00 InfoQ

 目录

前言
1. 设备环境
1.1 硬件环境
1.2 USRP
1.3 系统安装 
2. 编译运行 
2.1 OAI编译 
2.2 OAI运行 
2.3 接入测试
2.4 注意事项 
3. 拓展


前言

OAI是还算不错的5G开源代码,如同4G时的srsLTE一样。要搭建实际的OAI运行环境,必不可少的就是USRP,对于5G SA来说,最好是用USRPB310进行搭建,但B310购买相对较难,价格也偏高,而B210就要实惠多了。因此本文使用了USRP B210进行了搭建。以OAI当前开发进度,终端还不能完全入网,但RRC连接是可以走完的。

OAI(OpenAirInterface)是欧洲EURECOM组织发起并维护的一个开源NR/LTE项目。

1. 设备环境

1.1 硬件环境

5G-NR 的处理要求远高于 4G,因此需要高端的PC或服务器。目前OAI正在使用的有:
  • Intel Core i7 6900K (8 cores), 16GB DDR, 480GB SSD。允许SW LDPC运行在3个核上(高达30Mb/s),或者LDPC运行在FPGA(在80MHz SISO上高达 300Mb/s)。
  • Intel Core i9 7980EX (18 cores)。允许LDPC SW 解码器并行在 9 或 12 个内核上(高达140Mb/s),或者LDPC运行在FPGA(同上)。
  • Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz with 18 cores and 2x10Gbit Ethernet

1.2 USRP

USRP有三种可选:
  • USRP N310
这是专为 5G-NR 设计的最新版 USRP,支持高达 100MHz 的带宽。
     2. USRP X310
这个较旧的平台也适用于 5G-NR,但仅支持高达 80MHz 的带宽和 3/4 采样。
     3. USRP B210
该平台可用于使用 3/4 采样的高达 40MHz 的带宽。
我们选择了USRP B210,其简介如下:
USRP B210 提供了一个完全集成的单板通用软件无线电外设 (USRP) 平台,具有 70 MHz – 6 GHz 的连续频率覆盖范围。它专为低成本实验而设计,结合了 AD9361 RFIC 直接变频收发器,提供高达 56MHz 的实时带宽、开放且可重新编程的 Spartan6 FPGA 以及快速的
SuperSpeed USB 3.0 连接
和便捷的总线电源。

1.3 系统安装 

  • 安装系统Ubuntu 18.04。
     2. 更换163源:
sudo cp /etc/apt/sources.list /etc/apt/sources_bak.list

sudo vim /etc/apt/sources.list
注释原有的官方源,替换为以下的163源:
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
3.系统更新:sudo apt-get update

2. 编译运行 

2.1 OAI编译 

  • 下载OAI源码
git clone 
oai / openairinterface5G · GitLab
     2. 代码编译
cd 
openairinterface5g
sudo git checkout develop
source oaienv
cd cmake_targets
vim tools/build_helper
注释以下两句:
$SUDO rm -fr /opt/ssh
$SUDO git clonehttps://gist.github.com/2190472.git /opt/ssh
sudo ./build_oai -I --gNB -w USRP
     3.编译完成后,USRP驱动已经安装完毕,USRP插上USB线,运行uhd_find_devices查看是否有信息。



2.2 OAI运行 

  • 修改配置文件
vim ../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1. 106PRB.usrpb210.conf
修改plmn、AMF IP和GNB IP:
plmn_list = ({

                  mcc = 460;

                  mnc = 03;


amf_ip_address    = ( { ipv4       = "192.168.88.31";   //5GC IP

                        ipv6       = "192:168:30::17";

                        active     = "yes";

                        preference = "ipv4";

                        }

                     );



    NETWORK_INTERFACES :

    {

        GNB_INTERFACE_NAME_FOR_NG_AMF            = "eth0";

        GNB_IPV4_ADDRESS_FOR_NG_AMF              = "192.168.88.31/24";  //oai本地IP

        GNB_INTERFACE_NAME_FOR_NGU               = "eth0";

        GNB_IPV4_ADDRESS_FOR_NGU                 = "192.168.88.31/24";

        GNB_PORT_FOR_S1U                         = 2152; # Spec 2152

    };
2.启动5GC
        这里使用的是自己的5GC。
     3. 启动OAI
cd ran_build/build
sudo ./nr-softmodem -O ~/openairinterface5g/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E
--SA
sa 标志用于在独立模式下运行 gNB。
为了在独立模式下运行 gNB 和 UE,需要以下标志:
--sa
在 gNB 中,--sa 标志执行以下操作:
RRC根据配置文件对SIB1进行编码,通过NR-BCCH-DL-SCH传输。
在 UE 处,--sa 标志将:
解码 SIB1 并启动 SA 的 5G NR 初始接入程序:
  • 5G-NR RRC 连接设置
  • NAS 认证和安全
  • 5G-NR AS 安全程序
  • 5G-NR RRC 重配置
  • 开始下行和上行数据传输
-E
Apply three-quarter of sampling frequency,23.04 Msps to reduce the data rate on USB/PCIe transfers(only valid for 20MHz).

2.3 接入测试

用5G终端进行接入测试,分析Log,可以看到RRC接入过程完成。

2.4 注意事项 

  • 由于源码库在国外,如果编译过程中某个源码目录下载困难,可以从build_helper中将对应的git语句或wget语句复制出来,在前台直接下载,下载完成后,即刻注释掉对应rm语句和git语句,避免重复下载。
  • 如果ubuntu 某个国内源由于更新出现问题,在本地apt-get update时出现错误,可以更换其他的国内源。
  • 第一次编译完成,为节省后续修改代码后的编译时间,可以将build_helper中源码下载命令注释掉:
#    rm -rf /tmp/protobuf-cpp-3.3.0.tar.gz* /tmp/protobuf-3.3.0
#    wget --tries=3 --retry-connrefused https://github.com/google/protobuf/releases/download/v3.3.0/protobuf-cpp-3.3.0.tar.gz
#    rm -rf /tmp/protobuf-c
#    git clone https://github.com/protobuf-c/protobuf-c.git
#    rm -rf /tmp/uhd
#    git clone https://github.com/EttusResearch/uhd.git
#    rm -rf /tmp/bladeRF
#    git clone https://github.com/Nuand/bladeRF.git
#    rm -rf /tmp/soapysdr
#    git clone -b soapy-sdr-0.7.0 --single-branch https://github.com/pothosware/SoapySDR.git
#    $SUDO rm -rf /tmp/asn1c
#    git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c

3. 拓展

OAI编译可以生成的二进制文件有:
  • LTE用户: lte-uesoftmodem
  • 5G用户端: nr-uesoftmodem
  • LTE eNodeB: lte-softmodem
  • 5G gNodeB: nr-softmodem
  • LTE PHY 模拟器:dlsim和ulsim
  • 5G PHY 模拟器: nr_dlschsim nr_dlsim nr_pbchsim nr_pucchsim nr_ulschsim nr_ulsim polartest smallblocktest ulsim ldpctest
构建 PHY 模拟器
可以按如下方式构建 PHY 层模拟器(LTE 和 NR):
cd <your oai installation directory>/openairinterface5g/
source oaienv
cd cmake_targets/
./build_oai -I --phy_simulators
完成构建后,二进制文件在 cmake_targets/phy_simulators/build 目录中可用。target/bin 目录中也有一个副本,所有二进制文件都以 3GPP 版本号为后缀,目前是.Rel15。

构建 UE、eNodeB 和 gNodeB 可执行文件
下载源文件后,可以使用单个构建命令获取可执行文件:
cd <your oai installation directory>/openairinterface5g/
source oaienv
cd cmake_targets/
./build_oai -I -w USRP --eNB --UE --nrUE --gNB
  • 该-I选项是安装先决条件,仅在第一次构建 softmodem 或某些 oai 依赖项发生更改时才需要它。
  • 该-w选项是选择射频板支持。
  • --eNB是构建lte-softmodem可执行文件和所有必需的共享库
  • --gNB是构建nr-softmodem可执行文件和所有必需的共享库
  • --UE是构建lte-uesoftmodem可执行文件和所有必需的共享库
  • --nrUE是构建nr-uesoftmodem可执行文件和所有必需的共享库
可以实际使用情况,单独构建任何 oai softmodem 可执行文件。完成构建后,二进制文件在cmake_targets/ran_build/build目录中可用。该target/bin目录中还提供了一份副本,所有二进制文件都以 3GPP 版本号为后缀,目前是&nbsp;.Rel15。



原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/62b4522e9e63aa3b397f34b31