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

文章目录

  • 前言:什么是软件无线电SDR
  • 第1章 什么是OAI(OpenAirInterface)
    • 1.1 来自官网的概述
    • 1.2 来自github的概述
    • 1.3 来自我的解读
  • 第2章 什么是OSA
    • 2.1 OSA概述:
    • 2.2 OSA联盟职责
    • 2.3 OpenAirInterface github成员的角色
  • 第3章 常见的其他问题
    • 3.1 OAI包括哪几部分
    • 3.2 OAI 支持哪些无线技术和无线系统?
      • (1)LTE
      • (2)5G
    • 3.3 支持哪些射频硬件平台?
    • 3.4 谁可以使用OAI?
    • 3.5 谁在建设OAI?
    • 3.6 OpenAirInterface与ETTUS N210 RF一起工作吗?
    • 3.7 运行OAI需要考虑哪些射频因素?
    • 3.8 CPU要求是什么?
    • 3.9 平台软件需求是什么?
    • 3.10 UE的要求是什么?
    • 3.11 有教程吗?
    • 3.12 我如何贡献/报告错误?
    • 3.13 有持续集成框架吗?
    • 3.14:是否需要在手机上启用任何特定设置?
    • 3.15 使用什么配置文件作为起点?
    • 3.16:可以为任何波段使用上述配置文件吗?
    • 3.17:有时手机不想连接到OAI。有什么问题
  • 第4章 OAI在github中源代码的存放结构
    • 4G/5G RAN目标系统的架构
    • LTE数据处理、仿真流程
    • 协议栈
    • 说明
    • build目标代码
    • nfapi openair1 PHY与openair2 MAC接口
    • openair1 (L1: PHY+RF)
    • openair2 (L2 + L3)
    • openair3

前言:什么是软件无线电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. => 硬件环境仿真。???

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/167357.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

服务号转为订阅号可以吗

服务号和订阅号有什么区别?服务号转为订阅号有哪些作用?很多小伙伴想把服务号改为订阅号,但是不知道改了之后具体有什么作用,今天跟大家具体讲解一下。首先我们知道服务号一个月只能发四次文章,但是订阅号每天都可以发…

赴日开发工程师是做什么的?

日本的软件开发岗位对技术要求和沟通能力都有较高的要求,赴日开发工程师主要负责软件设计、开发和测试,包括编写代码、测试代码和修复漏洞等工作。开发人员必须对软件架构、设计模式和业务逻辑有深入的理解,并能做出合适的技术决策。 当然&a…

探索SPI:深入理解原理、源码与应用场景

文章目录 一、初步认识1、概念2、工作原理3、作用场景 二、源码分析1、ServiceLoader结构2、相关字段3、核心方法 三、案例connector连接器小案例1、新建SPI项目2、创建扩展实现项目1-MongoDB3、创建扩展实现项目2-Oracle4、测试 Spring应用1、创建study工程2、创建forlan-test…

系列六、多线程集合不安全

一、多线程List集合不安全 1.1、List集合不安全案例代码 /*** Author : 一叶浮萍归大海* Date: 2023/11/20 12:38* Description: 多线层环境下List集合不安全案例代码*/ public class NotSafeListMainApp {public static void main(String[] args) {List<String> list …

使用JDK自带java.util.logging.Logger引起的冲突问题

现象&#xff1a; 应用代码如下&#xff1a; import javax.script.ScriptEngineManager;ScriptEngineManager manager new ScriptEngineManager(); manager.getEngineByName("JavaScript"); 在TongWeb8上运行出错&#xff0c;日志如下&#xff1a; Servlet.servi…

反渗透水处理成套设备有哪些

反渗透水处理成套设备主要包括反渗透装置、预处理系统、控制系统等部分。 反渗透装置&#xff1a;反渗透水处理设备的核心部分&#xff0c;由反渗透膜、压力容器、膜组件等组成。反渗透膜是一种高分子材料制成的半透膜&#xff0c;能够截留水中的溶解盐、有机物、细菌等杂质&a…

Docker部署MinIO对象存储服务器结合Cpolar实现远程访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远…

同城跑腿服务预约小程序的作用是什么

随着生活质量逐渐提升&#xff0c;围绕人们生活的行业或产品非常多&#xff0c;同时互联网赋能下&#xff0c;也出现了很多便捷人们日常消费的场景&#xff0c;如外卖服务、快递服务等。 跑腿仅依赖微信私聊及电话预约是很低效且容易出错及造成极大工作压力的&#xff0c;同时…

Matlab论文插图绘制模板第127期—进阶气泡矩阵/热图

​在之前的文章中&#xff0c;分享了Matlab散点图矩阵的绘制模板&#xff1a; 也分享过气泡矩阵图的绘制模板&#xff1a; 考虑到规范性和便捷性&#xff0c;再来分享一下进阶版的气泡矩阵/热图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已…

ospf路由选路及路由汇总

一、知识补充 1、ABR和ASBR 1.1 ABR ABR指的是边界路由&#xff0c;通常位于两个或多个区域之间&#xff0c;用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时&#xff0c;它就成为了ABR&#xff0c;它需要维护每个区域的拓扑信息和路由表&#x…

SSL证书对网站SEO的好处

随着网络安全意识的提高&#xff0c;越来越多的网站开始采用SSL证书来保护自己的数据传输过程。那么&#xff0c;SSL证书真的能为网站SEO带来好处吗&#xff1f;下面将为您分析这个问题。 加强用户体验和信任度 SSL证书不仅能确保数据传输的安全性&#xff0c;还能让客户感受…

医院陪诊服务预约小程序的作用如何

对陪诊服务提供者及需求者来说&#xff0c;平台很重要&#xff0c;对服务提供者而言&#xff0c;通过微信私信/电话联系的形式很容易出现漏服务的情况&#xff0c;如遇需求者内容/地址/联系方式/哪家医院等信息提供不清或临时改变主意等&#xff0c;非常烦恼&#xff0c;同时各…

宝塔站点配置

我这里使用的thinkphp 框架部署的

计算机毕业设计选题推荐-个人博客微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

在Linux上安装RStudio工具并实现本地远程访问【内网穿透】

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…

SIMULIA|Abaqus 2022x新功能介绍第三弹

Abaqus 线性分析的功能增强 模态分析中增加connector单元的输出 模态线性动力学分析中增加下列Connector单元的输出&#xff0c;无需指定* connector MOTION即可实现&#xff1a;AXIAL&#xff0c;BUSHING&#xff0c;CARDAN&#xff0c;CARTESIAN和ROTATION。 而且改进了CT…

steam搬砖项目2023年现状分析,到底还能不能做?

关于CSGO游戏搬砖项目的5大认知误区 当前的steam搬砖项目市场正变得混乱不堪。你对该项目的了解程度决定了你是否能在这个生态系统中获得收益。 假设你有100万资金&#xff0c;想要全部投入搬砖事业&#xff0c;但对项目一无所知&#xff0c;只看中收益。即使你有充足的资金&a…

Git使用指南

文章目录 一、Git 与 GitHub 是什么&#xff1f;1.1、Git&#xff1a;版本控制系统&#xff08;Version Control System&#xff0c;VCS&#xff09;1.2、GitHub&#xff1a;代码托管平台1.3、Git 与 GitHub 的协同作用 二、Git使用指南2.1、Git下载与安装2.2、Git仓库操作2.3、…

《深入浅出OCR》实战:基于PGNet的端到端识别

✨专栏介绍: 经过几个月的精心筹备,本作者推出全新系列《深入浅出OCR》专栏,对标最全OCR教程,具体章节如导图所示,将分别从OCR技术发展、方向、概念、算法、论文、数据集等各种角度展开详细介绍。 💙个人主页: GoAI |💚 公众号: GoAI的学习小屋 | 💛交流群: 7049325…

VS2022升级之后,原有项目出现异常

最近对VS2022做了升级&#xff0c;发现之前开发的WebApi&#xff08;使用Net5&#xff09;调试运行报错&#xff1a; 根据提示的错误信息也在网上查找了一些资料&#xff0c;均无法正常解决&#xff0c;偶然发现问题是因为VS2022升级之后&#xff0c;不再支持Net5&#xff0c;…