srsLTE平臺簡介
srsLTE是愛爾蘭的SoftwareRadioSystems公司開發的一套開源SDR LTE平臺。SoftwareRadioSystems公司是一家從事SDR開發的商業性質公司,公司目前包含AirScope、srsLTE、srsUE和srsENB四種產品。AirScope是一套基於SDR實現的LTE空口信號分析儀,此產品爲商業軟件,需要付費購買。srsLTE是一套基於SDR開發的簡單LTE系統,只包含物理層下行鏈路,代碼開源。srsUE是一套基於SDR開發的LTE UE系統,包含了從PHY到NAS的各層協議,目前開源。srsENB是一套基於SDR開發的LTE eNB系統,包含PHY,MAC, RLC, PDCP, RRC, GTP-U 和 S1-AP等層信息,此產品目前爲商業軟件,需要付費購買。
在筆者用過的SDR LTE系統中,srsLTE是目前最爲穩定的系統。下面簡單介紹SoftwareRadioSystems公司兩套開源產品srsLTE。
srsLTE簡介
srsLTE服從LTE Release 8協議實現,而且只支持FDD雙工方式,支持TM1(SISO)和TM2(傳輸分集)兩種傳輸模式。
srsLTE雖然是一套SDR LTE系統,包含eNB和UE兩部分,但是隻包含物理層下行鏈路功能,即包含PSS, SSS, PBCH, PCFICH, PHICH, PDCCH, PDSCH等信道。
srsLTE安裝和運行方法也很簡單,不過在安裝srsLTE之前需要先安裝srsGUI,srsLTE會調用srsGUI中的庫以實時顯示圖形界面。具體安裝和運行方法可以參考https://github.com/srsLTE/srsLTE 中的README.md。
srsLTE主要函數
srsLTE主要包含pdsch_enodeb.c和pdsch_ue.c。下面簡單整理了兩個文件中主要調用的函數,函數命名都比較規範,基本看函數名就知道函數的功能。
pdsch_enodeb.c
srslte_pss_put_slot
srslte_sss_put_slot
srslte_refsignal_cs_put_sf
srslte_pbch_mib_pack
srslte_pbch_encode
srslte_pcfich_encode
srslte_dci_msg_pack_pdsch
srslte_pdcch_encode
srslte_pdsch_cfg
srslte_pdsch_encode
srslte_pdsch_encode_rnti
srslte_dlsch_encode(編碼)
srslte_sequence_pdsch(加擾等)
srslte_mod_modulate_bytes(調製)
srslte_pdsch_put(映射到資源塊上)
srslte_ofdm_tx_sf
pdsch_ue.c
srslte_ue_dl_decode
srslte_ue_dl_decode_rnti_rv
srslte_ue_dl_decode_fft_estimate
srslte_pdcch_extract_llr
srslte_ue_dl_find_dl_dci
srslte_dci_msg_to_dl_grant
srslte_ue_dl_decode_rnti_rv_packet
srslte_ue_dl_cfg_grant
srslte_softbuffer_rx_reset
srslte_pdsch_decode_rnti
srslte_pdsch_get(提取pdsch)
srslte_pdsch_get (提取信道估計)
srslte_predecoding_single(均衡)
srslte_demod_soft_demodulate_s
srslte_scrambling_s_offset等(解擾)
srslte_dlsch_decode(解碼)
srsLTE運行
srsLTE運行起來的界面如圖所示
srsLTE運用場景
srsLTE只包含LTE Release 8 物理層下行,運用場景有限:1. LTE信號分析儀,可以採用srsLTE中的UE接收商用基站的信號,解調出商用基站的系統信息等;
2. 物理層算法驗證與改進。把算法移植到srsLTE中後,信號過空口,可以更加真實的驗證算法性能;
3. srsLTE中的包含很多LTE通信中常用的函數庫,可以利用srsLTE中的庫,完成自己LTE功能的設計;
4. 搭建LTE Demo等。可以基於srsLTE增加業務傳輸的功能,在實驗室演示LTE Demo。