• [OpenAirInterface-01]什么是OAI?OAI在github中源代码的存放结构


    前言:什么是软件无线电SDR

    软件定义的无线电(Software Defined Radio,SDR) 是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。

    频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。

    OpenAirInterface是软件无线电SDR的一种实现。

    第1章 什么是OAI(OpenAirInterface)

    1.1 来自官网的概述

    OpenAirInterface是一种开放软件,汇集了来自世界各地的开发人员,他们共同构建无线蜂窝接入网络(RAN)和核心网络(CN)技术.

    在这里插入图片描述

    1.2 来自github的概述

    OAI是一个开源的硬件和软件无线技术平台(模拟、仿真和实时),用于部署具有高度真实感的模拟无线蜂窝网络。

    OAI github源代码:oai / openairinterface5G · GitLab

    1.3 来自我的解读

    在这里插入图片描述

    OpenAirInterface不仅仅包括无线空口, 还包括整个无线接入网RAN,也包括核心网Core。

    OpenAirInterface不仅仅包括4G LTE, 还包括5G,也包括未来的6G

    OpenAirInterface不仅仅包括软件实体,还包括硬件与仿真(仿真硬件实体)。

    Open的含义:

    开放:是接口
    开源:是代码

    第2章 什么是OSA

    2.1 OSA概述:

    OSA:OpenAirInterface Software Alliance, 开源空口软件联盟。

    OSA成立于2014年,是一个由公司赞助商资助的法国非营利组织(又称为“Dotation基金会”)。

    OSA是OpenAirInterface成员的大本营。

    2.2 OSA联盟职责

    –软件的发展和演进路线图(进度和范围管理)

    –软件的质量控制(质量管理)。

    –推动OAI软件包,在学术界和工业界,针对不同的用例场景的部署 (市场管理)

    2.3 OpenAirInterface github成员的角色

    User:用户,使用者,这些人只使用github上提供的OpenAirInterface源代码,不参与开发。
    Developer:开发者,这些人参与OpenAirInterface源代码的开发,OpenAirInterface欢迎任何人参与开发。
    administrator:OpenAirInterface项目在github上的管理员。

    第3章 常见的其他问题

    (1)OAI官网:OpenAirInterface – 5G software alliance for democratising wireless innovation

    (2)OAI github源代码:oai / openairinterface5G · GitLab

    (3)OAI github home page:Home · Wiki · oai / openairinterface5G · GitLab

    (4)常见问题列表:FAQ · Wiki · oai / openairinterface5G · GitLab

    3.1 OAI包括哪几部分

    OpenAirInterface主要包含四个部分:

    (1)OpenAir0:无线嵌入式系统设计,包含了一些RF物理硬件相关的设计文件和firmware之类。

    (2)OpenAir1:基带信号处理,包含了一些物理层的功能模块,例如OFDM,调制解调,信道估计,编解码等等。

    (3)OpenAir2:MAC层介质访问协议,包括在PC上通过Linux的IP网络设备驱动与MPLS的互联开发第二层协议栈。

    (4)OpenAir3:无线网络,包括为全IP蜂窝与IP/MPLS网状而开发的第三层协议栈。

    上述部分,反应了5G NR的协议栈结构。

    3.2 OAI 支持哪些无线技术和无线系统?

    (1)LTE

    协议栈:OAI提供了一个完整的实验性的LTE实现(主要是Rel 8,包括部分Rel 10)。

    底层的硬件+OS平台:基于x86优化的实时Linux操作系统,并具有互通功能(也就是说它不支持ARM硬件平台和windows操作系统)

    无线系统:它包括无线接入EUTRAN(eNB和UE)和LTE核心网EPC(MME、xGW和HSS)。

    (2)5G

    目前,该项目正在与社区密切合作,以使软件朝着3GPP未来5G版本的方向发展。

    也就是说开源的5G项目正在开展,还不像4G LTE那样成熟。

    3.3 支持哪些射频硬件平台?

    法国 Eurecom EXMIMO II
    NI/ETTUS B210/X300
    BladeRF,
    LMSSDR。
    三款SDR平台对比:HackRF,bladeRF和USRP - h2z - 博客园

    3.4 谁可以使用OAI?

    作为一个开源平台,它可供学术机构、工业界和政府的研究人员使用。

    3.5 谁在建设OAI?

    OAI最初由EURECOM开发,并获得了欧洲委员会和法国政府的资助)。

    目前,它由OpenAirInterface软件联盟(OSA,www.OpenAirInterface.org)管理。

    OSA有几个工业/非营利成员;有关更多详细信息,请参阅OSA成员列表。

    3.6 OpenAirInterface与ETTUS N210 RF一起工作吗?

    简短回答:否。

    长回答:软件应该运行,但N210卡上的参考频率不足以生成所需的7.68/15.36 MHz采样频率,因此虽然软件功能工作,但无法提供业务。

    3.7 运行OAI需要考虑哪些射频因素?

    需要一个双工器、射频电缆。天线,RF电路才能正常工作。

    射频部件应与运行系统的频带/射频频率正确匹配。

    有关更多详细信息,请参阅OAI系统需求页面上的双工器部分。

    3.8 CPU要求是什么?

    最好在最新的Intel Core i5/i7上运行,最少4核。

    有关更多详细信息,请参阅OAI系统需求页面。

    3.9 平台软件需求是什么?

    需要在计算机上运行Ubuntu 14.04或更高版本。

    Ubuntu 16.04 LTS的测试正在进行。

    OAI的内核也有特定的要求。有关更多详细信息,请参阅OAI软件支持页面。

    3.10 UE的要求是什么?

    理论上没有,但最好使用官网尝试过的手机。

    最好不要从运营商处购买解锁手机,而是直接从亚马逊/易趣上的第三方供应商处购买。

    包括SIM卡编写工具。

    3.11 有教程吗?

    是的,在官网的教程页面有很多教程。

    3.12 我如何贡献/报告错误?

    需要签署许可协议,然后按照gitlab工作流/编码指南提交分支机构进行合并。

    有关更多详细信息,请参阅如何贡献页面。

    3.13 有持续集成框架吗?

    是的,官网githut上有一个CI框架,可以在不同的系统上构建多个不同的变体,运行模拟器和物理层测试。

    它还远程控制UEs、EPC、ENB并运行吞吐量测试。

    3.14:是否需要在手机上启用任何特定设置?

    是的,必须将手机置于仅LTE模式。

    如果您使用oai EPC,您还必须将蜂窝设置中的APN设置为“oai.ipv4”,或者根据您的EPC配置设置为其他内容。

    3.15 使用什么配置文件作为起点?

    对于USRP,$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE EPC/CONF/enb.band7.tm1.usrpb210.CONF

    对于BladeRF,$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.CONF

    对于LMSSDR,$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.LMSSDR.CONF

    对于EXMIMO2,$OPENAIR\u DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.EXMIMO2.CONF

    3.16:可以为任何波段使用上述配置文件吗?

    否。以上配置文件仅适用于频带7。

    在这里插入图片描述

    SDR需要对其他波段进行校准。

    官方已经为其他波段校准了一些SDR平台。

    可以在文件夹中查找其他波段的配置文件,$OPENAIR\u DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF

    注意:请勿随意更改TX/RX增益设置,因为它们会影响其他LTE参数。

    3.17:有时手机不想连接到OAI。有什么问题

    尽量避免从某个运营商购买手机。运营商的手机都有一个包装,将阻止该手机接入到其他网络,例如OAI。这是另一个解决方案,但请自行承担风险,

    https://lists.eurecom.fr/sympa/arc/openair5g-user/2016-06/msg00076.html

    第4章 OAI在github中源代码的存放结构

    4G/5G RAN目标系统的架构

    在这里插入图片描述
    注意,上述架构,分为3大组成部分, RCC, RAC, RRU

    RRU: RU => L1_Low + RF simulator =》 openair1

    RAC: DU => RLC, MAC, L1-High =》 openair2

    RRC: CU => RRC, PDCP层 =》 openair2

    F1接口:RRC与RLC接口 =》 openair2

    nFAPI接口:L1-High与L1-Low接口 =》 nFAPI

    UE核心网对等层: =》 openair3

    LTE数据处理、仿真流程

    在这里插入图片描述

    协议栈

    在这里插入图片描述

    说明

    本文只包括UE和基站的代码结构,不包括EPC和5G核心网的源代码。

    (1)EPC代码:Home · OPENAIRINTERFACE/openair-epc-fed Wiki · GitHub

    (2)5G NR核心网代码:

    build目标代码

    openairinterface5g

    ├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI. =》存放持续集成所需要所有脚本和配置文件。

    ├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files. =》 存放交叉编译所需要的各种工具以及交叉编译生成的目标文件。

    ├── common : Some common OAI utilities, other tools can be found at openair2/UTILS. =》存放一些公共的OAI工具,这些工具,主要用于目标系统。

    ├── doc : Contains an up-to-date feature set list and starting tutorials. =》支持的功能列表以及快速入门帮助文件。

    ├── executables : Top-level executable source files. =》可执行文件

    ├── LICENSE : License file.

    ├── maketags : Script to generate emacs tags. =》Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim。

    nfapi openair1 PHY与openair2 MAC接口

    ├── nfapi : Contains the NFAPI code. A local Readme file provides more details. =》 N

    FAPI接口的源代码文件, nFAPI是openair1的PHY层与openair2 MAC层之间的接口。

    openair1 (L1: PHY+RF)

    ├── openair1 : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details. =》 物理层代码,包括LTE R10/12和NR R15, 包括基站和UE.
    │ ├── PHY =》 PHY + RF 源代码
    │ ├── SCHED =》4G基站侧调度器代码
    │ ├── SCHED_NBIOT =》NBIOT调度器
    │ ├── SCHED_NR =》 5G 基站侧调度器
    │ ├── SCHED_NR_UE =》 5G UE侧调度器
    │ ├── SCHED_UE =》4GUE侧调度器代码
    │ └── SIMULATION : => PHY + RF simulation. (包括部分PHY的仿真和RF的全部仿真)

    openair2 (L2 + L3)

    ├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP.
    │ ├── COMMON
    │ ├── DOCS =》 文档说明
    │ ├── ENB_APP =》 4G LTE 基站侧负责空口与核心网接口的桥接
    │ ├── F1AP =》 4G+5G RRC与RLC的接口,也是openair2与openair3的接口
    │ ├── GNB_APP => 5G GNB 基站侧负责空口与核心网接口的桥接
    │ ├── LAYER2/RLC/ : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0. => 4G + 5G共用RLC层
    │ ├── LAYER2/PDCP/PDCP_v10.1.0 => 4G + 5G共用PDCP层
    │ ├── M2AP ???
    │ ├── MCE_APP ???
    │ ├── NETWORK_DRIVER =》 传输层驱动程序,用于硬件加速
    │ ├── NR_PHY_INTERFACE =》NR 基站MAC层与PHY层的接口
    │ ├── NR_UE_PHY_INTERFACE =》NR 手机MAC层与PHY层的接口
    │ ├── PHY_INTERFACE =》LTE 基站/手机MAC层与PHY层的接口
    │ ├── RRC =》RRC层
    │ ├── UTIL =》工具
    │ └── X2AP =》 X2AP接口

    openair3

    ├── openair3: 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
    │ ├── COMMON =》 核心网的common代码 ???
    │ ├── DOCS
    │ ├── GTPV1-U =》 GTPV1
    │ ├── M3AP =?????
    │ ├── MME_APP => MME APP
    │ ├── NAS => NAS层消息
    │ ├── S1AP => S1AP
    │ ├── SCTP
    │ ├── SECU => Security
    │ ├── TEST
    │ ├── UDP
    │ └── UTILS
    └── targets : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW. => 硬件环境仿真。???

  • 相关阅读:
    spring boot jar 启动报错 Zip64 archives are not supported
    如何用python写 翻译腔?天哪~这实在是太有趣了~
    HashMap知识总结
    Apache和Tomcat的区别
    Gallery2分析
    DevExpress Office文件API打印 PDF 文档
    QQ2 微信红包
    【树】在二叉树中增加一行 层序遍历
    Web3 基础设施协议如何尝试获取价值?
    centos系统进行pppoe拨号
  • 原文地址:https://blog.csdn.net/szm1234/article/details/134424977