discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Multiple-Transmitter OFDM


From: Ramazan Çetin
Subject: Re: [Discuss-gnuradio] Multiple-Transmitter OFDM
Date: Wed, 26 Jun 2019 20:40:30 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1

Hi Michael,

We have implemented one channel OFDM using rational resampler and pfb synthesizer and multiply tag block. It's working and we can receiver packets over the air. Thanks for suggestions.

We have also tried to implement two channels. We have resampled OFDM signals to 500KHz using rational resampler and combine them using synthesizer. When we run the FG, we can receive from both of the channels in the receiver but i am seeing lots of tPtPtPtP and some Us. The log is given in below:

root@rcetin-W540:~/workarea/installs $ /home/rcetin/workspace/gohm/bitbucket/physicallayergnuradio/resampled_ofdm.py
linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.009.002-0-gf18abe54

-- Initializing core control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Setting time source to internal
-- Asking for clock rate 16 MHz
-- Actually got clock rate 16 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
set_min_output_buffer on block 31 to 65536
ControlPort Monitor running.
set_min_output_buffer on block 8 to 65536
set_min_output_buffer on block 10 to 65536
set_min_output_buffer on block 9 to 65536
set_min_output_buffer on block 9 to 65536
set_min_output_buffer on block 11 to 65536
set_min_output_buffer on block 13 to 65536
set_min_output_buffer on block 14 to 65536
set_min_output_buffer on block 12 to 65536
set_min_output_buffer on block 12 to 65536
set_min_output_buffer on block 15 to 65536
set_min_output_buffer on block 16 to 65536
set_min_output_buffer on block 17 to 65536
set_min_output_buffer on block 19 to 65536
set_min_output_buffer on block 21 to 65536
set_min_output_buffer on block 20 to 65536
set_min_output_buffer on block 20 to 65536
set_min_output_buffer on block 22 to 65536
set_min_output_buffer on block 24 to 65536
set_min_output_buffer on block 25 to 65536
set_min_output_buffer on block 23 to 65536
set_min_output_buffer on block 23 to 65536
set_min_output_buffer on block 26 to 65536
set_min_output_buffer on block 27 to 65536
set_min_output_buffer on block 28 to 65536
gr::log :INFO: controlport - Apache Thrift: -h rcetin-W540 -p 37521
monitor::endpoints() = -h rcetin-W540 -p 37521
running: ['gr-perf-monitorx', 'rcetin-W540', '37521']
Press Enter to quit: tPtPUtPtPUtPUtPtPtP/home/rcetin/workarea/installs/bin/gr-perf-monitorx requires networkx and matplotlib. Please check that they are installed and try again.
tPUUtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtP


So, do you have any idea what the reason of PtPt?

Another problem is U (underrun). Does underrun related with CPU capability or network (We are using E310 in network mode)?

Thank you so much for suggestions. The FG is attached.

Best regards.

Ramazan

On 25.06.2019 18:41, Ramazan Çetin wrote:

Hi,

I guess, the receiver cannot synchronize to our transmitters. Is there a way for using occupied carriers for synchronization instead of all carriers in schmidl cox?

Best regards.

On 24.06.2019 15:00, Ramazan Çetin wrote:

Hi Michael,

Firstly, thank you for your suggestion. I have tried your solution and i have transmitted two signals using PFB synthesizer. At the receiver, i have used a PFB channelizer. In simulation, this system works perfectly. I could receive two different files at the receiver from two different transmitters.

But when i tried this system on E310s, it fails. At the transmitter, E310 gives tGtGtGtGtGtGtGtG errors (I know this is related with length tags but i have already provided tag to USRP). At the receiver, it cannot receive signals. It gives this error:

gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 38
gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 76
gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 114
gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 152
gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 190
gr::log :INFO: header_payload_demux1 - Parser returned #f
gr::log :INFO: packet_headerparser_b1 - Detected an invalid packet at item 228


This is obviously related with HPD. But, it does not give this error continuously while signal is transmitting. Normally, if header cannot be decoded, this error should be seen continuously. Instead, it just gives at the beginning of signal.

I have attached three GRC FGs. pfb_test is simulation environment that works perfectly. pfb_transmitter and pfb_receiver are USRP FGs.

Do you have any idea about this situation?

Best regards.

Ramazan

On 20.06.2019 21:16, Michael Dickens wrote:
Hi Ramazan - Hmmm ... I'm not coming up with anything greatly useful when using a single OFDM block for Tx. Alternatively you could use a 2 channel PFB synthesizer on Tx, with 2 separate OFDM Tx and feed them into the synthesizer. On Rx use a PFB channelizer and take its 2 outputs to 2 separate OFDM Rx. The complexity of the PFBs will depend on the filtering required to keep the OFDM channels separate enough. Maybe others have useful ideas of how to do what you're looking for? Hope this is useful! - MLD

On Thu, Jun 20, 2019, at 10:49 AM, Ramazan Çetin wrote:

Hi MLD,

You are right. I guess, one of the transmitters' preamble overlaps another's data. (Because gnuradio sends preamble in all carriers). I have attached my receiver and transmitters' FGs. Both of them uses 256 carrier OFDM. One transmitter use half of the carriers as occupied and another uses other half. I guess our receiver structure is wrong.

Can you suggest a way for implementing multi user OFDM system?


Attachment: resampled_ofdm.grc
Description: XML document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]