Giter Club home page Giter Club logo

gr-lte's Introduction

GNU Radio LTE Receiver

The gr-lte project is an Open Source Software Package which aims to provide a GNU Radio LTE Receiver to receive, synchronize and decode LTE signals. Its development was focused on modularity. This makes the project easy to extend and reuse its blocks.

This project was initiated as a Bachelor thesis at the Communication Engineering Lab (CEL) at the Karlsruhe Institute of Technology (KIT), Germany, http://www.cel.kit.edu.

The Idea

This project aims to provide a modular environment for an LTE downlink receiver. All blocks should be replacable. e.g. introduce a new channel estimator block with more advanced algorithms. On the other hand it should be fairly easy to add new blocks to decode additional physical channels.
The block design aims to be modular and reusable. Where possible GR blocks are used.
Furthermore message ports are used for configuration on runtime. This is supposed to make the control flow visible to users and thus better understandable.

Publications

This is a list of related publications for further reference.

J. Demel, S. Koslowski, and F. Jondral, A LTE Receiver Framework Implementation in GNU Radio, SDR-WInnComm-Europe-2013, June 2013.

Johannes Demel, Sebastian Koslowski, and Friedrich K. Jondral, A LTE Receiver Framework Using GNU Radio, Journal of Signal Processing Systems, 78(3):313–320, 2015.

Capabilities

gr-lte provides blocks to synchronize to a LTE downlink signal. It performs OFDM operation to operate in the frequency domain and provides a channel estimator. At this point physical LTE downlink channels can be extracted from the symbols and be processed. PBCH is fully implemented and decodes MIB. PCFICH is available too. Almost all code for PHICH is implemented and there is lots of code to bring PDCCH support. It is not yet possible to just plug it in, though. Eventually all channels shall be supported.

Flowgraphs

A lot of example flowgraphs are located in the examples folder. These include some hierarchical flowgraphs and the corresponding top-level flowgraphs. Two different algorithms for synchronization are available.

  • step-by-step synchronization
    • starts with symbol sync, PSS, SSS
    • for single RX antenna
  • direct PSS sync
    • Syncs directly to PSS half-frames
    • may use multiple RX antennas
    • 2RX and 4RX flowgraphs available

Requirements

  • GNU Radio 3.7.6 or newer

    • some bugs just got fixed in this new version and we take advantage of them.
    • all code was moved to GR 3.7 API.
  • GR 3.6.5.1 (deprecated)

    • use commit tagged with 'gnuradio-v3.6.5.1'
    • message passing API is necessary
    • all the latest bug fixes
    • project used to use GR 3.6 API
  • MATLAB (deprecated)

    • R2011b tested
    • m-files are replaced by Python/Numpy/Scipy code which offers greater flexibility and connectivity to GNU Radio.
    • for .m-files
    • If you want, have a look at the m-files

Build/Install instructions for Linux

You can use PyBOMBS to install GNU Radio and gr-lte or use the instructions below.

  1. Get, build and install GNU Radio from http://www.gnuradio.org

  2. Get gr-lte from github

  3. Configure it using CMake
    Assuming you are already in the project folder
    mkdir build
    cp cmake_command.sh build/
    cd build
    ./cmake_command.sh

    This will just run a little script to aid with project setup for Code::Blocks
    Otherwise run cmake ..

  4. Compile and Install
    make -jX where X is a number of choice (Often the number of cores available)
    sudo make install (make it available in GRC)

  5. compile hierarchical GRC blocks
    These blocks are located in the 'examples' directory.
    hierarchical GRC blocks must be generated by opening them in GRC and clicking Generate. Afterwards reload blocks or restart GRC. This makes the hier blocks available in GRC just as all the other blocks.
    An alternative is to use the python script examples/hier_block_install_helper.py, which calls 'grcc' for all grc files in the current directory and installs them.

  6. Have fun
    If everything runs without errors the gr-lte blocks should be available in GRC.
    The flowgraph 'LTE_flowgraph_top_level.grc' is meant as a reference. It is supposed to contain a working flowgraph with all available blocks. Only the source must be updated. Specify the path to your recorded samples and update the resampler parameters.
    By changing the variable 'fftlen' you update a whole bunch of other variables which basically configure the expected bandwidth and the maximum subcarriers the flowgraph can handle.

  7. Troubleshooting
    In case you have trouble with parts of the flowgraph etc. write an email preferably to the GNU Radio mailinglist. This way others with the same problem can find hints in the mailinglist archives.

gr-lte's People

Contributors

gnieboer avatar jdemel avatar krisabo avatar michaelld avatar skoslowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gr-lte's Issues

remove_cp_cvc swallows last symbol

Having a stream, that ends e.g. in qa testing the remove_cp_cvc swallows the last symbol. This is because the scheduler seems to set the output multiple to 2 and the LTE slot length is 7.

Please add support for gnuradio 3.8.1

I did some modifications to compile for gnuradio 3.8.1 but at the end i came across with linking problems like :
Scanning dependencies of target pygen_apps_9a6dd
Scanning dependencies of target pygen_python_497ac
Scanning dependencies of target lte_swig_swig_doc
[ 0%] Built target pygen_apps_9a6dd
Scanning dependencies of target gnuradio-lte
[ 2%] Built target lte_swig_swig_doc
[ 2%] Generating init.pyc, utils.pyc, bch_viterbi_vfvb.pyc, pbch_scramble_sequencer_m.pyc, rs_map_generator_m.pyc, pcfich_scramble_sequencer_m.pyc
[ 4%] Generating init.pyo, utils.pyo, bch_viterbi_vfvb.pyo, pbch_scramble_sequencer_m.pyo, rs_map_generator_m.pyo, pcfich_scramble_sequencer_m.pyo
Scanning dependencies of target lte_swig_swig_compilation
[ 6%] Swig source lte_swig.i
[ 8%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mib_unpack_vbm_impl.cc.o
Deprecated command line option: -modern. This option is now always on.
[ 10%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/crc_check_vbvb_impl.cc.o
[ 10%] Built target pygen_python_497ac
[ 13%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/bch_crc_check_ant_chooser_bb_impl.cc.o
[ 15%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/subblock_deinterleaver_vfvf_impl.cc.o
[ 17%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pbch_descrambler_vfvf_impl.cc.o
[ 19%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/repeat_message_source_vf_impl.cc.o
[ 21%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/qpsk_soft_demod_vcvf_impl.cc.o
[ 23%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/layer_demapper_vcvc_impl.cc.o
[ 26%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pre_decoder_vcvc_impl.cc.o
[ 26%] Built target lte_swig_swig_compilation
[ 28%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pbch_demux_vcvc_impl.cc.o
[ 30%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/channel_estimator_vcvc_impl.cc.o
[ 32%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/extract_subcarriers_vcvc_impl.cc.o
[ 34%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/remove_cp_cvc_impl.cc.o
[ 36%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/sss_calculator_vcm_impl.cc.o
[ 39%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pcfich_unpack_vfm_impl.cc.o
[ 41%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/rough_symbol_sync_cc_impl.cc.o
[ 43%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pss_symbol_selector_cvc_impl.cc.o
[ 45%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pss_calculator_vcm_impl.cc.o
[ 47%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pss_tagger_cc_impl.cc.o
[ 50%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/correlator.cc.o
[ 52%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/sss_symbol_selector_cvc_impl.cc.o
[ 54%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/sss_tagger_cc_impl.cc.o
[ 56%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/sync_frequency_c_impl.cc.o
[ 58%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/descrambler_vfvf_impl.cc.o
[ 60%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pcfich_demux_vcvc_impl.cc.o
[ 63%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_pss_coarse_sync_impl.cc.o
[ 65%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_pss_fine_sync_impl.cc.o
[ 67%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_pss_tagger_impl.cc.o
[ 69%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_pss_coarse_control_impl.cc.o
[ 71%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/pss.cc.o
[ 73%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_pss_freq_sync_impl.cc.o
[ 76%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_sss_symbol_selector_impl.cc.o
[ 78%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_sss_calculator_impl.cc.o
[ 80%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_sss_tagger_impl.cc.o
[ 82%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/mimo_remove_cp_impl.cc.o
[ 84%] Linking CXX shared library libgnuradio-lte.so
[ 84%] Built target gnuradio-lte
Scanning dependencies of target test-lte
Scanning dependencies of target lte_swig
[ 86%] Building CXX object lib/CMakeFiles/test-lte.dir/test_lte.cc.o
[ 89%] Building CXX object lib/CMakeFiles/test-lte.dir/qa_lte.cc.o
[ 91%] Building CXX object swig/CMakeFiles/lte_swig.dir/CMakeFiles/lte_swig.dir/lte_swigPYTHON_wrap.cxx.o
[ 93%] Linking CXX executable test-lte
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::from_long(long)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::io_signature::make2(int, int, int, int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::fixed_rate_noutput_to_ninput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_block::sync_block(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, boost::shared_ptrgr::io_signature, boost::shared_ptrgr::io_signature)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::basic_block::message_port_register_out(boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::dict_has_key(boost::shared_ptrpmt::pmt_base const&, boost::shared_ptrpmt::pmt_base const&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to vtable for gr::sync_block' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::to_double(boost::shared_ptrpmt::pmt_base)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to typeinfo for gr::sync_block' /usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::CategoryStream::operator<<(log4cpp::CategoryStream& ()(log4cpp::CategoryStream&))'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::get_PMT_T()' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::set_tag_propagation_policy(gr::block::tag_propagation_policy_t)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::is_vector(boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::nitems_written(unsigned int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::set_relative_rate(double)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to typeinfo for gr::block'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_interpolator::sync_interpolator(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, boost::shared_ptrgr::io_signature, boost::shared_ptrgr::io_signature, unsigned int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_interpolator::fixed_rate_ninput_to_noutput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::is_bool(boost::shared_ptrpmt::pmt_base)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::forecast(int, std::vector<int, std::allocator<int> >&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::io_signature::make(int, int, int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_block::general_work(int, std::vector<int, std::allocator<int> >&, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::CategoryStream::~CategoryStream()'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::vector_ref(boost::shared_ptr<pmt::pmt_base>, unsigned long)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::consume_each(int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::cdr(boost::shared_ptr<pmt::pmt_base> const&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::set_log_level(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::to_long(boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_interpolator::forecast(int, std::vector<int, std::allocator >&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to typeinfo for gr::sync_interpolator' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::string_to_symbol(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_block::fixed_rate_noutput_to_ninput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::to_complex(boost::shared_ptrpmt::pmt_base)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_interpolator::general_work(int, std::vector<int, std::allocator<int> >&, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::msg_accepter::post(boost::shared_ptrpmt::pmt_base, boost::shared_ptrpmt::pmt_base)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_interpolator::fixed_rate_noutput_to_ninput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::get_tags_in_range(std::vector<gr::tag_t, std::allocatorgr::tag_t >&, unsigned int, unsigned long, unsigned long)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::nth(unsigned long, boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::cons(boost::shared_ptrpmt::pmt_base const&, boost::shared_ptrpmt::pmt_base const&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::eol(log4cpp::CategoryStream&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::unset_processor_affinity()'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::block(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::shared_ptr<gr::io_signature>, boost::shared_ptr<gr::io_signature>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_block::forecast(int, std::vector<int, std::allocator >&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::length(boost::shared_ptr<pmt::pmt_base> const&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::history() const'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::CategoryStream::operator<<(char const*)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::set_processor_affinity(std::vector<int, std::allocator > const&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::fixed_rate_ninput_to_noutput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::~block()'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::general_work(int, std::vector<int, std::allocator<int> >&, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::get_PMT_F()'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::basic_block::message_port_register_in(boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::set_output_multiple(int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::add_item_tag(unsigned int, gr::tag_t const&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::nitems_read(unsigned int)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::get_PMT_NIL()' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::basic_block::message_port_pub(boost::shared_ptrpmt::pmt_base, boost::shared_ptrpmt::pmt_base)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::sync_block::fixed_rate_ninput_to_noutput(int)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gnuradio::detail::sptr_magic::fetch_initial_sptr(gr::basic_block
)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::stop()' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::log_levelabi:cxx11'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to typeinfo for gr::basic_block' /usr/bin/ld: libgnuradio-lte.so: undefined reference to log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::print(boost::shared_ptr<pmt::pmt_base>)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to pmt::eqv(boost::shared_ptrpmt::pmt_base const&, boost::shared_ptrpmt::pmt_base const&)'
/usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::get_tags_in_range(std::vector<gr::tag_t, std::allocator<gr::tag_t> >&, unsigned int, unsigned long, unsigned long, boost::shared_ptr<pmt::pmt_base> const&)' /usr/bin/ld: libgnuradio-lte.so: undefined reference to gr::block::start()'
collect2: error: ld returned 1 exit status
make[2]: *** [lib/CMakeFiles/test-lte.dir/build.make:118: lib/test-lte] Error 1
make[1]: *** [CMakeFiles/Makefile2:254: lib/CMakeFiles/test-lte.dir/all] Error 2
make[1]: *** Bitmemiş işler için bekliyor....
[ 95%] Linking CXX shared module _lte_swig.so
[ 95%] Built target lte_swig
make: *** [Makefile:141: all] Error 2

most probably it is due to python2. i tried to compile it with python 3.7 or 3.8 as well but then some intendation etc problems appeared and didnt even reach at that point. i dont want to roll back to gnuradio 3.7.2.

CMake Error on GnuRadio Runtime and Filter

Hello everybody,
I got an error after I ran ./cmake_command.sh on not having the GNuRadio runtime and filter.

Is there a remedy to overcome this issue?

image

Cheers,
Burcu

Error "GnuRadio Runtime and Filter required to compile lte" arises on Cmake command

Hello Mates,
I have installed gnuradio using "sudo apt install gnuradio" and after it is installed, I have followed the steps for installing gr-lte but when I run cmake command it gives the following error :
"GnuRadio Runtime and Filter required to compile lte". Kindly help me how to solve this error.
PS: I am new to ubuntu
Your help would be appreciated
Ubuntu: 20.04
GnuRadio: 3.8.1.0
Python: 3.8.10

Running "lte_top_block_siso.grc" gives syntax error

hello everyone, i am using gnu radio version 3.10 and after successful installation of all the missing blocks,
i try to run one grc file "lte_top_block_siso.grc" but it gives following error,
Traceback (most recent call last):
File "/home/pi/gr-lte/examples/lte_top_block_siso.py", line 38, in
from lte_cp_ffo_sync import lte_cp_ffo_sync # grc-generated hier_block
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/.grc_gnuradio/lte_cp_ffo_sync.py", line 54
self.lte_sync_frequency_0 = lte.sync_frequency(self., fftlen, "$id")
^
SyntaxError: invalid syntax

than i checked lte_cp_ffo_sync.grc and i saw there is one missing block lte_sync_frequency_c so now i don't know how to generate that missing block, if anyone know than please help!!

below i am attaching both grc files,
lte_top_block_siso
20231107_153919

Something wrong with the block "Pre decoder"

Hello!There's something wrong with the block "Pre decoder" on my gnuradio.The block "Pre decoder" is just in the list which is on the right of the gnuradio software.But when I drag the block "Predecoder" into the flowgragh window ,the flowgraph window became totally white.What can I do fix this problem?Really looking forward to your help!Thank you very very much!

Trying to understand Cyclic Prefix Synchronization

Hi everyone,

i would appreciate your help on the following question.
Here I am studying the steps for LTE synchronization (from gr-lte) and I am currently at the very first step: The Cyclic Prefix Synchronization to achieve symbol synchronization:

From what I could see, the cyclic prefix sync can be achieved by using the Gnuradio-Block: "CP-based Rough Symbol Sync Vec" as shown below (From the grc file "lte_top_block_siso").
screenshot from 2017-04-17 02-34-17

After doing a "locate rough_symbol_sync_cc" command on my terminal, I found the following files:

  1. gr-lte/grc/lte_rough_symbol_sync_cc.xml
  2. gr-lte/include/lte/rough_symbol_sync_cc.h
  3. gr-lte/lib/rough_symbol_sync_cc_impl.h
  4. gr-lte/lib/rough_symbol_sync_cc_impl.cc

and after checking the source code of them I could see that File 1 "calls" for File 2, and File3 and FIle4 are the implementations of File 2, right?
Then, from what I can understand the hole correlation operation & cyclic prefix calculation happens on File 4 but I need some help understanding the following doubts please:

  1. What is this sentence for: gr::io_signature::make( 1, 1, sizeof(gr_complex)*vlen)

  2. What does fftwf_malloc on d_cp0=(gr_complex*)fftwf_malloc(sizeof(gr_complex)d_cpl0d_vlen)
    screenshot from 2017-04-17 03-17-49
    Image for question 1&2.

  3. What does rough_symbol_sync_cc_impl::forecast(int noutput_items,gr_vector_int &ninput_items_required)
    screenshot from 2017-04-17 03-18-46

  4. What does
    memcpy(d_cp0,in+i*d_vlen ,sizeof(gr_complex)d_cpld_vlen);
    memcpy(d_cp1,in+(i+d_fftl)*d_vlen ,sizeof(gr_complex)d_cpld_vlen);
    screenshot from 2017-04-17 03-21-41

  5. I understand that here it happens the correlation:
    rough_symbol_sync_cc_impl::corr(gr_complex *res, gr_complex *x, gr_complex *y, int len)
    But can somebody point where the multiplication of the sequences happen?
    screenshot from 2017-04-17 03-22-13

I would really appreciate your help on this under the promise to keep contributing on the understanding this great library.

Cheers
jarodcs

Need file for 'lte_top_block_siso.grc'

Hi,

I'm very new to this, so please excuse me. I'm trying to run the 'lte_top_block_siso.grc' flowgraph in GNURadio, and it looks like I'm missing the LTE data file named 'lte_test_data_RX1_NRBDL100.dat'. Where can I find this file?

dat

Thanks!

cell scan

can i use gr-lte to search for all surrounding cells and decode MIB and SIB1 so we return (cell id , mnc ,mcc rx power ) ?

Decoding errors

Hello, I have integrated the LTE Receiver and I am using an lte signal file generated from OpenLTE project. The receiver is decoding the cell id correctly but it stucks at "received message vector". There is no information for MIB. I have attached the screenshots of the output and the receiver.Could anyone help me finding out where I am going wrong? The signal parameters are

  1. Bandwidth = 5MHz
  2. Cell id= 272
    decoding
    envoirnment

symbol synchronization question

I have a question on built in LTE blocks for the pss and sss signals, I wondered how these blocks work, and how I can modify them, or make a new design for npss and nsss which uses only 1 resource block in lte spectrum instead of 6, to synchronize the frames. Many thanks in advance!

Import lte failed

Hello:

I'm having problems with the block 'Channel Estimator' It has a little square which says 'Import import lte' this text is in red and when i double-click it the error message says

Param -import(import):
import "import lte" failed.

I don't know why it cannot import this. Can you help me with this?

Thank you.

No module named lte_swig

As the Title says, I ran the gnuradio-companion lte_bch_decoder.grc, the error ocurred. The branch I use is cmake-volk-fix, the version of gnuradio is 3.7.9.

How to create a sample test recording (I have gr-lte working in gnuradio 3.7 docker, just can't build soapy SDR for Pluto and HackRF in container)

I have finally built gr-lte and have all blocks working in gnuradio 3.7 docker container. However, the test files (recordings) according to web search are not available anywhere (issue #28 ). And soapySDR refuses to work with me in the gnuradio 3.7 container.

It would greatly help to have some sample that I know is correct. I.e. how do I create correct recording using either HackRF or Pluto for gr-lte top block (SISO) work correctly on it?

I can already catch LTE cells with https://github.com/JiaoXianjun/LTE-Cell-Scanner (we have good position on top of hill and good discone antenna on roof in our hackerspace, unlike my home which is in valley deep among buildings). With LNA though I get hits even at home in the valley.

I can record the samples outside of container with either HackRF or PlutoSDR ("hacked" to have 70 MHz - 6 GHz range, 56 MHz bandwidth), just not exactly sure about the parameters what the top SISO block expects.

Below is signal from Pluto SDR with its default tiny antennas (already packed everything, so don't have the spectrum from discone antenna saved)
image

Sample output from the LTE tracker (not sure if this was from home or the hackerspace, the exact frequencies differ among those places)

% ./LTE-Tracker -f  930000000 -t
OpenCL LTE Tracker (release) beginning. 1.0 to 1.1.0: An enhanced LTE Cell Scanner/tracker. Xianjun Jiao ([email protected])
  PPM: 120
  correction: 1
HACKRF device FOUND!
Calibrating local oscillator.
Use dongle begin with 930MHz actual 930MHz 1.92e+06MHz
    Search frequency: 930 to 930 MHz
with freq correction: 0 kHz
    Search PSS at fo: -110 to 105 kHz

input level: avg abs(real) 0.269581 avg abs(imag) 0.270869
Hit        PAR [6.61773 6.40991]dB
PSS XCORR  cost 4.29477s

input level: avg abs(real) 0.26217 avg abs(imag) 0.263795
Hit        PAR [5.17145 5.44574]dB
PSS XCORR  cost 4.28295s

input level: avg abs(real) 0.27051 avg abs(imag) 0.271976
Hit        PAR [5.15081 5.02955]dB
PSS XCORR  cost 4.3125s

input level: avg abs(real) 0.274098 avg abs(imag) 0.275018
Hit        PAR [5.56893 5.47029]dB
PSS XCORR  cost 4.28866s

input level: avg abs(real) 0.266749 avg abs(imag) 0.268551
Hit        PAR [4.5939 4.79179]dB
PSS XCORR  cost 4.29515s

input level: avg abs(real) 0.270447 avg abs(imag) 0.27194
Hit        PAR [4.6368 5.29696]dB
PSS XCORR  cost 4.2994s

input level: avg abs(real) 0.276612 avg abs(imag) 0.278909
Hit        PAR [5.66204 5.70618]dB
PSS XCORR  cost 4.29983s

Cell_ID errors

hello,everyone.unfortunately i met some troubles when i used lte_top_block_siso.py to receive the LTE signal from USRP X310. I can not get the correct cell_id.what's wrong with it? i have set all parameters same with my enodeb.

Please share some test data.

It seems that test data "xxxx.dat" like "lte_test_data_RX2_NRBDL6.dat" are not included in the files. I think it would be neccesary to do a test.

incomplete - code not running

Hi,

I just installed a brand new Ubuntu 14.04 LTS machine with the latest (3.7.10)
GNURadio via pybombs. gr-gsm works a treat, RDS decoding as well...
but the LTE sample blocks simply won't compile, there are loads of
compilation errors (when e.g. running the
~/pybombs/src/gr-lte/examples/hier_block_install_helper.py half the
blocks won't compile).

Trying to bring some order into the gr-lte blocks seems pretty futile

  • there are references to files that supposedly exist in johannes's
    home directory hard coded into the blocks, these files do not exist in
    the distro even though part of the directory structure matches the
    distribution. Just one example: lte_top_block_mimo_2tx has a variable
    block that points to:
    np.load('/home/johannes/src/gr-lte/python/lte_test/lte_samples.npy') a
    numpy array by the looks of it but it isn't there.

Before I pull anymore hair out, does anyone have this installed and
working to the point of decoding a live LTE MIB?

Valuesize error:

Here's a screen shot of the output I get when I execute the 'lte_top_block_siso.grc' flowchart --

Traceback (most recent call last):
File "/home/security/gr-lte/examples/lte_top_block_siso.py", line 201, in
main()
File "/home/security/gr-lte/examples/lte_top_block_siso.py", line 189, in main
tb = top_block_cls()
File "/home/security/gr-lte/examples/lte_top_block_siso.py", line 122, in init
self.connect((self.lte_channel_estimator_0, 0), (self.lte_pbch_decoder_0, 0))
File "/usr/local/lib64/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 47, in wrapped
func(self, src, src_port, dst, dst_port)
File "/usr/local/lib64/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 110, in connect
self.primitive_connect(*args)
File "/usr/local/lib64/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 5304, in primitive_connect
return _runtime_swig.top_block_sptr_primitive_connect(self, *args)
ValueError: itemsize mismatch: Channel Estimator0:0 using 576, PBCH Decoder0:0 using 4800
INFO: MIB decoding_rate = -nan

Please help!

Question about running "lte_top_block_siso.py" ...

Hi there everybody, hope you are doing great!
The following is a large question (forgive me in advance) regarding the use of the gr-lte lte_top_block_siso.py using as source files the ones generated by the openlte's applications:

  1. LTE_file_recorder (file created: file_recorded.bin)
  2. LTE_fdd_dl_file_gen (file created: file_generated.bin)

Just to explain it briefly, LTE_file_recorder creates a file by recording it from the air interface, in other words, what it is being received from a real LTE base station through the air at a certain frequency and BW, this means that is included losses and multipath time disperssion, among others. On the other hand, LTE_fdd_dl_file_gen creates a file of a certain number of LTE frames. Both files can be checked wit the application LTE_fdd_dl_file_scan. More info here: https://github.com/osh/openlte

I generated both files:

  1. LTE_file_recorder, earfcn = 3700
    screenshot from 2017-04-19 10-07-01

  2. LTE_fdd_dl_file_gen
    screenshot from 2017-04-19 09-58-15

  3. Then both files through LTE_fdd_dl_file_scan. Same cell_id=138
    screenshot from 2017-04-19 11-35-11

From what I know, I can tell that the recorded file (left side) has the same cell_id=138 as the generated file (rigth side), of course it has more info on the Scheduling info list because it is a real LTE base station I guess, and I think I even captured a M-TMSI which is some kind of S1-MME identifier. Again, I think. Well, both files show the expected data on the OpenLte applications.

Then, using each file as a source on the flowgraph lte_top_block_siso.py (on gnuradio) on different instances, it shows this:
screenshot from 2017-04-19 10-34-27

screenshot from 2017-04-19 10-42-22

screenshot from 2017-04-19 10-44-27

screenshot from 2017-04-19 11-15-42

Well, it seems to me that the file_generated.bin (rigth side) does not have the problem: ofdm_lte_remove_cp_cvc_0 OUT of sync!, because it is a "laboratory created file". On the other hand, the file_recorded.bin given that it has been recorded with an USRP device, probably it got overbuffered at some point and therefore it lost the time sync. Can anyone be so kind to point me where might be the problem that is causing this ofdm_lte_remove_cp_cvc_0 OUT of sync! on my -almost real world- test (left one).

Cheers
Blinko

the GNURADIO version?the hard ware?

hello! nice to talk to you ! what's the hardware of the project ?and does the GNURadio only can use the 3.7.0 or version above 3.7.0 are all included ? i install the 3.7.4 version but the GRC files are invalid?maybe it's the problem with the version?can you give me help ?thank you!

the GNURADIO version?the hard ware?

hello! nice to talk to you ! what's the hardware of the project ?and does the GNURadio only can use the 3.7.0 or version above 3.7.0 are all included ? i install the 3.7.4 version but the GRC files are invalid?maybe it's the problem with the version?can you give me help ?thank you!

Unable to cross-compile for Ettus E310 using OE SDK

Hello,

I have been struggling with getting gr-lte cross-compiled for the Ettus E310 using the Open Enclave SDK.

I have been following these instructions from the Ettus wiki that delineate how to get UHD, GR, and OOT modules compiled for a host machine, and how to cross-compile them for ARM/E3xx devices. I have followed the instructions verbatim--am using the release 4 version of the SDK, UHD version 3.14.1, version 3.7.14 of GNU Radio, and am compiling on Ubuntu 18.04 LTS. I also have my environment variables setup as described in that guide. When I attempt to compile gr-lte with the SDK, using the cmake commands described in the guide above for gr-ettus as well as these, it works just fine. Then when I run make, I receive the following errors (running make as verbose for add'l debug info):

/home/ddm/rfnoc/oe/sysroots/x86_64-oesdk-linux/usr/bin/cmake -H/home/ddm/rfnoc/src/gr-lte -B/home/ddm/rfnoc/src/gr-lte/build-arm --check-build-system CMakeFiles/Makefile.cmake 0
/home/ddm/rfnoc/oe/sysroots/x86_64-oesdk-linux/usr/bin/cmake -E cmake_progress_start /home/ddm/rfnoc/src/gr-lte/build-arm/CMakeFiles /home/ddm/rfnoc/src/gr-lte/build-arm/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
make -f lib/CMakeFiles/gnuradio-lte.dir/build.make lib/CMakeFiles/gnuradio-lte.dir/depend
make[2]: Entering directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
cd /home/ddm/rfnoc/src/gr-lte/build-arm && /home/ddm/rfnoc/oe/sysroots/x86_64-oesdk-linux/usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/ddm/rfnoc/src/gr-lte /home/ddm/rfnoc/src/gr-lte/lib /home/ddm/rfnoc/src/gr-lte/build-arm /home/ddm/rfnoc/src/gr-lte/build-arm/lib /home/ddm/rfnoc/src/gr-lte/build-arm/lib/CMakeFiles/gnuradio-lte.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
make -f lib/CMakeFiles/gnuradio-lte.dir/build.make lib/CMakeFiles/gnuradio-lte.dir/build
make[2]: Entering directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
/home/ddm/rfnoc/oe/sysroots/x86_64-oesdk-linux/usr/bin/cmake -E cmake_progress_report /home/ddm/rfnoc/src/gr-lte/build-arm/CMakeFiles 4
[  2%] Building CXX object lib/CMakeFiles/gnuradio-lte.dir/crc_check_vbvb_impl.cc.o
cd /home/ddm/rfnoc/src/gr-lte/build-arm/lib && /home/ddm/rfnoc/oe/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++   -march=armv7-a -mfloat-abi=hard -mfpu=neon --sysroot=/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi  -Dgnuradio_lte_EXPORTS -O2 -pipe -g -feliminate-unused-debug-types -O3 -DNDEBUG -fPIC -I/home/ddm/rfnoc/src/gr-lte/lib -I/home/ddm/rfnoc/src/gr-lte/include -I/home/ddm/rfnoc/src/gr-lte/build-arm/lib -I/home/ddm/rfnoc/src/gr-lte/build-arm/include -I/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include    -fvisibility=hidden -o CMakeFiles/gnuradio-lte.dir/crc_check_vbvb_impl.cc.o -c /home/ddm/rfnoc/src/gr-lte/lib/crc_check_vbvb_impl.cc
/home/ddm/rfnoc/src/gr-lte/lib/crc_check_vbvb_impl.cc: In member function 'virtual int gr::lte::crc_check_vbvb_impl::work(int, gr_vector_const_void_star&, gr_vector_void_star&)':
/home/ddm/rfnoc/src/gr-lte/lib/crc_check_vbvb_impl.cc:90:12: error: expected primary-expression before 'char'
   __GR_VLA(char, bytes, d_data_len / 8);
            ^
/home/ddm/rfnoc/src/gr-lte/lib/crc_check_vbvb_impl.cc:90:18: error: 'bytes' was not declared in this scope
   __GR_VLA(char, bytes, d_data_len / 8);
                  ^
/home/ddm/rfnoc/src/gr-lte/lib/crc_check_vbvb_impl.cc:90:39: error: '__GR_VLA' was not declared in this scope
   __GR_VLA(char, bytes, d_data_len / 8);
                                       ^
lib/CMakeFiles/gnuradio-lte.dir/build.make:77: recipe for target 'lib/CMakeFiles/gnuradio-lte.dir/crc_check_vbvb_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-lte.dir/crc_check_vbvb_impl.cc.o] Error 1
make[2]: Leaving directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
CMakeFiles/Makefile2:123: recipe for target 'lib/CMakeFiles/gnuradio-lte.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-lte.dir/all] Error 2
make[1]: Leaving directory '/home/ddm/rfnoc/src/gr-lte/build-arm'
Makefile:123: recipe for target 'all' failed
make: *** [all] Error 2

Doing some digging online, I discovered that __GR_VLA is defined in attributes.h.
I find that file in the following places:

/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/src/debug/libxslt/1.1.28-r0/libxslt-1.1.28/libxslt/attributes.h
/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/src/debug/attr/2.4.47-r0/attr-2.4.47/include/attr/attributes.h
/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/libxslt/attributes.h
/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/attr/attributes.h
/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnuradio/attributes.h
/home/ddm/rfnoc/src/gnuradio/gnuradio-runtime/include/gnuradio/attributes.h

In the file that fails compilation, crc_check_vbvb_impl.cc, I see an include for <gnuradio/io_signature.h>. I thought tracking this down might help me squash this bug as I have not seen an error indicating that the linker cannot find this file, and it is in the following places:

/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/src/debug/gnuradio/3.7.9-r0/git/gnuradio-runtime/include/gnuradio/io_signature.h
/home/ddm/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnuradio/io_signature.h
/home/ddm/rfnoc/src/gnuradio/gnuradio-runtime/include/gnuradio/io_signature.h

Seems that both files are found in some of the same places, most notably in the gnuradio directory. I've tried to explicitly include <gnuradio/attributes.h> in the source files that throw errors (it isn't just the one above), to no effect.

What could I be missing here?

Compiling issues

I am trying to compile this in linux mint. Gnuradio versio. 3.7.9. My computer is a core i5 dualcore. Thinkpad T410. Any ideas? Is the laptop too old for this ? I was able to compile gr-gsm with no problem.

Built example successfully. But, I have many "Missing Block" when I open *.grc files

2020-03-27-Missing-Blocks

I have built the LTE master in my Linux machine. I have been able to build all successfully. After I open any of the *.grc file, I have many "Missing Block". In the block library list, I have a lte library, and I have a good amount of ready to use block in lte library. See attached screenshot.

Did I do anything wrong or did I missed something?

Please add some examples how to use this

This could be a great and useful project, but unfortunately there are no examples or documentation found anywhere here. Not even in the examples directory, which thus render the package useless for non-already-experts.

Can you please add 1-2 examples for running this and describe what it does?

Thanks for the continued effort!

How to solve this ?GnuRadio Runtime and Filter required to compile lte

Make Warning (dev) in /usr/local/lib/cmake/gnuradio/GnuradioConfig.cmake:
Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH
and POP. Run "cmake --help-policy CMP0011" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

The included script

/usr/local/lib/cmake/gnuradio/GnuradioConfig.cmake

affects policy settings. CMake is implying the NO_POLICY_SCOPE option for
compatibility, so the effects are applied to the including context.
Call Stack (most recent call first):
CMakeLists.txt:100 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:103 (message):
GnuRadio Runtime and Filter required to compile lte

-- Configuring incomplete, errors occurred!

How to solve this issue, I am using gnu radio companion v3.10.6.0-1-g6a62c345 and Ubuntu 20.4 and pyth

Issue compiling some modules

When i try to compile with the gnu radio compiler some modules show the next output (or similar)...most of them works fine

Validation failed:

Block - mymap - Variable(variable):
	Param - Value(value):
		Value "lte.frame_pilot_value_and_position(N_rb_dl, initial_id, 1, 0)" cannot be evaluated:
		name 'lte' is not defined

Block - mymap1 - Variable(variable):
	Param - Value(value):
		Value "lte.frame_pilot_value_and_position(N_rb_dl, initial_id, 1, 0)" cannot be evaluated:
		name 'lte' is not defined

Block - poss0 - Variable(variable):
	Param - Value(value):
		Value "mymap[0]" cannot be evaluated:
		name 'mymap' is not defined

Block - poss1 - Variable(variable):
	Param - Value(value):
		Value "mymap1[0]" cannot be evaluated:
		name 'mymap1' is not defined

Block - vals - Variable(variable):
	Param - Value(value):
		Value "mymap[1]" cannot be evaluated:
		name 'mymap' is not defined

Block - import_0 - Import(import):
	Param - Import(import):
		Import "import lte" failed.

Block - lte_channel_estimator_vcvc_0 - Channel estimator generic(lte_channel_estimator_vcvc):
	Param - pilot carrier map(pilot_carriers):
		Value "poss0" cannot be evaluated:
		name 'poss0' is not defined

Block - lte_channel_estimator_vcvc_0 - Channel estimator generic(lte_channel_estimator_vcvc):
	Param - pilot symbol values(pilot_symbols):
		Value "vals" cannot be evaluated:
		name 'vals' is not defined

Block - lte_channel_estimator_vcvc_0_0 - Channel estimator generic(lte_channel_estimator_vcvc):
	Param - pilot carrier map(pilot_carriers):
		Value "poss1" cannot be evaluated:
		name 'poss1' is not defined

Block - lte_channel_estimator_vcvc_0_0 - Channel estimator generic(lte_channel_estimator_vcvc):
	Param - pilot symbol values(pilot_symbols):
		Value "vals" cannot be evaluated:
		name 'vals' is not defined
Error during file compilation.
> 

Any idea about solving this?
Thanks in advance

rs_map_generator_m.py: TypeError: in method 'from_bool', argument 1 of type 'bool'

Software versions.
gr-lte version 7288cc3
GNU Radio Companion 3.7.11

The Error is as follows.

handler caught exception: in method 'from_bool', argument 1 of type 'bool'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gnuradio/gr/gateway.py", line 73, in eval
    try: self._callback(arg)
  File "/usr/lib/python2.7/site-packages/lte/rs_map_generator_m.py", line 64, in handle_msg
    pmt_rs = self.rs_pos_to_pmt(rs_poss)
  File "/usr/lib/python2.7/site-packages/lte/rs_map_generator_m.py", line 88, in rs_pos_to_pmt
    pmt_rs = pmt.list_add(pmt_rs, self.int_list_to_pmt(rs_poss[i + 1]))
  File "/usr/lib/python2.7/site-packages/lte/rs_map_generator_m.py", line 93, in int_list_to_pmt
    return pmt.from_bool(pmt.PMT_F)
  File "/usr/lib/python2.7/site-packages/pmt/pmt_swig.py", line 2269, in from_bool
    return _pmt_swig.from_bool(val)
TypeError: in method 'from_bool', argument 1 of type 'bool'

Potential Fix:
The code at rs_map_generator_m.py#L78 should be change to

return pmt.PMT_F

or

return ptm.from_bool(False)

declaration different

lib\mimo_sss_symbol_selector_impl.h line 46:
mimo_sss_symbol_selector_impl(int fftl, int rxant);

vs

lib\mimo_sss_symbol_selector_impl.cc line 42:
mimo_sss_symbol_selector_impl::mimo_sss_symbol_selector_impl(int rxant, int N_rb_dl)

About make error

Screenshot from 2020-05-13 15-32-55

Hello,
An error occurs when I do this step.
Who can help me? Thanks.

what‘s the hardware of the project?

hello! nice to talk to you ! what's the hardware of the project ?and does the GNURadio only can use the 3.7.0 or version above 3.7.0 are all included ? i install the 3.7.4 version but the GRC files are invalid?maybe it's the problem with the version?can you give me help ?thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.