lte-sidelink is an open software library developed in MATLAB by Feron Technologies P.C., that implements the most important functionalities of the 3GPP LTE sidelink interface.

Sidelink is a new LTE feature introduced in 3GPP Release 12 aiming at enabling device-to-device (D2D) communications within legacy cellular-based LTE radio access networks. Sidelink has been enriched in Releases 13 and 14 with various features. D2D is applicable to public safety and commercial communication use-cases, and recently (Rel.14) to vehicle-to-vehicle (V2V) scenarios. In legacy uplink/downlink, two UEs communicate through the Uu interface and data are always traversing the LTE eNB. Differently, sidelink enables the direct communication between proximal UEs using the newly defined PC5 interface, and data does not need to traverse the eNB. Services provided in this way are often called “Proximity Services” (or ProSe) and the UEs suppporting this feature “ProSe”-enabled UEs.

The library provides an (almost) complete implementation of the sidelink physical signals, physical channels and transport layer functionalities described in the 3GPP standard. In addition it provides the neccessary receiver processing functionalities for generating and/or recovering a real sidelink signal which is either simulated/emulated or sent over the air and captured from an SDR board. The code is highly-modular and documented in order to be easily understood and further extended.

The library has many usages. Typical use-case examples are the following:

  • LTE sidelink waveform generator.
  • End-to-end sidelink link-level simulator.
  • Core component of a sidelink system-level simulator.
  • Platform for testing new resource allocation/scheduling algorithms for D2D/V2V communications
  • Tool to experiment with live standard-compliant sidelink signals with the help of SDR boards

Current Status: The library is freely and openly available in Github ( New features and functionalities will be added in the next few months. A real-time software modem based on the above library and running in typical GPP hosts is also under development. The development of the library has been partially supported by EU Project FLEX-D.s