Revision ae1ebd8a

b/host/docs/sync.rst
152 152
    //send a single packet
153 153
    size_t num_tx_samps = tx_streamer->send(buffs, samps_to_send, md);
154 154

  
155
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156
Align LOs in the front-end (SBX/WBX + N-Series)
157
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
158
Using timed commands, multiple frontends can be tuned at a specific time.
159
This timed-tuning ensures that the phase offsets between VCO/PLL chains
160
will remain constant after each re-tune. See notes below:
161

  
162
* There is a random phase offset between any two frontends
163
* This phase offset is different for different LO frequencies
164
* This phase offset remains constant after retuning
165

  
166
  * Due to divider, WBX phase offset will be randomly +/- 180 deg after re-tune
167

  
168
* This phase offset will drift over time due to thermal and other characteristics
169
* Periodic calibration will be necessary for phase-coherent applications
170

  
171
Code snippet example, tuning with timed commands:
172
::
173

  
174
    //we will tune the frontends in 100ms from now
175
    uhd::time_spec_t cmd_time = usrp->get_time_now() + uhd::time_spec_t(0.1);
176

  
177
    //sets command time on all devices
178
    //the next commands are all timed
179
    usrp->set_command_time(cmd_time);
180

  
181
    //tune channel 0 and channel 1
182
    usrp->set_rx_freq(1.03e9, 0/*ch0*/);
183
    usrp->set_rx_freq(1.03e9, 1/*ch1*/);
184

  
185
    //end timed commands
186
    usrp->set_clear_time();
187

  
155 188
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156
Align LOs in the front-end
189
Align LOs in the front-end (others)
157 190
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
158 191
After tuning the RF front-ends,
159 192
each local oscillator may have a random phase offset due to the dividers

Also available in: Unified diff