Multi-machine sweeper

In looking for particular frequencies which can successfully transmit
across a particular medium or antenna, I’ve spent days running
benchmark_tx on one side and benchmark_rx on the other (two separate
machines). I’ve got an ethernet connection between the two machines, so
it is a matter of sshing and running the test app and then looking at
the benchmark_rx or usrp_fft. Has anyone ever automated this process?
I’d really love a way to relatively quickly sweep across the entire
range of a particular daughterboard and have the other machine generate
a brief report of frequencies that seemed to work.

Is there a python whiz out there who could cobble such a thing together
in a hurry? I have a passwordless ssh key that lets me connect to the
other box and run commands without authentication which is good for
scripting (ssh 10.0.0.2 benchmark_tx.py yatta yatta yatta).

In the long run- perhaps a python app that sits on a socket and changes
the frequency at the command of the other side of the link, which is
doing a loop through the daughtercard frequencies and then keeps track
of the SNR or the db above baseline or something. The quick and dirty
way would be to have the RX hop to the frequency, listen to baseline
with transmitter not going, record level, ask TX side to go to same
frequency, measure again- record the result and then move to the next
frequency.

Any thoughts would be great.

2007/3/26, Brett L. Trotter [email protected]:

In the long run- perhaps a python app that sits on a socket and changes the frequency at the command of the other side of the link, which is doing a loop through the daughtercard frequencies and then keeps track of the SNR or the db above baseline or something. The quick and dirty way would be to have the RX hop to the frequency, listen to baseline with transmitter not going, record level, ask TX side to go to same frequency, measure again- record the result and then move to the next frequency.

It should be possible to run a SOAP server as a thread in a GNU Radio
application. The simplest possible soap server looks like this:


import SOAPpy
def hello():
return “Hello World”

  server = SOAP.SOAPServer(("localhost", 8080))
  server.registerFunction(hello)
  server.serve_forever()

and can be called with the following client code:


import SOAPpy
server = SOAPpy.SOAPProxy(“http://localhost:8080/”)
print server.hello()


Of cause you have to replace localhost with the host name of the
server and the hello()-method with something more meaningful, but
otherwise the code should be very similar.

SOAPpy is availble here: http://pywebsvcs.sourceforge.net/


Trond D.

In the long run- perhaps a python app that sits on a socket and
changes the frequency at the command of the other side of the link,

So you want your GNU Radio transmitters to accept commands from
another program possibly running on another computer?

One Idea would be to leverage an existing interface. “hamlib”
might work for this. It’s an interface between a front end
radio control application and a real (or software) radio. If
your transmitters had a hamlib interface then you could
control it with an existing graphical front end. Conversly if
you wrote a “sweep” program that used hamlib then your sweep
program could in theory also control a real hardware transmiters
such as Icom or Kenwood. Hamlib works over a network too

I beleive there was some work done to connect hamlib with
GNU Radio. I don’t now it’s state or if it was ever completed.
Perhaps others do.

Chris Albertson
Home: 310-376-1029 [email protected]
Office: 310-336-5189 [email protected]


No need to miss a message. Get email on-the-go
with Yahoo! Mail for Mobile. Get started.

Tue, Mar 27, 2007 at 11:32:38AM +0200, Trond D. skribis:

application. The simplest possible soap server looks like this:
Why not something even simpler like RPyC ?

http://rpyc.wikispaces.com


Stephane