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服从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主要包含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运行起来的界面如图所示