Problem using benchmark_rx.py

Hi,

I am trying to transmit packets using benchamark_tx.py and recieve them
using benchmark_rx.py. As mentioned in README file I started first
benchmark_rx.py at one machine then started benchmark_tx.py on another
machine, but I dont see any print on receiver machine. I am using
following
commands:

Tx Machine:
[[email protected] ~]# ./benchmark_tx.py -f 100e6 --tx-amplitude=3000 -M 2 -r
100e3 -s 1000

Rx Machine:
[[email protected] ~]# ./benchmark_rx.py -f 100e6

gr_fir_fff: using SSE

and I dont get any output.

Can somebody guide me how to succesfully receive the transmitted
packets?

Thanks in advance.

Tarun

From: [email protected]nvalid
[mailto:[email protected]nvalid] On Behalf Of
Tarun
Tiwari
Sent: Thursday, December 07, 2006 12:25 AM
To: [email protected]
Subject: [Discuss-gnuradio] Problem using benchmark_rx.py

Hi,

I am trying to transmit packets using benchamark_tx.py and recieve them
using benchmark_rx.py. As mentioned in README file I started first
benchmark_rx.py at one
machine then started benchmark_tx.py on another machine, but I dont see
any print on receiver machine. I am using following commands:

Tx Machine:
[[email protected] ~]# ./benchmark_tx.py -f 100e6 --tx-amplitude=3000 -M 2 -r
100e3 -s 1000

Tarun

Try using the ‘-v’ (verbose) flag on both Rx and Tx, which will give you
all
the information about the modulation, bit rate, etc. The most likely
candidate here is that you’ve specified the bit rate (100 kbps, GMSK) on
the
transmitter but not the receiver. The receiver defaults to 500 kbps. Use
the
‘-r 100k’ on your receiver as well.

Are you transmitting over the air, or connected over cable? And what
daughterboards are you using? This will impact the transmit amplitude
you’ll
need. What you’ve specified is a pretty good mid range for most setups.
I
only point this out as the next place to look once you’ve corrected the
bit
rate and it still doesn’t work.

Tom

Thank you Tom,

I did change the bit rate for Rx and used -v mode, but its still not
working. Please see the output of program:

Transmitter:
[[email protected] ~]# ./benchmark_tx.py -f 100e6 --tx-amplitude=500 -M 2 -r
100e3 -v

gr_fir_fff: using SSE
bits per symbol = 1
Gaussian filter bt = 0.35
Using TX d’board A: Basic Tx
Tx amplitude 500.0
modulation: gmsk_mod
bitrate: 100kb/s
samples/symbol: 4
interp: 320
Tx Frequency: 100M


Receiver:
[[email protected] ~]# ./benchmark_rx.py -f 100e6 -r 100e3 -v

gr_fir_fff: using SSE
bits per symbol = 1
M&M clock recovery omega = 4.000000
M&M clock recovery gain mu = 0.050000
M&M clock recovery mu = 0.500000
M&M clock recovery omega rel. limit = 0.005000
frequency error = 0.000000
Using RX d’board A: Basic Rx
Rx gain: 10
modulation: gmsk_demod
bitrate: 100kb/s
samples/symbol: 4
decim: 160
Rx Frequency: 100M

I am connecting the the two boards using cables using -32dB RF
attenuator on
each port of daughterboards.

I am using Basic Tx and Basic Rx Boards.

Please advise me, if I need to do some changes in benchmark_rx.py
program.
And meanwhile, can you tell me do we need to call any function between

fg.start()        # start flow graph
fg.wait()         # wait for it to finish

To debug the program, I tried printing something inside rx_callback
subroutine, but I think rx_callback is not being called anywhere in the
program, thats why I am not able to see any printed output on screen. Am
I
right? I tried this one:

def rx_callback(ok, payload):
    global n_rcvd, n_right
    (pktno,) = struct.unpack('!H', payload[0:2])
    n_rcvd += 1
    if ok:
        n_right += 1
    print "Hello Tarun\n"
    print "ok = %5s  pktno = %4d  n_rcvd = %4d  n_right = %4d" % (
            ok, pktno, n_rcvd, n_right)

but no result …
Please advise me.

Thank you again.

Regards,
Tarun

Tarun,

From: Tarun T. [mailto:[email protected]]

Thank you Tom,

I did change the bit rate for Rx and used -v mode, but its still not
working. Please see the output of program:

Transmitter:
[[email protected] ~]# ./benchmark_tx.py -f 100e6 --tx-amplitude=500 -M 2 -r
100e3 -v

M&M clock recovery mu = 0.500000

I am connecting the the two boards using cables using -32dB RF attenuator
on each port of daughterboards.

I am using Basic Tx and Basic Rx Boards.

That’s what I thought. You can’t transmit at 100 MHz with the Basic
boards
(DAC is 128 Msps; you can really only transmit up to 44 MHz). Cut it
down to
something like 20 MHz.

Please advise me, if I need to do some changes in benchmark_rx.py program.
And meanwhile, can you tell me do we need to call any function between

fg.start() # start flow graph
fg.wait() # wait for it to finish

To debug the program, I tried printing something inside rx_callback
subroutine, but I think rx_callback is not being called anywhere in the
program, thats why I am > not able to see any printed output on screen.
Am I
right? I tried this one:

but no result …
Please advise me.

The rx_callback function only gets called if a packet is seen, which
means
correlating with the access code, so unless you’re receiving packets,
you’ll
never enter this function. Hopefully the change in carrier frequency
will
fix it.

Tom

On Thu, Dec 07, 2006 at 12:20:20PM -0700, Tarun T. wrote:

Thank you Tom,

I did change the bit rate for Rx and used -v mode, but its still not
working. Please see the output of program:

Since you are using the Basic Tx, try removing the attenuator.
Also, be sure to set the gains on both tx and rx to their maximum
values.

Eric

Hello Tom,

Looking at your reply to this post, I am wondering how can we then
transmit
at carrier frequency around 90-110 MHz? Would we have to use a different
daughterboard? I didn’t have any problem transmitting an analog audio
signal
over carrier frequency within board frequency range as well as any
waveform
using usrp_siggen.py. However, using benchmark_tx.py I can’t transmit
any
data at carrier freq higher than 44MHz. What board or method you think
can
let me do this?

Thank you,

Tom R. wrote:

samples/symbol: 4
bits per symbol = 1
decim: 160
(DAC is 128 Msps; you can really only transmit up to 44 MHz). Cut it down
To debug the program, I tried printing something inside rx_callback
n_right += 1
you’ll
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


View this message in context:
http://www.nabble.com/Problem-using-benchmark_rx.py-tp7733803p16959770.html
Sent from the GnuRadio mailing list archive at Nabble.com.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs