forked from E3V3A/OpenLTE
-
Notifications
You must be signed in to change notification settings - Fork 0
Non maintained clone of https://git.code.sf.net/p/openlte/code
License
justtory521/OpenLTE
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This directory contains the openLTE source code. For support, please subscribe to [email protected]. Details can be found at sourceforge.net/projects/openlte/. The directory structure for the project is: octave Octave test code cmn_hdr Common header files liblte C++ library of commonly used LTE functions cmake Files needed for cmake LTE_fdd_dl_file_scan A gnu-radio LTE FDD DL file scanner application LTE_fdd_dl_file_gen A gnu-radio LTE FDD DL file generator application LTE_fdd_dl_scan A gnu-radio LTE FDD DL scanner application that currently supports rtl-sdr, hackrf, USRP B2X0, and bladeRF hardware LTE_file_recorder A gnu-radio LTE file recording application that currently supports rtl-sdr, hackrf, USRP B2X0, and bladeRF hardware LTE_fdd_enodeb An LTE FDD eNodeB application that currently supports URSP B2X0 hardware openLTE is dependant on the following: 1) GNU Radio 2) GrOsmoSDR 3) rtl-sdr 4) UHD 5) HackRF 6) bladeRF 7) polarssl 8) iptables To build the C++ and python code use the following: $ mkdir build $ cd build $ cmake ../ $ make To install the C++ and python code use the following: $ mkdir build $ cd build $ cmake ../ $ make $ sudo make install All testing was performed against the following configuration: - Intel Core i5-2557M - Ubuntu 12.04 - GNU Radio 3.7.2 - GrOsmoSDR 0.1.1 - rtl-sdr 0.5 - UHD 3.6.0-1 - HackRF 0.2 - bladeRF 0.9.0 ################## # FILE SCANNER # ################## To use the installed C++ and python code for the file scanner, set the PYTHONPATH env variable to <python_install_dir>/dist-packages/gnuradio/ for instance /usr/local/lib/python2.7/dist-packages/gnuradio/ and make sure that /usr/local/lib is added to /etc/ld.so.conf and that LD_LIBRARY_PATH is set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib). Then run LTE_fdd_dl_file_scan.py and specify a recorded LTE file as the input. For example: $ LTE_fdd_dl_file_scan.py lte_file.bin To see a list of options, use the -h option: $ LTE_fdd_dl_file_scan.py -h To change the input file data type (int8 or gr_complex), use the -d/--data-type option: $ LTE_fdd_dl_file_scan.py -d int8 lte_file.bin For int8 data type, the recorded LTE file must be interleaved signed 8-bit I and Q samples. For the gr_complex data type, the recorded LTE file must be sequential gr_complex I/Q samples. Files recorded with LTE_file_recorder or generated with LTE_fdd_dl_file_gen can be scanned with this application. #################### # FILE GENERATOR # #################### To use the installed C++ and python code for the file generator, set the PYTHONPATH env variable to <python_install_dir>/dist-packages/gnuradio/ for instance /usr/local/lib/python2.7/dist-packages/gnuradio/ and that LD_LIBRARY_PATH is set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib). Then run LTE_fdd_dl_file_gen.py and specify an output file for the LTE fdd downlink signal. For example: $ LTE_fdd_dl_file_gen.py lte_file.bin To see a list of options, use the -h option: $ LTE_fdd_dl_file_gen.py -h To change the output file data type (int8 or gr_complex), use the -d/--data-type option: $ LTE_fdd_dl_file_gen.py -d gr_complex lte_file.bin For int8 data type, the generated LTE file contains interleaved signed 8-bit I and Q samples. For the gr_complex data type, the generated LTE file contains sequential gr_complex I/Q samples. Files generated with this application can be scanned with LTE_fdd_dl_file_scan. ############# # SCANNER # ############# To use the installed C++ live scanner, make sure LD_LIBRARY_PATH is set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib), plug in rtl-sdr, hackrf, USRP B2X0, or bladeRF hardware, run LTE_fdd_dl_scan, and connect (via telnet, nc, etc) to the control port at port number 20000. Scan parameters can be changed and scan results can be observed on the control port. For a list of parameters simply type help on the control port. ################### # FILE RECORDER # ################### To use the installed C++ file recorder, make sure LD_LIBRARY_PATH is set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib), plug in rtl-sdr, hackrf, USRP B2X0, or bladeRF hardware, run LTE_file_recorder, and connect (via telnet, nc, etc) to the control port at port number 25000. Recording parameters can be changed on the control port. For a list of parameters simply type help on the control port. Files recorded using hackRF, USRP B2X0, or bladeRF hardware are recorded using a sample rate of 15.36MHz. Files recorded with all other hardware are recorded using a sample rate of 1.92MHz. All files recorded with this application can be scanned with LTE_fdd_dl_file_scan. ############ # ENODEB # ############ To use the installed C++ eNodeB, make sure LD_LIBRARY_PATH is set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib), plug in USRP B2X0 hardware, run LTE_fdd_enodeb, and connect (via telnet, nc, etc) to the control port at port number 30000. eNodeB parameters can be changed on the control port. For a list of parameters simply type help on the control port. A MAC and above level PCAP trace is output to /tmp/LTE_fdd_enodeb.pcap. Data packets are routed through a tun device named tun_openlte. Wireshark can be used to observe IP packets on tun_openlte to inspect the IP traffic to/from UEs. In order to configure properly, set the ip_addr_start parameter to the begining of a non-conflicting private address range (i.e. 10.0.0.1) and set the dns_addr parameter to the primary DNS address listed by your modem. All UEs will be assigned IP addresses in the range of ip_addr_start to ip_addr_start+254 and all traffic will be tunneled through the tun device to the internet using NAT/iptables. NOTES: This application has been tested exclusively at 5MHz bandwidth. Higher bandwidths are supported and performance may vary based on processing hardware. WARNINGS: By using this application you risk disruption of service in a public network, even if you are not directly interfering with the radio transmissions. This is a criminal act in most countries, and a much more serious offense than a simple violation of radio spectrum regulaions. It is highly recommended to use this application only with antennas and test UEs inside an RF Shielded Enclosure (Faraday Cage). ############ # OCTAVE # ############ To use the octave code, run the top level octave .m files: lte_fdd_dl_transmit.m and lte_fdd_dl_receive.m. If multiple transmit antennas are used, the outputs need to be combined before input to the receiver.
About
Non maintained clone of https://git.code.sf.net/p/openlte/code
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 77.6%
- C 12.1%
- MATLAB 8.7%
- CMake 1.4%
- Python 0.2%
- Shell 0.0%