srsLTE:高度模块化的 3GPP LTE 开源库

srsLTE 是由 SRS 开发的一款 SDR UE 和 eNodeB 的免费且开源的 LTE 库。该库采用最低的内置模块和外部依赖方式实现了高度模块化。它完全是由 C 语言编写,因此如果在系统中可用,可以使用加速库 VOLK 将其分布在 GNURadio 上。

srsLTE 使用的是 srsUE,一个 LTE UE 的全栈(PHY 至 IP)实现。srsUE 地址:https://github.com/srslte/srsue

srsLET 的软件许可为 AGPLv3。

当前特性:

  • 兼容 LTE 第 8 发布版本;
  • FDD 配置;
  • 测试带宽:1.4、3、5、10、15 和 20 MHz;
  • 传输方式 1(单天线)和 2(发射分集);
  • UE 端的小区搜索和同步过程;
  • UE 和 eNodeB 端支持所有 DL 频道/信号:PSS、SSS、 PBCH、 PCFICH、 PHICH、 PDCCH、 PDSCH;
  • UE 端支持所有 UL 频道/信号: PRACH、PUSCH、PUCCH、SRS;
  • 基于频率 ZF 和 MMSE 均衡器;
  • 可用于 Intel SSE4.1/AVX(+100 Mbps)和 C标准(+25Mbps)的高度优化的 Turbo 解码器;
  • MATLAB 和 OCTAVE MEX 库生成许多组件;
  • UE 接收方测试且验证 Amarisoft LTE 100 eNodeB 和商业化 LTE 网络(爱尔兰的 Telefonica Spain、Three.ie 和 Eircom)。

更新后舍去的特性:

  • 闭环功率控制
  • Semi-Persistent 调度

硬件

该库目前支持 Ettus Universal Hardware Driver(UHD)和 bladeRF 驱动。另外,适用于 UHD 或 bladeRF 驱动的任何硬件也都支持。其中没有采样率转换,因此为了保持 LTE 基站中 LTE 抽样频率和解码信号正常工作,硬件应该支持 30.72 MHz的采样率。

我们已测试以下硬件:

  • USRP B210
  • USRP X300
  • bladeRF

运行 srsLTE

  • 商业化 LTE 网络的 SLB1 接收和 UE 测量:
lte/examples/pdsch_ue -f [frequency_in_Hz]

其中 -f 是 LTE 频道频率。

  • eNodeB端 至 UE 端 下行 PHY 测试

需要两台电脑,每台配备一个 USRP。在发送器端运行:

lte/examples/pdsch_enodeb -f [frequency_in_Hz] [-h for more commands]

接收端运行:

lte/examples/pdsch_ue -r 1234 -f [frequency_in_Hz]

在发送器的控制台,通过键入一串新的数字(0-28之间)可以改变调制和编码方案(MCS)。

在接收端的输出类似于下图。在这个案例中,我们在中间演示过程中移除发送器和接收机天线,结果显示接收端仍可能接收。
https://www.dropbox.com/s/txh1nuzdb0igq5n/demo_pbch.ogv(需科学上网)

srsLTE:高度模块化的 3GPP LTE 开源库_第1张图片

  • 视频下行 PHY(eNodeB 至 UE 端)

上一个例子是发送随机二进制数字至 UE 端。在 LTE PHY DL 无线连接中打开 TCP 套接字和流视频。在发送机端,运行以下命令:

lte/examples/pdsch_enodeb -f [frequency_in_Hz] -u 2000 [-h for more commands]

参数 -u 2000 将开放端口 2000 用于监听 TCP 连接。设置一个高阶 MCS,如16,在 eNodeB 控制台输入 16 并按回车键。

lte/examples/pdsch_ue -r 1234 -u 2001 -U 127.0.0.1 -f [frequency_in_Hz]

参数 -u 2001 -U 127.0.0.1 是指在 eNodeB 端定向注入地址:通过参数显示端口。一旦系统运行,就可以发送一些有用的数据,如视频流。在发送器端,运行:

avconv -f video4linux2 -i /dev/video0 -c:v mp4 -f mpegts tcp://127.0.0.1:2000 

通过本地主机端口 2000从摄像头捕获流视频。在接收端运行:

avplay tcp://127.0.0.1:2001?listen -analyzeduration 100 -loglevel verbose

来观看视频。

更多内容,详见 Github:https://github.com/srsLTE/srsLTE

srsLTE:高度模块化的 3GPP LTE 开源库_第2张图片

你可能感兴趣的:(srsLTE:高度模块化的 3GPP LTE 开源库)