I would like to share some UHD experiences in case it can be of any use.
I first modifed rx_timed_samples and tx_timed_samples. The new files are
called rx and tx and can be obtained from
http://www.ee.kth.se/~perz/usrp/uhd/. An assoicated Makefile and matlab
files are also there. I installed the UHD drivers on two dell E6400
laptops. The two laptops are connected to one USRP2 each with basic
daughterboards. Both daughterboards are fed with the same 20.1MHz
sinusiod which is generated by a Marconi 2024. The 10MHz reference
output of the Marconi is connected to the REF CLOCK on both USRPs. The
PPS input is connected to a circuit which can generate a step function
which I trigger manually.
I then run X=rx(100000,20e6,1,1) from matlab on both PCs. I press return
on both PCs as synchronously as I can. This starts the rx program (which
is a modified tx_timed_samples), with 25MHz sample-rate and 20MHz
carrier frequency. This function first locks to the REF CLOCK, then it
prints " Manually trigger the pps!" and does usleep for three seconds. I
then activate my step function manually. The received signal is then
captured and written to harddisc on both PCs. I transfer the received
signal to the same computer. By plotting X1./X2 I can see that the phase
offset between the two USRPs is stable. The standard deviation of the
angular dithering is 0.1degrees. Three consecutive runs give a mean
offset which varies 0.05degrees.
I redid the experiment with two XCVR2450 daughterboards fed by the same
Marconi2024 but now at frequency 2400MHz. I tuned the daughterboards to
2402MHz. The standard deviation of the phase dithering was now
I have also tested to transmit locked with REF CLK. I transmitted a
sinusoid from both USRP2s (basic db). I then watch the sinusoid on an
old oscilloscope. When the USRP2 are locked to the REF CLOCK the two
sinusoids are nicely locked while they drift is this not the case.