discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Block for Doppler shift correction


From: Wolfgang Nagele
Subject: Re: [Discuss-gnuradio] Block for Doppler shift correction
Date: Sun, 2 Aug 2015 12:26:23 +1000

Hi,

Yes - I found that example but found it a bit complicated to use.

Basically I already plan my satellite recordings using Gpredict so
attaching that to my GNU Radio flowgraph seemed like the simple next
step.

I also thought about using https://github.com/nsat/pypredict to have
it all in GNU Radio.

Cheers,
Wolfgang

On Sat, Aug 1, 2015 at 6:33 PM, Iain Young, G7III <address@hidden> wrote:
> Hi Wolfgang,
>
> You Wrote:
>
> On 01/08/15 09:17, Wolfgang Nagele wrote:
>>
>> Hi,
>>
>> I've recently needed to correct some satellite signals for Doppler
>> shift. I found that there was no easy way to do this yet - so I've
>
>
> Interesting. The way I did it was the following (using predict, rather
> than gpredict):
>
>    a) Add a XMLRPC Server block to my flowgraph
>    b) Write a piece of python glue code which:
>       i) Gets the normalised doppler info from predict via UDP 1210
>       ii) Calculates the correct doppler for the s/c frequency
>       iii) Sends it onto gnuradio to set a variable, which twiddles
> a FIR filter by the correct amount rather than mixing via a multiply
> block.
>
> Here is a version of the whole thing used for tracking Funcube-1
> aka AO-73. I use similar scripts for doppler correcting the NOAA birds
> as well, and do have a version which handles multiple spacecraft on one
> flowgraph
>
>
> #!/usr/bin/env python
>
> import sys
> import time
> import socket
> import xmlrpclib
>
> # Create UDP Socket
> predsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>
> # Create XML Object
> s = xmlrpclib.Server("http://localhost:8080";);
>
> # Get Satellite object or name
> s_c = str(sys.argv[1]);
>
> doppler_msg = "GET_DOPPLER " + s_c
>
> while True:
>         # Get Doppler from Predict
>         predsock.sendto(doppler_msg , ("127.0.0.1",1210))
>         doppler_str,predaddr  = predsock.recvfrom(24)
>         # Adjust for correct frequency
>         dopp_float = float(doppler_str)
>         dopp_freq = (145.935/100.000)*dopp_float
>         print dopp_freq , dopp_float
>
>         # Send to grc
>         try:
>                 s.set_dopp_freq(dopp_freq)
>         except socket.error:
>                 pass
>         # Sleep
>         time.sleep(1)
>
>
> All the Best
>
> Iain
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]