Changes between Version 1 and Version 2 of WARPLab/Examples/nodeSync


Ignore:
Timestamp:
May 13, 2013, 5:32:07 PM (11 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WARPLab/Examples/nodeSync

    v1 v2  
    22
    33This WARPLab example illustrates how to share clocks and triggers among WARP nodes to eliminate all timing and frequency offsets. This configuration has many uses. For example, when developing a new PHY it can be helpful to test performance with zero carrier frequency offset (CFO). This same configuration can also be used to synchronize multiple nodes for large-scale MIMO experiments, where the RF interfaces of multiple nodes are used together to form a meta node with many antennas.
     4
     5This example uses two nodes. One acts as the source for clocks and triggers. The other acts as the sink. The source/sink relationship only applies to the synchronization signals. Both nodes can transmit and receive normally.
    46
    57== Setup ==
     
    2224
    2325
     26|| [[Image(nodeSync_hwCfg_source.jpg)]] || [[Image(nodeSync_hwCfg_sink.jpg)]] ||
     27|| Source Node Configuration || Sink Node Configuration ||
    2428
    2529Once the hardware is connected and programmed you can run the example m code: [source:/ResearchApps/PHY/WARPLAB/WARPLab7/M_Code_Examples/wl_example_siso_txrx_nodeSync.m wl_example_siso_txrx_nodeSync.m].
    2630
     31=== Observations ===
     32The wl_example_siso_txrx_nodeSync script creates a figure with three plots:
     33 * Real part of the transmitted signal
     34 * Real part of the received signal
     35 * Phase difference (unwrapped) between the transmitted and received signals
     36
     37When you run the script using fully synchronized nodes, the plot will look like this:
     38[[Image(nodeSync_constPhaseOffset.png)]]
     39
     40Note the constant phase difference between the Tx/Rx waveforms. If you re-run the script, this constant value will change. This is due to the RF transceivers being reset, which forces the PLLs to re-tune, leading to a new random phase offset between their RF carrier signals. If you skip the reset, the inter-radio phase offset will remain constant. You can observe this effect by commenting out the call to ''wl_initNodes()'' in the script (after running the script at least once).
     41
     42If you disable the sharing of clock signals between nodes (by de-asserting both CM-MMCX switches at the sink node and re-programming the FPGA), you can directly observe the carrier frequency offset between the RF transceivers. The resulting plot will show a constant slope for the Tx-to-Rx phase difference. The CFO is proportional to this slope. The figure below illustrates this.
     43
     44[[Image(nodeSync_CFO.png)]]