{"id":23935169,"url":"https://github.com/osh/openlte","last_synced_at":"2025-04-12T09:22:45.607Z","repository":{"id":18780903,"uuid":"21994178","full_name":"osh/openlte","owner":"osh","description":null,"archived":false,"fork":false,"pushed_at":"2017-08-15T17:32:05.000Z","size":776,"stargazers_count":66,"open_issues_count":3,"forks_count":40,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-26T04:21:39.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osh.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-18T20:55:02.000Z","updated_at":"2025-02-03T16:12:49.000Z","dependencies_parsed_at":"2022-08-05T02:01:52.159Z","dependency_job_id":null,"html_url":"https://github.com/osh/openlte","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osh%2Fopenlte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osh%2Fopenlte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osh%2Fopenlte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osh%2Fopenlte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osh","download_url":"https://codeload.github.com/osh/openlte/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248544311,"owners_count":21121928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-06T00:44:48.882Z","updated_at":"2025-04-12T09:22:45.577Z","avatar_url":"https://github.com/osh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"This directory contains the openLTE source code.  For support, please\nsubscribe to openlte-discuss@lists.sourceforge.net.  Details can be\nfound at sourceforge.net/projects/openlte/.\n\nThe directory structure for the project is:\noctave                Octave test code\ncmn_hdr               Common header files\nliblte                C++ library of commonly used LTE functions\ncmake                 Files needed for cmake\nLTE_fdd_dl_file_scan  A gnu-radio LTE FDD DL file scanner application\nLTE_fdd_dl_file_gen   A gnu-radio LTE FDD DL file generator application\nLTE_fdd_dl_scan       A gnu-radio LTE FDD DL scanner application that\n                      currently supports rtl-sdr, hackrf, USRP B2X0,\n                      and bladeRF hardware\nLTE_file_recorder     A gnu-radio LTE file recording application that\n                      currently supports rtl-sdr, hackrf, USRP B2X0,\n                      and bladeRF hardware\nLTE_fdd_enodeb        An LTE FDD eNodeB application that currently\n                      supports URSP B2X0 hardware\n\nopenLTE is dependant on the following:\n1) GNU Radio\n2) GrOsmoSDR\n3) rtl-sdr\n4) UHD\n5) HackRF\n6) bladeRF\n\nTo build the C++ and python code use the following:\n\n  $ mkdir build\n  $ cd build\n  $ cmake ../\n  $ make\n\nTo install the C++ and python code use the following:\n\n  $ mkdir build\n  $ cd build\n  $ cmake ../\n  $ make\n  $ sudo make install\n\nAll testing was performed against the following configuration:\n- Intel Core i5-2557M\n- Ubuntu 12.04\n- GNU Radio 3.7.2\n- GrOsmoSDR 0.1.1\n- rtl-sdr 0.5\n- UHD 3.6.0-1\n- HackRF 0.2\n- bladeRF 0.9.0\n\n##################\n#  FILE SCANNER  #\n##################\nTo use the installed C++ and python code for the file scanner,\nset the PYTHONPATH env variable to\n\u003cpython_install_dir\u003e/dist-packages/gnuradio/\nfor instance /usr/local/lib/python2.7/dist-packages/gnuradio/\nand make sure that /usr/local/lib is added to /etc/ld.so.conf\nand that LD_LIBRARY_PATH is set to /usr/local/lib (export\nLD_LIBRARY_PATH=/usr/local/lib).  Then run LTE_fdd_dl_file_scan.py\nand specify a recorded LTE file as the input. For example:\n\n  $ LTE_fdd_dl_file_scan.py lte_file.bin\n\nTo see a list of options, use the -h option:\n\n  $ LTE_fdd_dl_file_scan.py -h\n\nTo change the input file data type (int8 or gr_complex), use the\n-d/--data-type option:\n\n  $ LTE_fdd_dl_file_scan.py -d int8 lte_file.bin\n\nFor int8 data type, the recorded LTE file must be interleaved signed\n8-bit I and Q samples.  For the gr_complex data type, the recorded\nLTE file must be sequential gr_complex I/Q samples.  Files recorded\nwith LTE_file_recorder or generated with LTE_fdd_dl_file_gen can be\nscanned with this application.\n\n####################\n#  FILE GENERATOR  #\n####################\nTo use the installed C++ and python code for the file generator,\nset the PYTHONPATH env variable to\n\u003cpython_install_dir\u003e/dist-packages/gnuradio/\nfor instance /usr/local/lib/python2.7/dist-packages/gnuradio/\nand that LD_LIBRARY_PATH is set to /usr/local/lib (export\nLD_LIBRARY_PATH=/usr/local/lib).  Then run LTE_fdd_dl_file_gen.py\nand specify an output file for the LTE fdd downlink signal.\nFor example:\n\n  $ LTE_fdd_dl_file_gen.py lte_file.bin\n\nTo see a list of options, use the -h option:\n\n  $ LTE_fdd_dl_file_gen.py -h\n\nTo change the output file data type (int8 or gr_complex), use the\n-d/--data-type option:\n\n  $ LTE_fdd_dl_file_gen.py -d gr_complex lte_file.bin\n\nFor int8 data type, the generated LTE file contains interleaved\nsigned 8-bit I and Q samples.  For the gr_complex data type, the\ngenerated LTE file contains sequential gr_complex I/Q samples.\nFiles generated with this application can be scanned with\nLTE_fdd_dl_file_scan.\n\n#############\n#  SCANNER  #\n#############\nTo use the installed C++ live scanner, make sure LD_LIBRARY_PATH\nis set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib),\nplug in rtl-sdr, hackrf, USRP B2X0, or bladeRF hardware, run\nLTE_fdd_dl_scan, and connect (via telnet, nc, etc) to the control\nport at port number 20000.  Scan parameters can be changed and\nscan results can be observed on the control port.  For a list of\nparameters simply type help on the control port.\n\n###################\n#  FILE RECORDER  #\n###################\nTo use the installed C++ file recorder, make sure LD_LIBRARY_PATH\nis set to /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib),\nplug in rtl-sdr, hackrf, USRP B2X0, or bladeRF hardware, run\nLTE_file_recorder, and connect (via telnet, nc, etc) to the\ncontrol port at port number 25000.  Recording parameters can be\nchanged on the control port.  For a list of parameters simply type\nhelp on the control port.  Files recorded using hackRF, USRP B2X0,\nor bladeRF hardware are recorded using a sample rate of 15.36MHz.\nFiles recorded with all other hardware are recorded using a sample\nrate of 1.92MHz.  All files recorded with this application can be\nscanned with LTE_fdd_dl_file_scan.\n\n############\n#  ENODEB  #\n############\nTo use the installed C++ eNodeB, make sure LD_LIBRARY_PATH is set\nto /usr/local/lib (export LD_LIBRARY_PATH=/usr/local/lib), plug in\nUSRP B2X0 hardware, run LTE_fdd_enodeb, and connect (via telnet, nc,\netc) to the control port at port number 30000.  eNodeB parameters\ncan be changed on the control port.  For a list of parameters simply\ntype help on the control port.  A MAC and above level PCAP trace is\noutput to /tmp/LTE_fdd_enodeb.pcap.\nNOTES: This application has been tested at 1.4, 3, and 5MHz\nbandwidths.  Higher bandwidths are supported and performance may\nvary based on processing hardware.\nWARNINGS: By using this application you risk disruption of service in\na public network, even if you are not directly interfering with the\nradio transmissions.  This is a criminal act in most countries, and a\nmuch more serious offense than a simple violation of radio spectrum\nregulaions.  It is highly recommended to use this application only\nwith antennas and test UEs inside an RF Shielded Enclosure (Faraday\nCage).\n\n############\n#  OCTAVE  #\n############\nTo use the octave code, run the top level octave .m files:\nlte_fdd_dl_transmit.m and lte_fdd_dl_receive.m.  If multiple\ntransmit antennas are used, the outputs need to be combined\nbefore input to the receiver.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosh%2Fopenlte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosh%2Fopenlte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosh%2Fopenlte/lists"}