Dear All,
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
channel.
(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
buffer.
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.
Best regards,
Zenny