Changes between Version 1 and Version 2 of WARPLab/Examples/nodeSync
- Timestamp:
- May 13, 2013, 5:32:07 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WARPLab/Examples/nodeSync
v1 v2 2 2 3 3 This 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 5 This 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. 4 6 5 7 == Setup == … … 22 24 23 25 26 || [[Image(nodeSync_hwCfg_source.jpg)]] || [[Image(nodeSync_hwCfg_sink.jpg)]] || 27 || Source Node Configuration || Sink Node Configuration || 24 28 25 29 Once 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]. 26 30 31 === Observations === 32 The 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 37 When you run the script using fully synchronized nodes, the plot will look like this: 38 [[Image(nodeSync_constPhaseOffset.png)]] 39 40 Note 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 42 If 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)]]