On 10/26/2020 02:26 PM, Hodges, Jeff via USRP-users wrote:
That's how I read the email as well, but not the behavior I'm seeing.
The DEBUG strings (from the USRP_Sink_Block) are informing me that the
time command is being processed, but the tune time is really way off:
[INFO] [B200] Asking for clock rate 32.000000 MHz...
[INFO] [B200] Actually got clock rate 32.000000 MHz.
----------------------------------------------------------------------
Tag Debug:
Input Stream: 00
Offset: 0 Source: n/a Key: tx_time Value: {1 0.5}
Offset: 0 Source: n/a Key: packet_len Value: 100000
----------------------------------------------------------------------
Tag Debug:
Input Stream: 00
Offset: 99999 Source: n/a Key: tx_command Value: ((time 1 .
0.6) (freq . 2e+08))
Offset: 100000 Source: n/a Key: tx_time Value: {1 0.7}
Offset: 100000 Source: n/a Key: packet_len Value: 100000
----------------------------------------------------------------------
DEBUG: Setting command time on mboard
DEBUG: Processing command message ((time 1 . 0.6) (freq . 2e+08))
----------------------------------------------------------------------
Tag Debug:
Input Stream: 00
Offset: 199999 Source: n/a Key: tx_command Value: ((time 1 .
0.8) (freq . 2.01e+08))
Offset: 200000 Source: n/a Key: tx_time Value: {1 0.9}
Offset: 200000 Source: n/a Key: packet_len Value: 100000
----------------------------------------------------------------------
DEBUG: Setting command time on mboard
DEBUG: Processing command message ((time 1 . 0.8) (freq . 2.01e+08))
----------------------------------------------------------------------
Tag Debug:
Input Stream: 00
Offset: 299999 Source: n/a Key: tx_command Value: ((time 2 .
7.45058e-09) (freq . 2.02e+08))
Offset: 300000 Source: n/a Key: tx_time Value: {2 0.1}
Offset: 300000 Source: n/a Key: packet_len Value: 100000
----------------------------------------------------------------------
DEBUG: Setting command time on mboard
DEBUG: Processing command message ((time 2 . 7.45058e-09) (freq .
2.02e+08))
In this case, I'm doing 100 ms bursts + 100 ms dead time. Frequency is
shifting 1 MHz at a time. Tuning is approximately 57 ms from the start
of each txburst (in the middle of the burst). Somehow the tx_time
commands must be interfering with my timed commands. Although, being
placed in the same queue in the proper order, they shouldn't affect
each other.
Jeff
------------------------------------------------------------------------
*From:* USRP-users <[email protected]> on behalf of
Marcus D. Leech via USRP-users <[email protected]>
*Sent:* Monday, October 26, 2020 1:45:35 PM
*To:* [email protected]
*Subject:* Re: [USRP-users] uhd tuning with tagged stream commands
On 10/26/2020 01:39 PM, Hodges, Jeff via USRP-users wrote:
I'm thinking that timed tune commands will not work on tagged streams
in burst mode. Is that correct? I've been looking at the USRP sink
block code and it supports the timed commands on the stream, but from
reading a recent thread, it seems like this will not work because of
how the DUC derives it's time:
https://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2020-March/061611.html
This thread says DUC derives it's sense of time from the samples, and
if the samples are not streaming, the DUC will not keep track of
time. Therefore, the timed command will not be executed.
For example, I set the tx_time tag to 1.0 second and the burst is
0.05 sec long. Then I place the tuning command tag on the last sample
of the burst with a tune time of 1.05. The radio does not actually
tune until I transmit the next burst at 1.1 sec (0.05 sec dead time)
and then it tunes at approximately 0.007 sec into the middle of that
burst.
I can try to implement tuning during the dead time by making calls
directly to the C++ api at the appropriate time in a separate thread,
but before I do that I just want to confirm that this burst time-tag
method will not work.
Thanks in advance,
Jeff
From the quoted thread, it seems that the *radio* part of the timing
will work fine, but the DUC won't be able to do its part of the deal--so
if your tuning requires "mop up" action on the part of the DUC, it
won't work properly.
This KB article may be useful in understanding the time-domain behavior
of AD936x-based devices, such as the B210:
https://kb.ettus.com/Synchronizing_USRP_Events_Using_Timed_Commands_in_UHD
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com