discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Retune Request Time


From: Richard Bell
Subject: Re: [Discuss-gnuradio] Retune Request Time
Date: Tue, 14 Jun 2016 13:43:04 -0700

Martin and Derek,

Thank you. That is much more clear to me now.

Rich

On Tue, Jun 14, 2016 at 1:19 PM, Martin Braun <address@hidden> wrote:
On 06/13/2016 04:47 PM, Richard Bell wrote:
> I can call the C++ functions from Python? Why is there a separate python
> API, I'm confused.

It's the same API, SWIG exposes that to Python.

> Lets say I set an initial center frequency of 900 MHz to start the
> script off. You're saying that if the next frequency I want to hop to is
> within the ADC sampling rate, which in my case for the N210 is 100 MHz,
> I should manually tell the USRP to set the DSP_FREQ and leave the
> RF_FREQ alone for the fastest hop, and that the USRP automatic settings
> are not smart enough to figure this out?

What I'm saying is, there are no automatic settings other than fixing
the limited accuracy of the RF frequency using the DSP.
The tune logic is mostly stateless (with the exception of the
calibrations on the AD9361-based devices).

> If the above is true, it seems I should do something like this:
> 1) Ask the USRP what the current RF_FREQ is
> 2) Find the difference between RF_FREQ and the new center freq
> 3) If the difference is greater then 100 MHz, change the RF Freq,
> otherwise change the DSP freq
>
> Is this correct?

Yup.

M

>
> On Mon, Jun 13, 2016 at 4:03 PM, Martin Braun <address@hidden
> <mailto:address@hidden>> wrote:
>
>     Richard,
>
>     "use DSP tuning when possible" is not a valid policy.
>
>     In Python:
>
>     from gnuradio import uhd
>
>     rf_freq = 900e6
>     dsp_freq = 1e3
>     TR = uhd.tune_request(rf_freq, dsp_freq)
>     # Oh look it worked:
>     print TR.rf_freq_policy == uhd.tune_request.POLICY_MANUAL
>
>
>     So, in a nutshell, rf_freq and dsp_freq are used depending on the
>     respective policies, but there's no 'figure out smart tunes based on
>     state' policy.
>
>     -- M
>
>
>     On 06/13/2016 03:49 PM, Richard Bell wrote:
>     > Derek,
>     >
>     > that manual is the C++ API. How would I format the tune policy
>     > information in python? It's not clear to me looking at the C++ API and
>     > the Python API for the set_center_freq python function. Could you give
>     > an example of how you would call
>     >
>     > C++: http://files.ettus.com/manual/structuhd_1_1tune__request__t.html
>     > Python:
>     > http://www.gnuradio.org/doc/sphinx/uhd_blocks.html#gnuradio.uhd.usrp_sink
>     >
>     > set_center_freq(center_freq, <USE_DSP_TUNING_WHEN_POSSIBLE>)
>     >
>     > What goes in place of the careted argument?
>     >
>     > Rich
>     >
>     > On Mon, Jun 13, 2016 at 3:31 PM, Derek Kozel <address@hidden <mailto:address@hidden>
>     > <mailto:address@hidden <mailto:address@hidden>>> wrote:
>     >
>     >     Hi Rich,
>     >
>     >     You can create and pass a tune_request_t into the set frequency call
>     >     of a USRP object. This gives you control of how it tunes. By default
>     >     it does not optimize for speed to my knowledge.
>     >     http://files.ettus.com/manual/structuhd_1_1tune__request__t.html
>     >
>     >     Depending on what USRP you are using there are self calibration
>     >     thresholds which will cause a retune to incur a delay when tuning
>     >     outside of a certain range. On the B200 for instance this range is
>     >     100MHz.
>     >
>     >     Regards,
>     >     Derek
>     >
>     >     On Mon, Jun 13, 2016 at 3:05 PM, Richard Bell
>     >     <address@hidden <mailto:address@hidden>
>     <mailto:address@hidden <mailto:address@hidden>>>
>     wrote:
>     >
>     >         I am using set_center_freq(center_freq) in my python script to
>     >         retune my USRP to various center frequencies. Does this command
>     >         use the smartest retune technique to get to the new frequency?
>     >
>     >         For example, if I want to retune from 900.000 MHz to 900.001 MHz
>     >         ( a 1 kHz change), will it use DSP tuning instead of RF tuning
>     >         for speed? Is there a way to control this through python?
>     >
>     >         In my testing, it seems the retune time is constant whether I
>     >         make a 1 GHz hop, a 3 MHz hop or a 1 kHz hop, which makes me
>     >         think I'm overlooking something.
>     >
>     >         Thanks,
>     >         Rich
>     >
>     >         _______________________________________________
>     >         Discuss-gnuradio mailing list
>     >         address@hidden <mailto:address@hidden>
>     <mailto:address@hidden <mailto:address@hidden>>
>     >         https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     >
>     >
>     >
>     >
>     >
>     > _______________________________________________
>     > Discuss-gnuradio mailing list
>     > address@hidden <mailto:address@hidden>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     >
>
>
>     _______________________________________________
>     Discuss-gnuradio mailing list
>     address@hidden <mailto:address@hidden>
>     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>


_______________________________________________
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]