
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(需科學上網)
視頻下行 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
【srsLTE:高度模塊化的 3GPP LTE 開源庫】
