OpenAirInterface项目解析 01 前言

无线通信没落了,通信专业已经沦为赛博土木了。写本系列文章不求热度,如果有人恰好对无线通信有兴趣,或者未来多少年后无线通信又翻红了,希望本系列文章能提供些帮助。

1. 写作动机

作者曾是一名无线通信专业研究生,研究生自然逃不掉写论文。很长时间以来通信专业的大部分论文都在自娱自乐:提出一个通信场景,构建一个优化问题,早些年通常用最优化的方法求解,判断数学模型是否为凸函数,如果是则这个模型太简单没法发到“好”期刊上,如果不是则拉格朗日对偶或放松约束或推导上下界,得到一系列华丽的求解过程。后来有了机器学习,用当下流行的机器学习模型求解便成了发论文的捷径,大家在各自的场景或模型中成为最强,显得十分草台。

事实上通信标准领域是相当规范的,LTE/NR、IEEE 802.11、DVB都是成熟先进的通信协议。标准化过程中各家公司进行大量的仿真,在会上进行充分的性能对比。标准定下来后,后续的算法优化便有了统一的benchmark,以此为基准进行学术研究才是行业推进的正路。很可惜作者在毕业前都没有系统地学习过一种无线通信标准,这也是通信专业高等教育的一大问题。

OAI恰好为研究5G/6G的研究生或从业者提供了一个很好的平台。高校如果能利用好OAI,不论是本科生的教学,还是研究生的学术研究,都能实实在在提升学生对5G系统的理解。虽然这只是一厢情愿的幻想,但这确实是作者的写作动机。

2. 项目介绍

“OpenAirInterface是一个开源的软件定义无线电(SDR)平台,主要用于5G和4G/LTE网络的研究与开发。它提供了从物理层到核心网的完整端到端实现,包括基站(eNB/gNB)、用户设备(UE)和核心网(EPC/5GC)组件。该项目由欧洲电信标准协会(ETSI)推动,旨在促进无线通信技术的创新、实验和标准化验证,广泛应用于学术界、工业界的研究原型和测试环境中。”以上来自AI总结。

OAI RAN侧代码主要由C语言开发,包含完整的物理层和协议栈功能,还提供了多种射频卡接口。OAI还提供了开源核心网OAI CN,与OAI RAN一起能够提供完整的蜂窝网络服务。这意味着用一台Linux主机+USRP B200不到5000块就能搭建一个私有5G基站,再烧一些SIM卡就组成了一套私有5G网络,成本相当低。因此国内外许多高校和企业基于OAI项目开发样机,更有一些低素质企业基于OAI开发产品售卖。

3. 同类型项目对比

OAI不是唯一的开源5G/4G项目,同类型竞品还有srsRAN和cuBB。srsRAN从srsLTE项目演进而来,比OAI出现更早,采用C++作为开发语言。cuBB是Nvidia AI-RAN项目,2025年完全开源,目的是在GPU进行RAN处理,以cuda作为开发语言。

cuBB只能跑在Nvidia GPU上,OAI和srsRAN支持x86和arm平台。srsRAN优化更好、更稳定,被指定为OCUDU的RAN框架,其稳定性足以作为小型商用基站使用。但由于其基于C++ 14开发,上手难度大,二次开发门槛高,因此OAI更受科研机构和企业青睐。OAI虽然bug较多,好在项目还在发展期,bug修复速度较快,并且新的feature开发进度迅速。项目包容度也不错,对intel加速卡、GPU译码都提供了一些接口。C语言代码比C++更直观,代码架构清晰,适合编程能力较弱的通信从业者。

4. 本系列介绍框架

作者研究生和工作都聚焦于物理层,因此本系列分享以物理层为主。后续学习高层有一些心得的话也会增加对高层内容的介绍。目前预期的文章框架如下。

序号 内容 链接
02 代码部署 https://www.cnblogs.com/xiayuanupup/p/19751138
03 初始接入流程 https://www.cnblogs.com/xiayuanupup/p/19752488
04 SSB
05 PDCCH
06 PDSCH
07 PRACH
08 PUSCH
09 PUCCH
10 OAI系统时序
11 OAI多线程
12 层间接口

如果您发现错误请在评论区指正,作者看到会向您表示感谢。有疑问也可以在评论区留言,作者看到会尽量解答。转载请注明出处。

posted @ 2026-03-27 20:33  xiayuan_up  阅读(4)  评论(0)    收藏  举报