Changing carrier map in ofdm

Hi,
I have modified “benchmark_ofdm_rx.py” (and tx) so that the
transmitter and receiver
can change the subcarrier map (based on some event, e.g., sensing
outcome) and
send packet with the new carrier map. I have a simple handshake
protocol through
which the sender and receiver synchronize their carrier map setting.
I am seeing the following problem:
Even though the two sides are with the same carrier map, sometimes the
receiver
does not receive packets (although sender is sending the packets). This
happens
at a very high rate. At other times packets are received correctly. The
sender and
the receiver (USRP N210) are connected through a channel emulator, which
emulates a perfect
channel (so it could not be because of channel error).

As per my understanding, resetting carrier map (done in 

“digital_ofdm_mapper_bcv.cc”) is
asynchronous. So, the python layer resets the carrier map and then at a
later time the ofdm_mapper
actually sets the carrier map in the usrp device (through its “work()”
function). So, I thought, perhaps
the receiver is not ready to receive next set of packets using the new
carrier map. So, I put a
sleep(0.5sec) on the sender side after sender resets its carrier map to
give enough time to the
receiver. But that did not fix the problem.
Will appreciate if someone can let me know what could be the problem
and how to fix it.

thanks and regards

–Anirudh Sahoo
Advanced Network Technology Div.
National Institute of Standards and Technology (NIST)
100 Bureau Drive,
Gaithersburg, MD - 20878
Room - B230, bldg.- 222
Phone- 301-975-4439