I was trying to make a channel estimation procedure to work, and I am
in desperate need for some help. I had a preliminary version that
works only part of the time, and I decided to start from scratch. I
followed Eric’s advice and used tunnel.py as an example.
I have two USRPs, one called S and the other called R. The procedure is:
(1). S sends channel estimation sequence. R receives, and estimate the
(2). R sends the channel estimation report back to S.
(3). S sends data to R according to the channel estimation
Everything works perfectly until step (2), that is, S can get the
channel estimation report and can send data to R. The problem is that
R cannot receive. The signal received by R is almost always near 0. My
guess is that something is preventing R from receiving after it
started the transmit path.
Here is the skeleton of the code:
tb.start() print "--- started listening! ---" while not tb.rxpath.receiver.finished_phase_diff_est(): time.sleep(0.001) #orig: 0.001 # here I do carrier sense, until the sender finishes while tb.rxpath.receiver.est_snr() > 0.001: time.sleep(0.001) print "--- sender stopped, preparing to send report! ---" # here I call some functions to estimate the chanel tb.lock() tb.disconnect_all() # the transmting path was not connected originally, because my
laptops are slow. I am getting some new ones.
# add then cannot receive begin tb.connect(tb.txpath) tb.unlock() tb.txpath.set_tx_amplitude(_def_rv_tx_power) print "--- sending rpt ---" time.sleep(0.01) #orig: 0.01 tb.txpath.set_tx_amplitude(0) time.sleep(0.1) #try to make sure that 0 is written into the data
tb.lock() print "--- done sending! ---" # add then cannot receive end tb.disconnect_all() tb.connect(tb.rxpath) tb.unlock() time.sleep(1) print "--- done receving ---"
I noticed that if I delete the code between
# add then cannot receive begin # add then cannot receive end
, then the receiver can receive some signals. txpath and rxpath are
both gr.hier_block2, and tb is gr_top_block, same as in tunnel.py. Can
someone give me some hint to this? Thanks so much!
Please let me know if more information is needed.