= WARPLab = WARPLab is a framework which brings together WARP and MATLAB. With WARPLab, you can interact with WARP nodes directly from the MATLAB workspace. This documentation is a work in progress. Please check back as we improve it. == Requirements == * At least two WARP nodes * A PC with MATLAB * An Ethernet switch == Note about WARPLab files == There are three versions of the WARPLab files. FOR NEW USERS WE RECOMMEND USING VERSION 3. Versions 1 and 2 will be deprecated soon. * Version 1: Posted on November 2007. Supports SISO communication. This was the version used at the Fourth WARP Workshop (held at Rice on Nov 1-2 2007) and the Fifth WARP Workshop (held at IIT Madras on Dec 1-2 2007). * Version 2: Posted on April 2008. Supports SISO and MIMO (2x2) communication and allows continuous transmission mode. This was the version used at the Sixth WARP Workshop (held at Nile University on April 16-17 2008). Two bitstreams are provided, one bitstream to program the boards in the SISO configuration and another bitstream to program the boards in the 2x2 MIMO configuration. The MATLAB Reference functions support both SISO and 2x2 MIMO. * Version 3: Posted on July 2008. Supports MIMO 4x4 communication and allows continuous transmission mode for 2x2 MIMO. This was the version used at the Seventh WARP Workshop (held at Rice University on July 14-15 2008). Two bitstreams are provided, one bitstream to program the boards in the 2x2 MIMO configuration and another bitstream to program the boards in the 4x4 MIMO configuration. Continuous transmission mode and reading of RSSI values is supported by the 2x2 MIMO bitstream but not by the 4x4 MIMO bitstream. When the boards are programmed with the 4x4 MIMO bitstream 2x2 MIMO communication is possible but continuous transmission mode and reading of RSSI values is not possible. The MATLAB Reference functions support both 2x2 and 4x4 MIMO bitstreams. == Getting Started == 1. Install Peter Rydesäter's open-source TCP/UDP toolbox for MATLAB (get it free from [http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=345 MATLAB Central]). 2. Download the WARPLab Reference M code to your PC. These files should be installed in your MATLAB path. We recommend putting the files in the following directory, where is the root of your MATLAB installation. {{{ \toolbox\WARPLab\ }}} After copying the WARPLab Reference M code to this folder, you need to update MATLAB's search path to include the new directory. In MATLAB, choose File->Set Path. Click Add with Subfolders, navigate to \toolbox\WARPLab, click OK, then click Save. Finally, run these commands on the MATLAB command line to force a refresh of the toolbox caches: {{{ rehash toolboxcache rehash toolbox clear all functions }}} * [source:/ResearchApps/PHY/WARPLAB/WARPLAB_SISO/M_code Version 1 of the Reference M code]. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_SISO_MIMO2x2/M_Code Version 2 of the Reference M code]. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_MIMO2x2_MIMO4x4/M_Code_Source Version 3 of the Reference M code]. 3. Connect your PC and two WARP boards to a common Ethernet switch. Ideally, nothing else should be connected to the same switch. 4. Set your PC's IP address to 10.0.0.200 5. Set the DIP switches on two boards to 0 and 1 6. Download the WARPLab bitstream to both boards. * [source:/ResearchApps/PHY/WARPLAB/WARPLAB_SISO/warplab_siso.bit SISO bitstream] that works with version 1 of the Reference M code * [source:/ResearchApps/PHY/WARPLAB/WARPLab_SISO_MIMO2x2/warplab_siso_v02.bit SISO bitstream] that works with version 2 of the Reference M code. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_SISO_MIMO2x2/warplab_mimo_2x2_v02.bit 2x2 MIMO bitstream] that works with version 2 of the Reference M code. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_MIMO2x2_MIMO4x4/warplab_mimo_2x2_v03.bit 2x2 MIMO bitstream] that works with version 3 of the Reference M code. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_MIMO2x2_MIMO4x4/warplab_mimo_4x4_v03.bit 4x4 MIMO bitstream] that works with version 3 of the Reference M code. 7. Try one of the examples. The GUI (warplab_mimo_2x2_GUI and the warplab_siso_example_TxRx) are the best ones to start with. * [source:/ResearchApps/PHY/WARPLAB/WARPLab_MIMO2x2_MIMO4x4/M_Code_Examples WARPLab examples] that work with version 3 of the Reference M code. == XPS Reference Design == The following are the XPS Reference Designs used to generate the bitstreams that work with version 3 of the Reference M code * [http://warp.rice.edu/bigFiles/WARPLab_MIMO_2x2_ReferenceDesign_xps_v03.zip WARPLab_MIMO_2x2_ReferenceDesign_xps_v03.zip] * [http://warp.rice.edu/bigFiles/WARPLab_MIMO_4x4_ReferenceDesign_xps_v03.zip WARPLab_MIMO_4x4_ReferenceDesign_xps_v03.zip] These xps projects were generated with version 9.1 of the Xilinx tools.