I am trying to implement an algorithm over the ofdm implementation
benchmark_xx.py) so that the txmitter and rcvr can communicate changing
the subcarriers dynamically.
The scheme is roughly as follows:
(1) Inially the txmitter and the rcvr listen on a well-known set of
(2) then the txmitter sends a carrier map (set of subcarriers)
over which the subsequent transmissions will happen.
(3) the rcvr acks that it has received the new carrier map (and tunes
to those subcarriers for reception)
(4) On receiving ACK, the txmitter also sets its carrier map to new
(5) Now both the ends are synced to this new carrier map
(6) some data packets are sent over this new carrier map
(7) then the txmitter decides to change the carrier map and goes to
Here is the problem that I encounter:
The rcvr gets few packets (usually first two times the carrier map
reset works and the rcvr
is able to get the packets).
But then the txmitter sends the new carrier map. The rcvr receives
it, sends an ACK, sets its
carrier map appropriately. The txmitter receives the ACK, sets its
carrier map and then starts
sending data packets.
But now the rcvr does not get any packets (even though it is tuned
to the same subcarriers as
the txmitter is transmitting on).
Then I see the message “TIMEOUT” on the rcvr (coming from
general_work() of “digital_ofdm_sampler.cc”).
I have even put some delays between resetting carrier map and
sending data (so that the receiver is
ready with the new carrier map), but that did not help.
Any idea why the receiver stops getting packets after few times the
carrier map is changed?
I am running gnuradio version 3.6.2 on USRP N210. The txmitter and
the rcvr are connected over
a channel emulator (using RF cable), which emulates a perfect lossless
thanks and regards
Advanced Network Technology Div.
National Institute of Standards and Technology (NIST)
100 Bureau Drive,
Gaithersburg, MD - 20878
Room - B230, bldg.- 222