我是靠谱客的博主 呆萌冬天,最近开发中收集的这篇文章主要介绍OAI 5G NR+USRP B210安装搭建前言1. 设备环境2. 编译运行 3. 拓展,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

前言

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正在使用的有:

  1. Intel Core i7 6900K (8 cores), 16GB DDR, 480GB SSD。允许SW LDPC运行在3个核上(高达30Mb/s),或者LDPC运行在FPGA(在80MHz SISO上高达 300Mb/s)。
  2. Intel Core i9 7980EX (18 cores)。允许LDPC SW 解码器并行在 9 或 12 个内核上(高达140Mb/s),或者LDPC运行在FPGA(同上)。
  3. Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz with 18 cores and 2x10Gbit Ethernet

1.2 USRP

USRP有三种可选:

  1. 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 系统安装 

  1. 安装系统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 multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

3.系统更新:sudo apt-get update

2. 编译运行 

2.1 OAI编译 

  1. 下载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查看是否有信息。

e023003f470544bd8ab1af08f00b9a2f.png

2.2 OAI运行 

  1. 修改配置文件
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 初始接入程序:

  1. 5G-NR RRC 连接设置
  2. NAS 认证和安全
  3. 5G-NR AS 安全程序
  4. 5G-NR RRC 重配置
  5. 开始下行和上行数据传输

-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 注意事项 

  1. 由于源码库在国外,如果编译过程中某个源码目录下载困难,可以从build_helper中将对应的git语句或wget语句复制出来,在前台直接下载,下载完成后,即刻注释掉对应rm语句和git语句,避免重复下载。
  2. 如果ubuntu 某个国内源由于更新出现问题,在本地apt-get update时出现错误,可以更换其他的国内源。
  3. 第一次编译完成,为节省后续修改代码后的编译时间,可以将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编译可以生成的二进制文件有:

  1. LTE用户: lte-uesoftmodem
  2. 5G用户端: nr-uesoftmodem
  3. LTE eNodeB: lte-softmodem
  4. 5G gNodeB: nr-softmodem
  5. LTE PHY 模拟器:dlsim和ulsim
  6. 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

  1. 该-I选项是安装先决条件,仅在第一次构建 softmodem 或某些 oai 依赖项发生更改时才需要它。
  2. 该-w选项是选择射频板支持。
  3. --eNB是构建lte-softmodem可执行文件和所有必需的共享库
  4. --gNB是构建nr-softmodem可执行文件和所有必需的共享库
  5. --UE是构建lte-uesoftmodem可执行文件和所有必需的共享库
  6. --nrUE是构建nr-uesoftmodem可执行文件和所有必需的共享库

可以实际使用情况,单独构建任何 oai softmodem 可执行文件。完成构建后,二进制文件在cmake_targets/ran_build/build目录中可用。该target/bin目录中还提供了一份副本,所有二进制文件都以 3GPP 版本号为后缀,目前是 .Rel15。

最后

以上就是呆萌冬天为你收集整理的OAI 5G NR+USRP B210安装搭建前言1. 设备环境2. 编译运行 3. 拓展的全部内容,希望文章能够帮你解决OAI 5G NR+USRP B210安装搭建前言1. 设备环境2. 编译运行 3. 拓展所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部