Is it possible to link Gnuradio and Gpredict ? I want to use Gpredict as
tracker controlling the antenna position and to pass doppler corrected
frequency data to Gnuradio.
Does any interface to Gpredict (or hamlib) exist ?
thanks for any hints, Mark
Hi,
Gpredict is based on predict, which has several interfaces for Doppler
prediction. Not sure if Gpredict inherited these interfaces.
Yours
Martin
Am 22.07.2013 13:31, schrieb M Dammer:
Hi,
Can you explain in detail regarding querying the Gpredict for doppler
corrected freq. using UDP, since I novice to UDP. If possible, can you
please post the relevant code.
Rajesh
–
View this message in context:
http://gnuradio.4.n7.nabble.com/linking-Gnuradio-and-Gpredict-tp42620p47286.html
Sent from the GnuRadio mailing list archive at Nabble.com.
On 22/07/13 12:31, M Dammer wrote:
Is it possible to link Gnuradio and Gpredict ? I want to use Gpredict as
tracker controlling the antenna position and to pass doppler corrected
frequency data to Gnuradio.
In a word, yes.
Can be very simple. I did it by using an XML Server in the flow graph,
and wrote a quick XML client (actually I “stole” most of it from an
example), and sent the doppler info from predict via a variable.
doppler info was received from predict using some code to query predict
using UDP. I think I just used nc to send the UDP query to predict,
recovered the shift from the reply, and sent it back to the XML Server
running within the flow graph.
Unfortunately I can’t find my actual code right now, but I literally
copied an example, and added the UDP Predict clients bit. It went
something like this pseudo code (Yes, this is a mix of shell,and
python, and you need to re-write the getting doppler from predict
yourself, but you get the idea, and should give you enough)
import time
import sys
from socket import *
import xmlrpclib
import binascii
s = xmlrpclib.Server(“http://192.168.39.74:8081”)
infinite=1
while infinite == 1;
Grab predict doppler using UDP
DOPPLER=nc -u -s 2 $PREDICTHOST GET_DOPPLER $NORAD_NUMBER
s.set_doppler_shift($DOPPLER)
time.sleep(1)
The variable (lets call it doppler_shift) exists in the flowgraph,
and was multiplied appropriately and applied to the centre frequency of
a FIR filter.
You can pretty much pass any information you want in and out of a flow
graph using a XML Server/Client pair. I’ve done TX/RX switching, and
am currently working on telemetry decoding/display
Iain
I just found a good starting point. This program uses hamlib, a library
that is often used to control rigs and antenna rotors and that is
supported by GPredict:
I just tested it and GPredict connects well to localhost:4575. The
server programs output shows the proper doppler corrected frequencies
etc. As it is python it can probably “converted” into a GRC block.
73 Mark