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

news2024/9/21 4:30:10

文章目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【运维篇】5.4 Redis 并发延迟检测

文章目录 0.前言Redis工作原理可能引起并发延迟的常见操作和命令并发延迟检测分析和解读监控数据:优化并发延迟的策略 1. 检查CPU情况2. 检查网络情况3. 检查系统情况4. 检查连接数5. 检查持久化 :6. 检查命令执行情况 0.前言 Redis 6.0版本之前其使用单…

《视觉SLAM十四讲》-- 建图

11 建图 11.1 概述 (1)地图的几类用处: 定位:导航:机器人在地图中进行路径规划;避障重建交互:人与地图之间的互动 (2)几类地图 稀疏地图稠密地图语义地图 11.2 单目…

java学习part06数组

62-数组-数组的概述_哔哩哔哩_bilibili 这篇 Java 基础,我吹不动了 - 掘金 (juejin.cn) 1.数组概念 重点 2.数组声明和初始化 new的时候要么给出静态初始化的数据{a,b,c},要么给出动态初始化指定长度 [4]。 否则报错,初始化必须确定长度…

Positive Technologies 利用 PT Cloud Application Firewall 保护中小型企业的网络资源

云产品按月订购,无需购买硬件资源 PT Cloud Application Firewall 是 Positive Technologies 推出的首个用于保护网络应用程序的商用云产品。Web 应用层防火墙 (web application firewall, WAF) 现在可以通过 技术合作伙伴——授权服务商和云提供商以订购方式提供1…

获取阿里云Docker镜像加速器

1、阿里云官网(www.aliyun.com)注册账号 2、打开“控制台首页” 控制台首页地址:https://home.console.aliyun.com/home/dashboard/ProductAndService 3、点击“概览->容器镜像服务 ACR” 4、打开“镜像工具->镜像加速器”页面&#x…

FPGA实现双向电平转换

网上搜了一圈,好像没看到的类似的中文资料,不过MicroSemi有个文档AC349上给出了完整的解决方案,还有参考代码。 话不多说,看图: 欲知详情的朋友,请参考 AC349

vue过渡,vue3组合式API详细介绍

7.过渡效果 vue提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动画 Transition会在一个元素或组件进入和离开DOM时应用动画TransitionGroup会在一个v-for列表中的元素或组件被插入,移动,或移除时应用动画 7-1过渡效果 过渡模式 <Transition mode"out-in&q…

测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发

正交实验设计方法 一.方法简介 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人&#xff0c;给软件测试带来沉重的负担&#xff0c;为了有效…

YOLO目标检测——无人机航拍输电线路绝缘瓷瓶数据集下载分享【对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;电力系统运维、状态监测与故障诊断、智能电网建设等领域数据集说明&#xff1a;无人机航拍输电线路绝缘瓷瓶数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量…

云计算赛项容器云2023搭建

部署容器云平台[5 分] 使 用 OpenStack 私 有 云 平 台 创 建 两 台 云 主 机 &#xff0c; 云 主 机 类 型 使 用 4vCPU/12G/100G 类型&#xff0c;分别作为 Kubernetes 集群的 Master 节点和 node 节点&#xff0c; 然后完成 Kubernetes 集群的部署&#xff0c;并完成 Istio …

Linux文件目录以及文件类型

文章目录 Home根目录 //bin/sbin/etc/root/lib/dev/proc/sys/tmp/boot/mnt/media/usr 文件类型 Home 当尝试使用gedit等编辑器保存文件时&#xff0c;系统默认通常会先打开个人用户的“家”&#xff08;home&#xff09;目录&#xff0c; 建议在通常情况下个人相关的内容也是保…

Unity中Shader法线贴图(下)理论篇

文章目录 前言一、采样出错的原因二、切线空间是什么&#xff1f;切线空间图解&#xff1a; 三、计算方式1、统一变换到切线空间下进行计算2、统一变换到世界空间下进行计算 四、一般统一变换到世界空间下的坐标进行计算1、求M^-1^2、求出n~w~ 前言 这篇文章&#xff0c;主要解…

使用 VPN ,一定要知道的几个真相!

你们好&#xff0c;我的网工朋友。 今天想和你聊聊VPN。在VPN出现之前&#xff0c;企业分支之间的数据传输只能依靠现有物理网络&#xff08;例如Internet&#xff09;。 但由于Internet中存在多种不安全因素&#xff0c;报文容易被网络中的黑客窃取或篡改&#xff0c;最终造…

whisper使用方法

看这个 github https://github.com/Purfview/whisper-standalone-win/tags下载 视频提取音频 ffmpeg -i 222.mp4 -vn -b:a 128k -c:a mp3 output.mp3截取4秒后的音频 ffmpeg -i output.mp3 -ss 4 -c copy output2.mp3使用 whisper-faster.exe 生成字幕 whisper-faster.exe …

网工内推 | 国企、港企网工,年底双薪,NA以上认证即可

01 中航期货有限公司 招聘岗位&#xff1a;信息技术部-网络工程师 职责描述&#xff1a; 1、负责总部、分支机构、外联单位网络的日常运维、故障和应急处置&#xff0c;特别是定期监测设备的运行状态&#xff0c;对存在隐患的地方及时发现改正&#xff0c;保持网络稳定通畅&am…

OSG文字-显示汉字 (1)

OSG文字 适当的文字信息对于显示场景信息是非常重要的。在 OSG中&#xff0c;osgText 提供了向场景中添加文字的强大功能&#xff0c;由于有第三方插件 FreeType 的支持&#xff0c;它完全支持TrueType字体。 读者可能对 FreeType和TrueType还不太了解&#xff0c;下面进行具体…

【C++ STL】string类-----迭代器(什么是迭代器?迭代器分哪几类?迭代器的接口如何使用?)

目录 一、前言 二、什么是迭代器 三、迭代器的分类与接口 &#x1f4a6;迭代器的分类 &#x1f4a6;迭代器的接口 &#x1f4a6;迭代器与接口之间的关联 四、string类中迭代器的应用 &#x1f4a6; 定义string类----迭代器 &#x1f4a6;string类中迭代器进行遍历 ✨be…

最强英文开源模型Llama2架构与技术细节探秘

prerequisite: 最强英文开源模型LLaMA架构探秘&#xff0c;从原理到源码 Llama2 Meta AI于2023年7月19日宣布开源LLaMA模型的二代版本Llama2&#xff0c;并在原来基础上允许免费用于研究和商用。 作为LLaMA的延续和升级&#xff0c;Llama2的训练数据扩充了40%&#xff0c;达到…

浅析ChatGPT中涉及到的几种技术点

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

C语言前瞻

文章目录 C语言基础简介编译方式分布编译示例流程一步编译 代码运行运行结果展示实际代码 C语言基础简介 关于C语言的书籍&#xff0c;文章有很多。C的历史我不赘述&#xff0c;只讲C语言的基础语法和使用&#xff0c;帮助大家入门&#xff0c;同时也是自己学习过程的一个回顾。…