Also, note that there is no corresponding issue on receive because the Rx
radio always inserts the time stamp in the sample stream. So, I guess you
would not see this with the DDC.
Rob

On Tue, Mar 3, 2020 at 12:43 PM Rob Kossler <rkoss...@nd.edu> wrote:

> Hi Lukas,
> The FPGA image on the USRP is divided into blocks such as the DUC block
> and the Radio block.  The latter controls the RF daughterboard and has
> access to the device clock.  So, when you provide a timed command to the
> Radio block (such as for tuning the RF) it can implement the command at the
> specified time by comparing to the device clock.  The DUC block does not
> have access to the MB clock and so when you give it a timed command, it
> monitors the incoming sample stream to extract the time. If the sample
> stream does not include a time stamp, the command never executes.  Don't
> think of this as a bug, but rather as a design limitation.
>
> When I work directly with UHD from C++, I use the function
> rx_streamer::issue_stream_command() which has options to stream data with
> no time stamp or with a time stamp.  When using timed commands with DUC or
> DDC, I must include the time stamp or else the command will never be
> executed.  But, with GR, I don't know how to specify the corresponding
> options.
> Rob
>
> On Tue, Mar 3, 2020 at 12:29 PM Lukas Haase <lukasha...@gmx.at> wrote:
>
>> Hi Sam, Hi Rob,
>>
>> Thanks for following up on this!
>> I am very happy you were able to reproduce this ... which means that at
>> least an issue exists :)
>>
>> What Sam suggests makes sense even though hard to believe for me:
>>
>> 1. How could something like that go unnoticed for so long? (I am sure I
>> am not the first performing digital tuning)
>> 2. In the past I got successful phase coherence using automatic tuning
>> (passing center frequency + offset to tune_request_t and using integer-N
>> tuning) using timed commands. This did not work reliably and only for
>> certain frequencies but in my opinion this should have INCLUDED the DUC
>> tuning. If the DUC retune wouldn't have been executed as part of this
>> automatic tuning, I could not have gotten phase coherence (and actually,
>> not even the desired frequency).
>>
>> The reason why I am only doing DUC tuning now is to avoid all the hassle
>> with integer-N tuning, PLL retuning and settling time.
>>
>> Sam, what is the "radio block" you were talking about?
>>
>> Anyway, would it be worthwile to attempt debugging this is absence of gr?
>> The only reason this prevented me from doing is that I would need to
>> manually create the baseband samples and continuously stream them out while
>> in parallel do the retuning.
>> I am not too familiar with UHD on its own but I assume this would be very
>> complicated, require multithreading etc.
>> Do you have any demo code that could be easily modified for this scenario?
>>
>> Best,
>> Lukas
>>
>>
>> Gesendet: Dienstag, 03. März 2020 um 12:08 Uhr
>> Von: "Sam Reiter" <sam.rei...@ettus.com>
>> An: "Rob Kossler" <rkoss...@nd.edu>
>> Cc: "Lukas Haase" <lukasha...@gmx.at>, "USRP-users@lists.ettus.com" <
>> usrp-users@lists.ettus.com>
>> Betreff: Re: [USRP-users] USRP X310 ignored DSP retuning on TX when using
>> a timed command
>>
>> For what it's worth, I was able to reproduce the behavior described here,
>> but didn't get to dig into it much. My leading suspicion would be what Rob
>> mentioned about timestamping. Lukas' code sets a command time, but I'm not
>> clear on how timestamp metadata for packets being sent to the radio are
>> handled. Might be a good question to loop the discuss-gnuradio mailing list
>> in on?
>>
>>
>>
>> Sam Reiter
>>
>> On Tue, Mar 3, 2020 at 10:59 AM Rob Kossler via USRP-users <
>> usrp-users@lists.ettus.com[mailto:usrp-users@lists.ettus.com]> wrote:
>> I wonder if the issue is related to a missing time stamp on the baseband
>> samples going from GR to UHD.  If the stream does not have a time stamp,
>> the DUC is unable to apply the timed command because the DUC does not
>> really know the time - it must pull the time from the streaming samples.
>> This is in contrast to the radio block which does have access to time and
>> can apply timed commands by referring to the motherboard clock.
>>
>> I am not too familiar with GR so I'm not sure how to know if GR is
>> putting a time stamp on the streaming samples.
>> Rob
>>
>> On Mon, Mar 2, 2020 at 10:04 AM Lukas Haase via USRP-users <
>> usrp-users@lists.ettus.com[mailto:usrp-users@lists.ettus.com]> wrote:Hi
>> Marcus,
>>
>> Thank you that would be amazing!
>>
>> I followed the tutorial and built everything from source:
>>
>> $ lsb_release -a
>> No LSB modules are available.
>> Distributor ID: Ubuntu
>> Description:    Ubuntu 18.04.4 LTS
>> Release:        18.04
>> Codename:       bionic
>> $ uname -a
>> Linux sdr 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC
>> 2020 x86_64 x86_64 x86_64 GNU/Linux
>> $ cd uhd
>> $ git status
>> HEAD detached at v3.15.0.0
>> $ cd ../gnuradio
>> $ git status
>> HEAD detached at v3.7.14.0
>>
>>
>> Thank you!
>>
>> Lukas
>>
>>
>>
>> PS: For some reason I sometimes do not get responses from this list. I
>> just saw it looking at the mailman archives. Hence I cannot respond (to
>> keep headers intact) but need to create a new message and manually "quote".
>> I hope that still preserves the context somehow.
>>
>>
>>
>> Marcus Leech wrote:
>> > On 02/28/2020 01:01 PM, Lukas Haase via USRP-users wrote:
>> >> Hi again,
>> >>
>> >> I created a minimum example (gnuradio) that shows the issue described
>> below.
>> >> To summarize: Retuning to a different dsp frequency on an USRP X310
>> (+UBX160) does not work (command ignored) ONLY if a timed command (in
>> future is used).
>> >> The code shows it in a simple manner. Commenting out the single line
>> with set_command_time makes the example work.
>> >>
>> >> I am absolutely out of ideas and would appreciate any input!
>> >>
>> >> Best,
>> >> Lukas
>> > Lukas.
>> >
>> > Thanks for sticking with this.  I'll have a discussion with Ettus R&D to
>> > see if this is a known issue and/or if there's a workaround.
>> >
>> > Remind me which version of UHD you're using?
>>
>>
>>
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users@lists.ettus.com[mailto:USRP-users@lists.ettus.com]
>>
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com_______________________________________________
>> USRP-users
>> <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com_______________________________________________USRP-users>
>> mailing list
>> USRP-users@lists.ettus.com[mailto:USRP-users@lists.ettus.com]
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to