On 01/03/2019 11:34 AM, Brais Ares wrote:
Hi Marcus,

    Theoretically, there'll be analog group delays that will add some
    harder-to-predict latency, but they'll be much smaller than the
time interval represented by the timestamps.

Ok, we can consider those analog delays negligible. Sorry to insist but, do I still need to compensate for the digital rx path delays then? So far I'm assuming uhd::rx_metadata_t::time_spec value refers to whenever the first sample enters the kernel radio buffer.
Timestamps occur as packets are formed to be sent over USB on the radio side. You'll still need to measure and compensate for
  digital group delay.


    If you use a timed command to set the gain, then you can at least
    get a bound on which samples are likely to represent the
    post-gain-change.

       But given that this is an analog process, there'd be almost no
    way to get down-to-the-sample precise.


Well, I overlooked those commands all these years. UHD drivers never ceases to amaze me. However, are you sure this should work with *set_rx_gain* command? I can't make it work.

I configured the streamer as follows:

/uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args);
/
/uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::*STREAM_MODE_START_CONTINUOUS*);
/
/stream_cmd.num_samps = num_samples;
/
/stream_cmd.*stream_now = true*;
/
/rx_stream->issue_stream_cmd(stream_cmd);/

I set commands to increase the gain linearly with time (3 dB every one second), rx_gain = 3 * t:

/const uhd::time_spec_t now = usrp->get_time_now();/
/for (int i = 0; i < 16; ++i) {/
/usrp->s*et_command_time*(now + uhd::time_spec_t(i * 1.0));/
/usrp->set_rx_gain(3*i);/
/}/
/usrp->*clear_command_time*();/

Then I start a capture of 20 seconds straight away, but there are no changes in the received power signal whatsoever. The actual applied gain during the whole capture is the last configured/commanded value (g=48), as if the set_command_time instruction was completely ignored.
Unfortunately, I mis-spoke. Timed commands for things that are set on the AD9361 front-end are not supported on the B2xx series.



_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to