Hello, I have a question about synchronization of USRP devices.
I'm trying to setup 4x4 MIMO environment with 4 USRP devices.
Two USRP devices for a Tx and the other two for a Rx.
The equipment that I have are as below :
I used LabVIEW Communications 1.1 software for simulation.
By using project template that is provided by default(PC USRP RIO 40MHz BW Multi-Device Streaming), I tested two USRP Multi-device Rx(Multi-device Rx Streaming (Host).gvi).
Then I got error messages as below.
To explain hardware setup, I set Octoclock to internal mode, and connected 10 MHz OUT and PPS OUT to both USRP devices respectively.
Then those USRP are connected to the Host PC by pci-e.
To solve this synchronization problem, I searched it on online and I found that the Octoclock model we are using do not provide internal timing or clocking source so that only external mode is available while Octoclock-G model can provide internal mode.
So I think I need external source for clock and PPS.
However, when I bought the equipment, I heard that it is possible to set multi-device environment by using the equipment I have.
I want to know how to solve this synchronization problem with devices I have.
For more information, I assumed that USRP's internal timing source can be used for external source of Octoclock device.
So that I connected USRP's 10 MHz Output and PPS Output to the input of Octoclock.
However, it results to the error again.
I'm sorry about this poor diagram but I hope it would help your understanding.
Thanks for your help.
Solved! Go to Solution.
It looks like neither of the configurations you have tried will provide any 10MHz clock or PPS to the USRP devices, which explains why they are failing to synchronize. The Octoclock (non G model) does not provide a 10MHz reference internally and the USRP RIO cannot export a 10MHz reference in the configuration you are using. It is trying to pass the non-existent 10MHz from the ref in port to the ref out port.
Also, there are 3 different synchronization schemes provided in the project you referenced. Time based synchronization requires the same 10MHz and PPS signals to be passed into all the USRP devices. Signal Based synchronization using PPS requires the same 10MHz reference to be passed into all the USRPs with a master device sending a synchronization pulse to all the devices using the PPS lines. Signal based synchronization using AUX I/O allows 2 devices to synchronize using the AUX I/O ports on the front, but also requires a shares 10MHz reference to be provided.
Some of the examples support using the GPSDO in the USRP instead of a shared 10MHz reference, so you could try that since your USRP-2953R devices have a GPSDO. It will not be as accurate as using a shared 10MHz reference, but it should allow you to run the examples. Only the time based example would work like that unless you also have an AUX I/O cable or equipment to amplify and distribute a trigger pulse between the devices.
To run the examples as intended, you should either get an Octoclock-G which can provide the 10MHz and PPS internally, or another 10MHz and PPS source to connect to the inputs on the Octoclock.
Thanks for your kind help.
However, I found that our model is actually Octoclock-G which has integrated GPSDO.
Then why it keep results to synchronization error?
Do I have to modify the synchronization blocks in the LabVIEW rather than change hardware setting?
In that case, make sure you are using time based synchronization rather than signal based synchronization. The VI "Multi-Device Rx Streaming Time" in that project should work as an example. The error you are seeing may indicate that you are using a signal based synchronization example without the additional wiring needed to pass the synchronization pulses between the devices.