discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] UHD Source Block and N210/SBX Synchronisation


From: Nigel Steed
Subject: Re: [Discuss-gnuradio] UHD Source Block and N210/SBX Synchronisation
Date: Tue, 1 Mar 2016 15:53:21 +0000

Thanks Marcus,

 

I have now implemented the tune request with a python module. Integer N mode really helps with eliminating the spurs.

 

I have also added timed commands within the python file, but when I read the N210 timer, all the fractional values are fixed at .99999998.

 

I have therefore re-compiled the UHD Source Block C Code to output to the console the time which is correct and all the fractional values are counting. Does this mean implementing time commands in python does not work ?

 

Thanks,

 

From: discuss-gnuradio-bounces+address@hidden [mailto:discuss-gnuradio-bounces+address@hidden On Behalf Of Marcus D. Leech
Sent: 01 March 2016 15:44
To: address@hidden
Subject: Re: [Discuss-gnuradio] UHD Source Block and N210/SBX Synchronisation

 

On 03/01/2016 04:57 AM, Nigel Steed wrote:

Hi All,

 

Has anyone managed to use/modify the UHD Source Block to phase synchronise multiple N210/SBX ?

 

From what I have read I must perform the following

 

(1)    Configure to use external references (10MHz and 1PPS) using the options in the UHD Source Block

(2)    Use integer N mode for the PLL

(3)    Re-tune the frequency of the PLL’s on multiple N210/SBX at the same using a time command

(4)    Align the CORDIC’s at initialisation and after a re-tune from (2) above by stopping and starting a stream disciplined to a time command which issues a reset to the CORDIC’s at the same time

 

Thanks,

 

Nigel

 

The only thing really missing in gr-uhd is the ability to do timed commands.   You can force integer-N mode by constructing your own
  tune_request that includes the integer-N option.  You'd use a feature from the latest Gnu Radio to help you with this, because it involves
  getting into the internal structure of a tune_request blob.   So, use the "Python module" block, and in that Python do something like:

def integer_N_tune_me(freq):
    r = uhd.tune_request(freq)
    r.args = {"mode_n" : "integer"}
    return r

Then, in your UHD source/sink block, instead of using your target frequency directly, use:

your_module_name.integer_N_tune_me(desired_freq)



Martin could probably comment on the feasibility of adding timed commands to gr-uhd.



reply via email to

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