【USRP】srsRAN 开源 4G 软件无线电套件

news2025/4/17 12:16:43

srsRAN 是SRS开发的开源 4G 软件无线电套件。

srsRAN套件包括:

  • srsUE - 具有原型 5G 功能的全栈 SDR 4G UE 应用程序
  • srsENB - 全栈 SDR 4G eNodeB 应用程序
  • srsEPC——具有 MME、HSS 和 S/P-GW 的轻量级 4G 核心网络实现

在这里插入图片描述

安装系统

Ubuntu 20.04

USRP B210

sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host

//镜像下载
sudo uhd_images_downloader
//查找设备 
sudo uhd_find_devices
//查看设备信息
sudo uhd_usrp_probe

srsRAN

sudo add-apt-repository ppa:softwareradiosystems/srsran
sudo apt-get update
sudo apt-get install srsran -y

运行 srsUE

srsUE 是一款 4G LTE UE 调制解调器,其原型 5G NR 功能完全以软件实现。srsUE 以应用程序的形式运行在基于 Linux 的标准操作系统上,可连接到任何 LTE 网络并提供具有高速移动连接的标准网络接口。

运行

开一个终端,运行:

sudo srsue

在这里插入图片描述
在这里插入图片描述
软然后开一个终端去ping基站
在这里插入图片描述

ping 172.16.0.1

就可以看到UE发信号了。

配置UE得参数,配置:ue.conf

sudo srsue ~/.config/srsran/ue.conf

srsUE 默认使用虚拟 USIM 卡,参数来自ue.conf。这些参数包括:

  • ALGO - 要使用的身份验证算法(MILENAGE 或 XOR)

  • IMSI——USIM 的唯一标识符

  • K - EPC 中与 HSS 共享的密钥

  • OP 或 OPc - 操作员代码(仅用于 MILENAGE 算法)

要成功连接到网络,这些参数需要与 EPC 的 HSS 中的参数相匹配。MILENAGE 是大多数网络中使用的算法,XOR 算法主要由测试设备和测试 USIM 卡使用。OP 是网络范围的运营商代码,OPc 是 USIM 特定的加密运营商代码 - 两者都受 srsUE 支持。

终端架构

在这里插入图片描述
srsUE应用程序包括第1层、第2层和第3层,如上图所示。

物理层 (PHY) 位于 UE 协议栈的底层,通过空中接口传输来自 MAC 的所有信息。它负责链路自适应、功率控制、小区搜索和小区测量。

媒体访问控制 (MAC) 层将一个或多个逻辑信道之间的数据复用为传输块 (TB),然后将其传递到 PHY 层或从 PHY 层传递出去。MAC 负责与 eNodeB 进行控制和调度信息交换、重传和纠错 (HARQ) 以及逻辑信道之间的优先级处理。

无线链路控制 (RLC) 层可以以三种模式之一运行:透明模式 ™、非确认模式 (UM) 和确认模式 (AM)。RLC 管理多个逻辑信道或承载器,每个逻辑信道或承载器都以这三种模式之一运行。透明模式承载器只需通过 RLC 传递数据。非确认模式承载器执行数据单元的连接、分段和重组、重新排序和重复检测。确认模式承载器还执行丢失数据单元的重新传输和重新分段。

分组数据汇聚协议 (PDCP) 层负责控制和数据平面流量的加密、控制平面流量的完整性保护、重复丢弃以及控制和数据平面流量到/从 RRC 层和 GW 层的按顺序传送。如果支持,PDCP 层还会执行 IP 数据的报头压缩 (ROHC)。

无线资源控制 (RRC) 层管理 UE 和 eNodeB 之间的控制平面交换。它使用网络广播的系统信息来配置 UE 的较低层,并处理与 eNodeB 的 RRC 连接的建立、维护和释放。RRC 管理小区搜索以支持小区选择以及小区测量报告和相邻小区之间切换的移动性控制。RRC 还负责处理和响应来自网络的寻呼消息。最后,RRC 管理密钥管理的安全功能以及无线承载的建立、配置、维护和释放。

非接入层 (NAS) 层管理 UE 与核心网络 (EPC) 内的实体之间的控制平面交换。它控制 PLMN 选择并管理网络附加程序,与 EPC 交换标识和身份验证信息。NAS 负责建立和维护 UE 与 EPC 内的 PDN 网关之间的 IP 连接。

srsUE 中的网关 (GW) 层负责创建和维护 TUN 虚拟网络内核接口,模拟 Linux 操作系统中的网络层设备。GW 层允许 srsUE 作为用户空间应用程序运行,并使用数据平面 IP 数据包进行操作。

SRS UE具有以下特点:

  • LTE 版本 10 与版本 15 的功能一致

  • 原型 5G NSA 和 SA 支持

  • TDD 和 FDD 配置

  • 测试的 LTE 带宽:1.4、3、5、10、15 和 20 MHz

  • 测试的 5G SA 带宽:5、10、15 和 20 MHz

  • 传输模式 1(单天线)、2(发射分集)、3(CCD)和 4(闭环空间复用)

  • 可手动配置 DL/UL 载波频率

  • 支持XOR/Milenage认证的软USIM

  • 通过 PC/SC 支持硬 USIM

  • Snow3G 和 AES 完整性/加密支持

  • Linux OS 的 TUN 虚拟网络内核接口集成

  • 具有每层日志级别和十六进制转储的详细日志系统

  • MAC 和 NAS 层 wireshark 数据包捕获

  • 命令行跟踪指标

  • 详细输入配置文件

  • 演进型多媒体广播和多播服务 (eMBMS)

  • 基于频率的 ZF 和 MMSE 均衡器

  • Intel SSE4.1/AVX2 (+150 Mbps) 中提供高度优化的 Turbo 解码器

  • EPA、EVA 和 ETU 3GPP 信道的信道模拟器

  • QoS 支持

  • 20 MHz MIMO TM3/TM4 或 2xCA 配置下 150 Mbps DL(QAM256 下 195 Mbps)

  • 20 MHz SISO 配置下 DL 为 75 Mbps(QAM256 配置下为 98 Mbps)

  • 10 MHz SISO 配置下 36 Mbps DL

  • 支持 Ettus USRP B2x0/X3x0 系列、BladeRF、LimeSDR

运行 srsENB 和 srsEPC

运行

请开两个终端,第一个运行:

sudo srsepc

第二个运行:

sudo srsenb

在这里插入图片描述
在这里插入图片描述
可以通过配置文件配置 eNodeb : enb.conf此配置文件提供与小区配置、工作频率、传输功率级别、日志级别等相关的参数。要使用已安装的配置文件运行 srsENB,请使用。sudo srsenb ~/.config/srsran/enb.conf

除了顶层配置文件之外,srsENB 还使用单独的文件来配置 SIB(sib.conf)、无线电资源(rr.conf)和数据承载(drb.conf)。这些附加配置文件列在顶层 enb.conf 中的 [enb_files] 下,并为每个文件提供默认值。

一个关键的 eNodeB 参数是 enb.mme_addr,它指定核心网络 MME 的 IP 地址。默认配置假设 srsEPC 在同一台机器上运行。

srsENB LTE eNodeB 具有以下特点:

LTE 版本 10 与版本 15 的功能一致

  • 原型 5G NR 支持 5G NSA 和 SA

  • FDD 配置

  • 测试带宽:1.4、3、5、10、15 和 20 MHz

  • 传输模式 1(单天线)、2(发射分集)、3(CCD)和 4(闭环空间复用)

  • 基于频率的 ZF 和 MMSE 均衡器

  • 演进型多媒体广播和多播服务 (eMBMS)

  • Intel SSE4.1/AVX2 (+150 Mbps) 中提供高度优化的 Turbo 解码器

  • 具有每层日志级别和十六进制转储的详细日志系统

  • MAC层wireshark抓包

  • 命令行跟踪指标

  • 详细输入配置文件

  • EPA、EVA 和 ETU 3GPP 信道的信道模拟器

  • 基于 ZeroMQ 的 I/Q 伪 RF 驱动程序

  • ENB 内和 ENB 间 (S1) 移动性支持

  • 具有类似 FAPI 的 C++ API 的比例公平和循环 MAC 调度程序

  • SR 支持

  • 支持定期和非定期 CQI 反馈

  • 标准 S1AP 和 GTP-U 接口至核心网络

  • 20 MHz MIMO TM3/TM4 下行速率为 150 Mbps,商用 UE 可实现(QAM256 下行速率为 195 Mbps)

  • 采用 SISO 配置,使用商用 UE,下行速率为 75 Mbps

  • 商用 UE 在 20 MHz 下实现 50 Mbps UL

  • 用户平面加密

srsEPC 是完整 LTE 核心网络 (EPC) 的轻量级实现。srsEPC 应用程序以单个二进制文件运行,但提供家庭用户服务 (HSS)、移动管理实体 (MME)、服务网关 (S-GW) 和分组数据网络网关 (P-GW) 等关键 EPC 组件。srsEPC 应用程序不适用于部署,但可用于测试。

在这里插入图片描述
上图说明了EPC的主要组件以及它们之间的主要接口。

  • HSS:归属用户服务(HSS)是用户数据库。它存储用户 ID、密钥、使用限制等信息。它负责对用户访问网络进行身份验证和授权。

  • MME:移动管理实体 (MME) 是网络中的主要控制元素。它处理移动性和附加控制消息。它还负责寻呼空闲模式下的 UE。

  • S-GW:S-GW 是用户的主要数据平面网关,因为它为 UE 提供移动锚点。它充当 IP 路由器,帮助在 eNB 和 P-GW 之间建立 GTP 会话。

  • P-GW:分组网关 (P-GW) 是与外部网络的接触点。它强制执行用户会话的 QoS 参数。

为了提供完整的端到端 LTE 网络,请将 srsEPC 与 srsENB 和 srsUE 一起使用。

为了使 UE 能够连接到互联网,必须进行 IP 伪装。如果没有伪装,Linux 内核将不会执行从一个子网到另一个子网的数据包转发。

为了实现此功能,您可以运行一个便捷脚本,其中out_interface是将 PC 连接到互联网的接口。

sudo srsepc_if_masq <out_interface>

参考

https://www.srslte.com/4g

在这里插入图片描述

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

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

相关文章

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第二篇:项目创建和初始化

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 《从零搭建Vue3项目实战》&#xff08;AI辅助…

简单线程池实现

线程池的概念 线程池内部可以预先去进行创建出一批线程&#xff0c;对于每一个线程&#xff0c;它都会周期性的进行我们的任务处理。 线程内部在维护一个任务队列&#xff0c;其中我们外部可以向任务队列里放任务&#xff0c;然后内部的线程从任务队列里取任务&#xff0c;如…

CentOS7 安装 LLaMA-Factory

虚拟机尽量搞大 硬盘我配置了80G&#xff0c;内存20G 下载源码 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git 如果下载不了&#xff0c;可以进入github手动下载&#xff0c;然后在传入服务器。 也可以去码云搜索后下载 安装conda CentOS7安装conda…

最新扣子(Coze)案例教程:最新抖音视频文案提取方法替代方案,音频视频提取文案插件制作,手把手教学,完全免费教程

&#x1f468;‍&#x1f4bb; 星球群同学反馈&#xff0c;扣子平台的视频提取插件已下架&#xff0c;很多智能体及工作流不能使用&#xff0c;斜杠君这里研究了一个替代方案分享给大家。 方案原理&#xff1a;无论是任何视频或音频转文案&#xff0c;我们提取的方式首先都是要…

adb检测不到原来的设备List of devices attached解决办法

进设备管理器-通用串行总线设备 卸载无法检测到的设备驱动 重新拔插数据线

案例分享(七):实现Apache-sharding-proxy的监控

案例分享(七):实现Apache-sharding-proxy的监控 背景部署流程背景 因业务需求,实现Apache-sharding-proxy的监控(基于Apache-sharding-agent)。 部署流程 1.下载agent的包,选择与sharding版本一致,要不然无法启动sharding 2.点击5.3.0之后可以看到有sharding,proxy…

docker 安装 awvs15

安装好 docker bash <(curl -sLk https://www.fahai.org/aDisk/Awvs/check.sh) xrsec/awvs:v15等待完成后访问即可 地址: https://server_ip:3443/#/login UserName: awvsawvs.lan PassWord: Awvsawvs.lan修改密码 docker ps -a //查看容器&#xff0c;找到相应id d…

Flutter:Flutter SDK版本控制,fvm安装使用

1、首先已经安装了Dart&#xff0c;cmd中执行 dart pub global activate fvm2、windows配置系统环境变量 fvm --version3、查看本地已安装的 Flutter 版本 fvm releases4、验证当前使用的 Flutter 版本&#xff1a; fvm flutter --version5、切换到特定版本的 Flutter fvm use …

碰一碰发视频源头开发技术服务商

碰一碰发视频系统 随着短视频平台的兴起&#xff0c;用户的创作与分享需求日益增长。而如何让视频分享更加便捷、有趣&#xff0c;则成为各大平台优化的重点方向之一。抖音作为国内领先的短视频平台&#xff0c;在2023年推出了“碰一碰”功能&#xff0c;通过近距离通信技术实…

Oracle 23ai Vector Search 系列之4 VECTOR数据类型和基本操作

文章目录 Oracle 23ai Vector Search 系列之4 VECTOR数据类型和基本操作VECTOR 数据类型基本语法Vector 维度限制和向量大小向量存储格式&#xff08;DENSE vs SPARSE&#xff09;1. DENSE存储2. SPARSE存储3. 内部存储与空间计算 Oracle VECTOR数据类型的声明格式VECTOR基本操…

C++day8

思维导图 牛客练习 练习 #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> using namespace std; class user{ public: …

MySQL的进阶语法8(SQL优化——insert、主键、order by、group by、limit、count和update)

目录 一、插入数据 1.1 insert 1.2 大批量插入数据 二、主键优化 2.1 数据组织方式 2.2 页分裂 2.2.1 主键顺序插入效果 2.2.2 主键乱序插入效果 2.3 页合并 2.4 索引设计原则 三、order by优化 3.1 执行以下两条语句&#xff08;无索引&#xff09; 3.2 创建索引…

自然语言处理利器NLTK:从入门到核心功能解析

文章目录 一、NLP领域的基石工具包二、NLTK核心模块全景解析1 数据获取与预处理2 语言特征发现3 语义与推理 三、设计哲学与架构优势1 四维设计原则2 性能优化策略 四、典型应用场景1 学术研究2 工业实践 五、生态系统与未来演进 一、NLP领域的基石工具包 自然语言工具包&…

使用Docker安装及使用最新版本的Jenkins

1. 拉取镜像 通过Windows powerShell执行命令行&#xff08;2选1&#xff09;&#xff1a; -- 长期支持版 docker pull jenkins/jenkins:lts-- 最新版 docker pull jenkins/jenkins:latest 2. 创建并执行容器 你可以通过以下命令来运行Jenkins容器&#xff0c;执行命令&…

15-产品经理-维护需求

一、提研发需求 在产品–研发需求列表页&#xff0c;点击“提研发需求”按钮&#xff0c; 在提研发需求页面&#xff0c;可以选择已有的计划。也可以在计划页面里进行关联。 未编辑完的需求可以点击【存为草稿】按钮&#xff0c;保存为草稿状态&#xff0c;待编辑完成再选择提…

js前端对时间进行格式处理

时间格式处理 通过js前端&#xff0c;使用dayjs库进行格式化 安装dayjs库 npm install dayjs 封装成日期格式化工具类 formatter.ts // 导入 dayjs&#xff0c;先安装依赖 npm install dayjs import dayjs from "dayjs"; import utc from "dayjs/plugin/utc…

如何拿到iframe中嵌入的游戏数据

在 iframe 中嵌入的游戏数据是否能被获取&#xff0c;取决于以下几个关键因素&#xff1a; 1. 同源策略 浏览器的同源策略是核心限制。如果父页面和 iframe 中的内容同源&#xff08;即协议、域名和端口号完全相同&#xff09;&#xff0c;那么可以直接通过 JavaScript 访问 …

Chrome 135 版本新特性

Chrome 135 版本新特性 一、Chrome 135 版本浏览器更新 ** 1. 第三方托管账户注册迁移到 OIDC 授权码流程** Chrome 135 将账户注册的登录页面从营销网站迁移到动态网站&#xff0c;同时也将 OpenID Connect (OIDC) 的隐式流程迁移到授权码流程。这样做的目的是进一步提升第…

【Vue-组件】学习笔记

目录 <<回到导览组件1.项目1.1.Vue Cli1.2.项目目录1.3.运行流程1.4.组件的组成1.5.注意事项 2.组件2.1.组件注册2.2.scoped样式冲突2.3.data是一个函数2.4.props详解2.5.data和prop的区别 3.组件通信3.1.父子通信3.1.1.父传子&#xff08;props&#xff09;3.1.2.子传父…

(PROFINET 转 EtherCAT)EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

型号 协议转换通信网关 PROFINET 转 EtherCAT MS-GW31 概述 MS-GW31 是 PROFINET 和 EtherCAT 协议转换网关&#xff0c;为用户提供两种不同通讯协议的 PLC 进行数据交互的解决方案&#xff0c;可以轻松容易将 EtherCAT 网络接入 PROFINET 网络中&#xff0c;方便扩展&…