wiki:Tutorials/Wireless/mmwaveSB1

Version 35 (modified by prasanthi, 5 years ago) ( diff )

Using Sivers mmWave equipment on COSMOS SandBox1

Description

A pair of Sivers EVK06002s, evaluation kits for Sivers IMA TRX BF/01, are deployed on COSMOS SandBox1. TRX BF/01 is a 16+16 IEEE802.11ad Beamforming Transceiver with a complete Radio front-end with 57-66 GHz mmWave frequency range.

Current mmWave setup in COSMOS SB1 looks as shown in the figure below.

Baseband data samples to Sivers front-ends are fed by USRP X310s with BasicTX and BasicRX daughtercards. BasicTX (https://www.ettus.com/all-products/basictx/) daughtercard is a simple wideband (250MHz) interface to the raw DAC signals from USRP. Similarly BasicRX (https://www.ettus.com/all-products/basicrx/) provides a simple, wideband interface to USRP ADCs. The raw data can be generated/processed in the FPGA on USRP X310 and can be transferred to the host servers srv1-lg1, srv2-lg1 over 10G Ethernet link for further processing/storage. Control software for Sivers front-ends runs on srv3-lg1 and srv4-lg1. srv3-lg1 is directly connected to Sivers SN0243 and srv4-lg1 is connected to Sivers SN0240. These servers also have a direct USB connection to the X310s, for JTAG programming.

This tutorial demonstrates how to transmit and receive a signal in the 60GHz mmWave spectrum using these Sivers front-ends.

Prerequisites

In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on the COSMOS work flow page to get started.

Resources required

4 servers srv1-lg1 to srv4-lg1, 2 USRP X310s rfdev3-1, rfdev3-2 and both the Sivers platforms rfdev3-5, rfdev3-6 on COSMOS SB1.

Tutorial Setup

Follow the steps below to gain access to the sandbox 1 console and set up nodes with appropriate images.

  1. If you don't have one already, sign up for a COSMOS account
  2. Create a resource reservation on sandbox 1
  3. Login into sandbox 1 console (console.sb1.cosmos-lab.org) with two SSH sessions.
  4. Make sure all the nodes and devices used in the experiment are turned off:
    omf tell -a offh -t srv3-lg1,srv4-lg1,rfdev3-1,rfdev3-2,rfdev3-5,rfdev3-6  
    
  5. The image rfnoc_wigig.ndz has aforementioned RFNoC 802.11ad preamble processing blocks and Sivers control software installed. Load rfnoc_wigig.ndz on srv3,srv4.
    omf load -i rfnoc_wigig.ndz -t srv3-lg1,srv4-lg1
    
  6. Turn all the required resources on and check the status
    omf tell -a on -t srv3-lg1,srv4-lg1,rfdev3-1,rfdev3-2,rfdev3-5,rfdev3-6
    
    omf stat -t system:topo:allres
    
  7. ssh to the nodes, use option -Y for using GUI.

Experiment Execution

Find and prepare USRPs

  • The IP addresses for Ethernet Port 1(10G) on the X310s rfdev3-1 and rfdev3-2 were hard-coded to 10.115.2.2 and 10.115.2.3 respectively. To access them from srv3-lg1 or srv4-lg1, configure the network interface enp1s0 as follows
    root@srv3-lg1:~# ifconfig enp1s0 10.115.1.1 netmask 255.255.0.0 mtu 9000 up
    root@srv3-lg1:~# ifconfig enp1s0
    enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
            inet 10.115.1.1  netmask 255.255.0.0  broadcast 10.115.255.255
            inet6 fe80::f652:14ff:fe83:b930  prefixlen 64  scopeid 0x20<link>
            ether f4:52:14:83:b9:30  txqueuelen 1000  (Ethernet)
            RX packets 2839670  bytes 20838442698 (20.8 GB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 78864  bytes 6661472 (6.6 MB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  • Run uhd_find_devices to check if the X310s can be reached
    root@srv3-lg1:~# uhd_find_devices --args="addr=10.115.2.3"
    [INFO] [UHD] linux; GNU C++ version 7.4.0; Boost_106501; UHD_3.14.1.1-release
    --------------------------------------------------
    -- UHD Device 0
    --------------------------------------------------
    Device Address:
        serial: 31B6FFA
        addr: 10.115.2.3
        fpga: HG
        name: sdr2-md3
        product: X310
        type: x300
    

Prepare Sivers 60GHz front-ends

  • To demonstrate the experiment here, we use Sivers front-end SN0240 as transmitter and SN0243 as receiver
SN0240 as transmitter SN0243 as receiver
root@srv4-lg1:~/ederenv# ./start_mb1.sh —gui SN0240 root@srv3-lg1:~/ederenv# ./start_mb1.sh —gui SN0243
Click "TX enable" and "LO leakage Cal" Click "RX enable"
No image "Sivers_RX_SN0243.jpg" attached to Tutorials/Wireless/mmwaveSB1
  • Make sure the RF switch boxes are configured to use X310s (all switches set to port 1)
    root@console:~# curl am1.cosmos-lab.org:5054/rf_switch/status?name=rfsw1.sb1.cosmos-lab.org,rfsw2.sb1.cosmos-lab.org
    
    <response status="OK">
      <rf_switch name="rfsw1.sb1.cosmos-lab.org" num_of_switches="4">
        <switch number="1" port="1"/>
        <switch number="2" port="1"/>
        <switch number="3" port="1"/>
        <switch number="4" port="1"/>
      </rf_switch>
      <rf_switch name="rfsw2.sb1.cosmos-lab.org" num_of_switches="4">
        <switch number="1" port="1"/>
        <switch number="2" port="1"/>
        <switch number="3" port="1"/>
        <switch number="4" port="1"/>
      </rf_switch>
    </response>
    
  • If some or all the ports are set to "2", set them to port "1"
    curl "am1.cosmos-lab.org:5054/rf_switch/set?name=rfsw1.sb1.cosmos-lab.org,rfsw2.sb1.cosmos-lab.org&switch=1,2,3,4&port=2"
    

Execution

Run the experiment

  • Start transmit application on the TX node(srv1-lg1). Run UHD application tx_waveforms to transmit a sine wave.
    root@srv3-lg1:~/uhd/host/build/examples# ./tx_waveforms --args="addr=10.115.2.2" --freq 100e6 --rate 200e6 --ant AB --subdev A:AB --wave-freq 1e6 --wave-type SINE
    

  • Start receive application on the RX node(srv2-lg1). Run rx_ascii_art_dft to observe the sinewave as shown in the picture below
    root@srv2-lg1:~# /usr/lib/uhd/examples/rx_ascii_art_dft --args="addr=10.115.2.3" --freq 100e6 --rate 200e6 --ref-lvl -20 --ant AB --subdev B:AB  
    

Attachments (11)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.