当前位置: 首页 > article >正文

OAI 5G NR + USRP B210:从零搭建低成本开源5G实验平台

1. 为什么选择OAI和USRP B210搭建5G实验平台第一次接触5G实验平台搭建时我也被高昂的设备成本吓退过。直到发现OAIOpenAirInterface这个开源项目配合USRP B210这套性价比极高的硬件才算找到了可行的解决方案。这里先说说为什么这套组合特别适合预算有限的个人开发者和高校实验室。OAI作为欧洲EURECOM组织维护的开源项目完整实现了5G NR协议栈。虽然商用5G设备动辄几十万但用OAIUSRP B210的组合整套成本可以控制在2万元以内。USRP B210虽然带宽只有40MHz3/4采样时但对于学习5G协议和开发验证已经足够。我实测下来这套配置能稳定完成RRC连接建立全过程对于理解5G底层机制特别有帮助。相比更强大的USRP B310B210有三个明显优势价格只有B310的1/3左右USB 3.0接口即插即用省去了额外的电源和PCIe连接体积只有手掌大小搭建移动测试环境更方便。不过要注意5G信号处理对CPU要求较高建议至少配备i7-8700K级别的处理器否则物理层计算会成为瓶颈。2. 硬件准备与系统配置2.1 核心硬件选型指南我的实验平台用了以下配置运行20MHz带宽的5G NR信号非常稳定主机Intel i9-9900K8核16线程32GB DDR4内存1TB NVMe SSDUSRP B210带两根天线Ubuntu 18.04 LTS系统这里特别提醒几个容易踩坑的地方CPU选择5G LDPC编解码非常吃CPU资源实测i5处理器跑20MHz带宽都会卡顿。建议至少8核处理器有条件最好上至强金牌系列。内存带宽USRP B210通过USB 3.0传输I/Q数据双通道内存能显著降低传输延迟。系统版本OAI对Ubuntu 18.04支持最好20.04有时会出现驱动兼容性问题。2.2 Ubuntu系统优化技巧安装完Ubuntu后建议立即做以下优化# 更换为国内源以阿里云为例 sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update sudo apt upgrade -y # 安装必备工具 sudo apt install -y git vim htop gcc g make cmake libboost-all-devUSRP B210驱动安装有个小技巧先装UHD驱动再插设备。以下是完整步骤git clone https://github.com/EttusResearch/uhd.git cd uhd/host mkdir build cd build cmake ../ make -j$(nproc) sudo make install sudo ldconfig插上USRP后运行uhd_find_devices应该能看到设备信息。如果报USB权限错误记得把用户加入plugdev组sudo usermod -aG plugdev $USER3. OAI源码编译实战3.1 获取和准备源码OAI源码更新很频繁建议从GitLab拉取develop分支git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git cd openairinterface5g git checkout develop source oaienv # 初始化环境变量国内用户可能会遇到git clone慢的问题。我的经验是先尝试用SSH协议clone速度通常比HTTPS快如果卡在某个子模块可以手动到GitHub下载对应仓库放到指定目录3.2 编译技巧与排错首次编译建议使用以下命令cd cmake_targets ./build_oai -I --gNB -w USRP这个-I参数会自动安装所有依赖项。几个常见问题处理protobuf编译失败编辑build_helper文件注释掉所有wget和git操作手动下载缺失的依赖内存不足添加swap空间至少8GB或者减少make的并行线程数USB传输错误尝试更换USB3.0接口或者降低采样率后面会讲编译完成后关键可执行文件会生成在cmake_targets/ran_build/build目录下最重要的是nr-softmodemgNodeB主程序。4. 配置与启动5G基站4.1 配置文件详解OAI的配置文件在targets/PROJECTS/GENERIC-NR-5GC/CONF/目录下。以band78为例主要需要修改这些参数plmn_list ({ mcc 460; # 中国移动国家码 mnc 03; # 运营商网络码 amf_ip_address ( { ipv4 192.168.88.31; # AMF服务器IP active yes; } ); }); NETWORK_INTERFACES : { GNB_INTERFACE_NAME_FOR_NG_AMF eth0; GNB_IPV4_ADDRESS_FOR_NG_AMF 192.168.88.31/24; };特别提醒如果只是单机测试可以把AMF IP设为本机IP频点配置要符合当地法规band783.5GHz在国内需要申请许可小区IDcell_id不要与周边基站冲突4.2 启动gNodeB的技巧使用以下命令启动基站sudo ./nr-softmodem -O ../gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E关键参数说明--sa独立组网模式-E启用3/4采样率降低USB带宽压力-d启用调试日志排查问题时很有用如果看到日志输出NFAPI: gNB configuration successful说明基站启动成功。这时用支持5G的测试手机应该能搜索到小区信号需要手动设置PLMN。5. 常见问题解决方案5.1 设备连接问题症状USRP经常断开连接检查USB线材质量建议用带屏蔽的短线降低采样率添加--samp-rate 11.52e6参数在BIOS中关闭USB节能模式5.2 高CPU占用处理优化方案限制LDPC解码线程数export OAI_NR_LDPC_MAX_NUM_THREADS4关闭不必要的日志sudo ./nr-softmodem ... --noS1 --nokrnmod 15.3 信号质量优化通过uhd命令可以调整RF参数uhd_usrp_probe --argstypeb200 # 然后调整发射功率、增益等参数实测在办公室环境设置tx_gain60、rx_gain40能获得较好的信噪比。如果出现信号失真可以尝试降低带宽到10MHz测试。6. 进阶实验方向完成基础搭建后可以尝试这些扩展实验多小区组网用两台USRP B210模拟蜂窝网络端到端测试连接开源5GC如free5GC协议分析用Wireshark抓取NGAP接口报文性能优化修改OAI源码实现自定义调度算法我在实验室里用这套平台成功完成了5G URLLC业务的端到端测试时延可以稳定控制在10ms以内。虽然USRP B210的性能有限但对于协议学习和科研验证已经完全够用。

相关文章:

OAI 5G NR + USRP B210:从零搭建低成本开源5G实验平台

1. 为什么选择OAI和USRP B210搭建5G实验平台 第一次接触5G实验平台搭建时,我也被高昂的设备成本吓退过。直到发现OAI(OpenAirInterface)这个开源项目,配合USRP B210这套性价比极高的硬件,才算找到了可行的解决方案。这…...

如何在 PHP 包含文件中动态排除特定页面的导航项

...

从MPS笔试题到实战:数字IC设计中的分频器与后端流程精解

1. 从MPS笔试题看数字IC设计核心能力 去年面试MPS时,那道3分频器的笔试题让我记忆犹新。当时看到"50%占空比"这个要求时,我意识到这不仅是考察基础编码能力,更是检验对时序逻辑本质的理解。数字IC设计工程师的日常工作中&#xff0…...

告别手动升级:用HC32F072的IAP功能打造一个无线固件更新(OTA)系统

智能设备无线升级实战:基于HC32F072的OTA系统设计与实现 在物联网设备普及的今天,固件升级已成为产品生命周期管理的关键环节。想象一下,当数千台设备部署在全国各地,传统的手动升级方式不仅效率低下,还可能因操作失误…...

从Netflix开源到行业标准:VMAF模型训练与自定义实战指南

从Netflix开源到行业标准:VMAF模型训练与自定义实战指南 在视频流媒体行业,内容质量评估一直是技术团队面临的核心挑战之一。Netflix开源的VMAF(Video Multi-method Assessment Fusion)工具已经成为业界广泛认可的视频质量评估标准…...

智能抠图 API 接入实战:3 行代码实现图片自动去背景(Python / Java / PHP / JS)

在很多网站和应用场景中,都需要 自动去除图片背景,例如: 电商商品图制作 证件照制作 图片素材处理 AI设计工具 自动生成透明 PNG 如果手动使用 PS 抠图,效率非常低。 现在可以通过 AI 抠图 API,让网站自动完成 …...

OCR 识别不准确怎么办?模糊 / 倾斜 / 反光图片优化实战(附完整解决方案 + 代码示例)

在实际项目中(身份证识别、票据识别、文档解析等),很多开发者都会遇到一个问题: OCR 识别不准确,甚至识别失败,怎么办? 其实,大多数 OCR 识别效果差,并不是接口问题&…...

Pixel Language Portal 代码生成效果展示:复杂业务逻辑一键实现

Pixel Language Portal 代码生成效果展示:复杂业务逻辑一键实现 1. 开篇:当自然语言遇见代码生成 "能不能用几句话就生成一个完整的电商购物车功能?"这在过去听起来像是天方夜谭,但Pixel Language Portal让这成为了现…...

当AI开始“理财“:智能投顾是帮你赚钱还是割韭菜?

写在前面:2024年,A股市场迎来了一波AI投资热潮。各大券商、基金公司纷纷推出AI智能投顾产品,宣称"AI选股,稳赚不赔"、“智能分析,收益跑赢大盘”。然而,事实真的如此美好吗?当AI开始帮…...

3步轻松绕过iOS激活锁:让你的旧iPhone重获新生

3步轻松绕过iOS激活锁:让你的旧iPhone重获新生 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的困境?从二手市场买来的iPhone,却因为前主人的…...

SITS2026圆桌争议焦点全解析,AGI是否会在2029年前通过图灵-2.0测试?——附5家头部实验室内部基准测试原始数据

第一章:SITS2026圆桌:AGI何时到来 2026奇点智能技术大会(https://ml-summit.org) 圆桌共识与分歧焦点 在SITS2026主会场举行的“AGI何时到来”圆桌论坛中,来自DeepMind、Anthropic、中科院自动化所及OpenAI前核心架构师的六位专家展开激烈交…...

为什么92%的AGI项目注定无法跃迁至超级智能?——基于IEEE标准框架的4层能力缺口诊断

第一章:AGI与超级智能的关系探讨 2026奇点智能技术大会(https://ml-summit.org) 通用人工智能(AGI)指具备跨领域认知、自主学习、抽象推理与目标建模能力的系统,其核心在于泛化性而非任务专用性;而超级智能&#xff…...

【Tomcat】初识 Web 中间件 Tomcat

Web中间件Tomcat 1.模拟部署Tomcat [rootNginx-1 Tomcat]# ls apache-tomcat-7.0.42.tar.gz apache-tomcat-9.0.1.tar.gz jdk-8u151-linux-x64.tar.gz jspgouV6-ROOT.zip[rootNginx-1 Tomcat]# tar -xf jdk-8u151-linux-x64.tar.gz -C /usr/local/ [rootNginx-1 Tomcat]# ln…...

AGI实用化窗口期仅剩37个月?——从LLM推理能耗拐点、世界模型训练效率跃迁与具身智能硬件量产进度三重急迫信号切入

第一章:AGI发展时间线预测与争议 2026奇点智能技术大会(https://ml-summit.org) 通用人工智能(AGI)的时间线预测始终处于高度分歧之中,不同研究机构、AI实验室与思想领袖基于模型缩放律、神经科学进展、算力增长曲线及认知架构突…...

为什么硬件工程师需要一个免费开源的电路板查看器?

为什么硬件工程师需要一个免费开源的电路板查看器? 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 你是否曾面对复杂的电路板设计文件却找不到合适的查看工具?当设备出现故障时&…...

消达人s系列微纳米臭氧水机实操指南

很多新手鸡爪加工厂,面对微纳米臭氧水机,不知道如何选型、如何操作,导致设备无法发挥最佳效果,甚至出现操作失误、设备故障等问题,影响生产进度。消达人s系列微纳米臭氧水机,操作简单、适配性强&#xff0c…...

别再搞混了!一文讲清舵机PWM、伺服脉冲和占空比的区别(附示波器实测波形图)

舵机控制信号深度解析:PWM、伺服脉冲与占空比的技术本质 从电机控制到位置伺服:信号类型的根本差异 第一次接触舵机控制时,很多人会下意识地认为舵机和普通直流电机一样使用PWM信号控制——这种误解在创客社区和嵌入式新手群体中相当普遍。实…...

5个实战技巧:用ChatGPT写编程提示词避坑指南(附Python示例)

5个实战技巧:用ChatGPT写编程提示词避坑指南(附Python示例) 在AI辅助编程的时代,编写有效的提示词(Prompt)已成为开发者必备的核心技能。本指南将聚焦Python开发场景,通过5个经过实战检验的技巧…...

龙泉驿全屋智能选哪家?诺亚家总部直营+1小时服务圈,比本地店省30%

​在成都,说到“东进”和宜居,龙泉驿绝对是热门选项。这里的业主,多是追求生活品质的年轻家庭和改善型住户。随着装修季的到来,“全屋智能”几乎成了龙泉驿新家的标配。但问题也来了:市场品牌眼花缭乱,本地…...

从零到一:用RPO与RTO构建你的企业灾备蓝图

1. 为什么企业需要关注RPO和RTO? 想象一下,你经营着一家24小时营业的连锁超市。某天深夜,收银系统突然崩溃,所有交易记录都消失了。这时候你会面临两个关键问题:第一,丢失了多少笔交易记录(这是…...

问界入局豪华超充 云服务调价信号显现 游宝阁用户价值放量 半固态电池与具身智能同步落地

2026年4月17日 光锥产业快报聚焦每日热点,洞察产业趋势与商业风向从豪华新能源基础设施阵营重组,到云服务基础能力价格调整;从游戏交易平台用户价值持续放大,到手机端 AI 智能体获得权威认证;从半固态电池首次规模落地…...

OBS Advanced Timer:直播时间管理的终极解决方案

OBS Advanced Timer:直播时间管理的终极解决方案 【免费下载链接】obs-advanced-timer 项目地址: https://gitcode.com/gh_mirrors/ob/obs-advanced-timer 在直播的世界里,时间就是一切。无论是教学直播的章节控制、游戏直播的BOSS战计时&#x…...

手把手教你用CUDA_LAUNCH_BLOCKING=1精准定位PyTorch GPU训练中的诡异断言错误

手把手教你用CUDA_LAUNCH_BLOCKING1精准定位PyTorch GPU训练中的诡异断言错误 当你在PyTorch中进行GPU加速的深度学习训练时,突然遇到RuntimeError: CUDA error: device-side assert triggered这样的错误,往往会感到无比头疼。这种错误信息通常极其模糊&…...

从“按键精灵”到“内存修改器”:聊聊我这些年见过的游戏外挂技术演变史

游戏外挂技术二十年:从脚本小子到内存猎手的进化之路 2003年夏天,我在网吧第一次见识到《传奇》的"自动打怪"外挂——那个简陋的窗口上只有五个按钮,却让周围所有玩家趋之若鹜。二十年后的今天,当我在《Apex英雄》中遇到…...

LanzouAPI技术解析:如何用单文件PHP脚本破解蓝奏云下载迷局

LanzouAPI技术解析:如何用单文件PHP脚本破解蓝奏云下载迷局 【免费下载链接】LanzouAPI 蓝奏云直链,蓝奏api,蓝奏解析,蓝奏云解析API,蓝奏云带密码解析 项目地址: https://gitcode.com/gh_mirrors/la/LanzouAPI …...

不是每一天都闪闪发光,但也都算数

不是每一天都闪闪发光,但也都算数上大学以前,我对大学生活其实有很多想象。我以为大学会是那种很“热烈”的阶段。每天都过得很充实,社团、比赛、朋友、学习、自我提升,生活像开了倍速一样往前冲。好像只要迈进大学校门&#xff0…...

web ui自动化测试

AI提示词1.自动生成测试用例【截图】博客系统登录⻚⾯ 根据图⽚提供的登陆界⾯设计UI⾃动化测试⽤例,⻚⾯包含标题、导航栏和登陆表单模块要求: 1)⽤例包含登陆功能(正常、异常)、导航栏的跳转、标题的验证 2&#xff…...

Redis如何在应用启动时预热缓存数据

不可靠。应用启动时直接调用 redis-cli 或客户端批量写入易因 Redis 未就绪、网络不通、认证失败等导致失败,且缺乏重试、超时、幂等控制;应优先在应用层用客户端实现预热,并做好健康检查、分批写入与内存管控。应用启动时调用 redis-cli 或客…...

深度学习篇---预测模型训练过程中涉及的所有“维度”概念以及流程的动态变化

预测模型与分类模型虽然同属监督学习,但在输出维度、损失函数形态和评价体系上有本质区别。我们从“回归预测”的视角来拆解训练中涉及的维度概念及其动态演变。一、 数学维度流:从高维空间到连续实数值的映射预测模型的核心目标是拟合一个连续函数 yf(X…...

【人工智能】Seedream(即梦AI) 是字节跳动自研图像生成模型,Seedream API_KEY 怎么申请

Seedream(即梦AI) 是字节跳动自研图像生成模型,分国内火山引擎(火山方舟)官方、国际BytePlus、第三方中转平台三种API_KEY申请渠道,国内用户优先走火山引擎官方,无需翻墙、支持手机号、有免费额度,下面是完整详细步骤。 一、国内官方(火山引擎火山方舟,首选) Seed…...