文档结构  
可译网翻译有奖活动正在进行中,查看详情 现在前往 注册?
原作者:srsLTE    来源:Github [英文]
CY2    计算机    2016-07-14    0评/472阅
翻译进度:86%   参与翻译: ExDevilLee (6)

srsLTE

srsLTE 是一款 SRS 公司开发的 SDR UE 和 eNodeB 的开源免费的 LTE 类库。该类库是一个有着最低限度的模块间依赖或外部依赖的高度模块化的类库。它完全用C语言编写,如果系统支持的话,可以用VOLK(加速度库)将其分布式部署在GNURadio上。

srsLTE 使用的是 srsUE,一个 LTE UE 的全栈 (从 PHY 到 IP)实现。srsUE 可在这里获取 https://github.com/srslte/srsue

新闻:我们刚刚发布了 srsUE 1.2 版本,其中包含了重要的BUG修复和对同步程序的改善。查看 变更日志

第 1 段(可获 2 积分)

srsLTE 采用的是 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标准 (+25 Mbps) 的高度优化的 Turbo 解码器
  • 许多组件的 MATLAB 和 OCTAVE MEX 生成类库
  • UE 接收方已测试,已通过 Amarisoft LTE 100 eNodeB 以及商业化 LTE 网络(爱尔兰的 Telefonica Spain, Three.ie 和 Eircom)的验证
第 2 段(可获 2 积分)

Missing Features:

  • Closed-loop power control
  • Semi-Persistent Scheduling
  • Aperiodic CQI reports

Hardware

The library currently supports the Ettus Universal Hardware Driver (UHD) and the bladeRF driver. Thus, any hardware supported by UHD or bladeRF can be used. There is no sampling rate conversion, therefore the hardware should support 30.72 MHz clock in order to work correctly with LTE sampling frequencies and decode signals from live LTE base stations.

We have tested the following hardware:

  • USRP B210
  • USRP X300
  • bladeRF

Download & Install Instructions

  • Mandatory dependencies:
    • libfftw
  • Optional requirements:
    • srsgui: for real-time plotting. Download it here: https://github.com/srslte/srsgui
    • VOLK: if the VOLK library and headers are detected, they will be used for accelerating some signal processing functions.
    • Matlab/Octave: if found by CMake, MEX files will also be generated and installed. If you find any compilation issue with MEX and you don't need them, pass -DDisableMEX=ON to cmake to disable them.
第 3 段(可获 2 积分)

下载并构建 srsLTE:

git clone https://github.com/srsLTE/srsLTE.git
cd srsLTE
mkdir build
cd build
cmake ../
make 

也可以通过命令行方式安装该类库:sudo make install

运行 srsLTE 示例

  • 在 LTE 商业网络中接收 SIB1 和测量 UE:
lte/examples/pdsch_ue -f [frequency_in_Hz]

这里的 -f 指的是 LTE 的信道频率。

  • eNodeB 到 UE 的 Downlink PHY 测试

你将需要两台都装有 USRP 的电脑。在发送方执行:

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

在接收方执行:

第 4 段(可获 2 积分)
lte/examples/pdsch_ue -r 1234 -f [frequency_in_Hz]

在发送方控制台这边,通过输入一个新的数值(在0和28之间)并按下回车键,是可以修改调制与编码策略(MCS)的。

接收方得到的输出结果有点类似于下面的视频。在这个例子中,我们移除了demo中传输方和接收方的天线,(尽管有一些错误)但其展现了仍能接收的可能。

https://www.dropbox.com/s/txh1nuzdb0igq5n/demo_pbch.ogv

Screenshopt of the PBCH example output

  • 基于 Downlink PHY 的视频(eNodeB 到 UE)

前一个例子向 UE 发送了一个随机位。他可以打开一个TCP套接字并通过 LTE PHY DL 的无线连接产生视频流。在发送方,执行如下命令:

第 5 段(可获 2 积分)
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 中。 一旦系统运行,你便可以传输一些有用的数据,如视频流。 在发送方执行:

第 6 段(可获 2 积分)
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

即可观看视频。

支持

邮件列表: http://www.softwareradiosystems.com/mailman/listinfo/srslte-users

第 7 段(可获 2 积分)

文章评论