tfcollins / gr-ofdm

gnuradio OFDM blocks for over the air communications. Tested with hardware (USRP's).
15 stars 5 forks source link

Param - Import(import): Import "import ofdm" failed. #2

Open livingstone27 opened 7 years ago

livingstone27 commented 7 years ago

hi there,

i am having an import error with the gnuradio import block when trying to run the examples, it says

Param - Import(import): Import "import ofdm" failed.

please advice on how to remedy this. thanks.

tfcollins commented 7 years ago

What block does it say is missing?

livingstone27 commented 7 years ago

Its every block that has the "import ofdm", or "the import ofdm.packet_process as pp", or the "import ofdm.gen_preamble as gp" or others that are importing something from the ofdm module. All the blocks with this are giving me an import error.

screenshot from 2017-08-17 13-19-09 screenshot from 2017-08-17 13-19-48

Just another question, i am aware that the module is used to implement multiple antenna systems. I want to test the module with by implementing an OFDM SIMO system using BladeRF boards. So my question is what diversity combining scheme does the module use to combine the received signals? if it is MRC, how are you getting your combining weights and how are you ensuring that the signals are co-phased?

thanks.

tfcollins commented 7 years ago

From the command line if you can open python and load the ofdm library it will tell the exact block that is missing. The systems uses a lot of hierarchical blocks which you need to generate from flowgraphs.

Yes its MRC and I do phase alignment at the hardware level with USRP X310s with dual TwinRXs. I have to manually calibrate them but only once. I don't really have a lot of experience with BladeRFs, so I'm not sure if you RF align them. This can be done with multiple USRP-N210s but it takes some more work.

livingstone27 commented 7 years ago

Here is my command line, i open python, then i can import numpy successfully, then when i import ofdm i get an error. screenshot from 2017-08-17 15-41-53

then i open ofdm_sync_channel but then it also gives the import ofdm error screenshot from 2017-08-17 15-46-59\ screenshot from 2017-08-17 15-47-34

And just to reiterate, how are the combining weights calculated in the MRC combining scheme?

tfcollins commented 7 years ago

O yeah that's a generated block. Let me track down those blocks and make sure everything builds fine.

As for combining I believe I use channel estimates to create the weights, but its more of an after thought in the design. The SIMO receiver was actually implemented for direction finding where we use the channel estimates to estimate signal directions.

livingstone27 commented 7 years ago

Were you able to see what could be causing the import ofdm error?

Another thing, I started implementing a SISO system using the existing tx_ofdm.grc and rx_ofdm.rx examples in GNU Radio, now I am trying to expand them to implement an OFDM SIMO system, I want to how can I configure them GNU ofdm examples to do SIMO and how can I implement the diversity combining using some of the critical component from your gr-ofdm module?

Another thing, since it is MRC, how can I configure it to test the other combining schemes such as Selection Combining and Equal Gain Combining?

thanks.

tfcollins commented 7 years ago

Yes, but the block sits on a remote machine which is currently offline. So I'm waiting on IT to turn it back on.

This will depend on the assumptions you have about the relative differences between the signals from the radios. Like me if you can assume just a phase difference then recovery is really no different until you get to the equalizer. If you can't make that assumption you will have to handle each RX separately. Most likely if this is the case gr-ofdm will not work at all since all the signals touch the same blocks then can get combined at the equalizer.

Using different techniques is rather straight forward once synced: EGC just add the signals together (no scaling), and for SC this just depends on your criteria (usually max power).