README 3.89 KB
Newer Older
1 2 3 4 5
This directory contains the openLTE source code.  For support, please
subscribe to openlte-discuss@lists.sourceforge.net.  Details can be
found at sourceforge.net/projects/openlte/.

The directory structure for the project is:
6 7 8
octave                Octave test code
cmn_hdr               Common header files
liblte                C++ library of commonly used LTE functions
9
cmake                 Files needed for cmake
10 11
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
12
LTE_fdd_dl_scan       A gnu-radio LTE FDD DL scanner application that
13
                      currently supports rtl-sdr and hackrf hardware
14 15
LTE_file_recorder     A gnu-radio LTE file recording application that
                      currently supports rtl-sdr and hackrf hardware
16 17 18

To build the C++ and python code use the following:

19
  $ mkdir build
20 21
  $ cd build
  $ cmake ../
22 23 24 25
  $ make

To install the C++ and python code use the following:

26
  $ mkdir build
27 28
  $ cd build
  $ cmake ../
29
  $ make
30
  $ sudo make install
31

32 33 34
##################
#  FILE SCANNER  #
##################
35 36 37
To use the installed C++ and python code for the file scanner,
set the PYTHONPATH env variable to
<python_install_dir>/dist-packages/gnuradio/
38
for instance /usr/local/lib/python2.7/dist-packages/gnuradio/
39 40 41 42
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:
43

44
  $ LTE_fdd_dl_file_scan.py lte_file.bin
45 46

The recorded LTE file currently must be interleaved 8-bit I and
47 48 49
Q samples recorded at 30.72MHz.  NOTE: Files generated by the
file generator app can be used with the file scanner app only if
generated with 20MHz or 15MHz of bandwidth.
50

51 52 53
####################
#  FILE GENERATOR  #
####################
54 55 56
To use the installed C++ and python code for the file generator,
set the PYTHONPATH env variable to
<python_install_dir>/dist-packages/gnuradio/
57 58 59 60 61
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:
62

63
  $ LTE_fdd_dl_file_gen.py lte_file.bin
64 65

The generated LTE file contains interleaved 8-bit I and Q samples
66 67 68 69 70
at a sample rate specified by the bandwidth (i.e. 30.72Msps for
20MHz or 15MHz, 15.36Msps for 10MHz, 7.68MHz for 5MHz, 3.84Msps
for 3MHz, or 1.92Msps for 1.4MHz).  The output file can be used as
the input for the LTE_fdd_dl_file_scan application when the
bandwidth is set to 20MHz or 15MHz.
71

72 73 74
#############
#  SCANNER  #
#############
75 76
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),
77 78 79 80 81
plug in rtl-sdr or hackrf 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.
82

83 84 85 86 87 88 89 90 91 92 93 94
###################
#  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 or hackrf 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.  NOTE: This does
not currently support recording files for use with the file scanner
application.

95 96 97
############
#  OCTAVE  #
############
98 99 100 101
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.