| 1 | [[Include(WikiToC)]] |
| 2 | |
| 3 | == GNURadio CFO Estimation tutorial == |
| 4 | |
| 5 | === Description === |
| 6 | |
| 7 | This tutorial illustrates the use of GNURadio flowgraphs to estimate the Carrier Frequency offset between a pair of USRPs in COSMOS, ORBIT testbeds. |
| 8 | |
| 9 | |
| 10 | === Prerequisites === |
| 11 | 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 [wiki:GettingStarted getting started] page to get started. |
| 12 | |
| 13 | === Resources required === |
| 14 | 2 USRPs in COSMOS or ORBIT testbed, 2 host nodes, and 2 mmWave devices(if using mmWave) are required. |
| 15 | This page uses the 28GHz IBM mmWave devices in [https://wiki.cosmos-lab.org/wiki/Architecture/Domains/cosmos_sb1 sb1.cosmos-lab.org]. As shown in the [https://wiki.cosmos-lab.org/wiki/Tutorials/Wireless/mmwavePaamBasics basic tutorial for IBM 28GHz devices], the current connections in SB1 are as shown in this [https://wiki.cosmos-lab.org/wiki/Architecture/Domains/cosmos_sb1#RFPathConfigurationsformmWaveDevelopmentPlatforms diagram] |
| 16 | * {{{sdr1-in1}}} RF2 TX/RX -- {{{rfdev4-in1}}} all ICs/TX/H, {{{sdr1-in1}}} RF2 RX2 -- {{{rfdev4-in1}}} all ICs/RX/H |
| 17 | * {{{sdr1-in1}}} RF3 TX/RX -- {{{rfdev4-in1}}} all ICs/TX/V, {{{sdr1-in1}}} RF3 RX2 -- {{{rfdev4-in1}}} all ICs/RX/V |
| 18 | * {{{sdr1-in2}}} RF2 TX/RX -- {{{rfdev4-in2}}} all ICs/TX/H, {{{sdr1-in2}}} RF2 RX2 -- {{{rfdev4-in2}}} all ICs/RX/H |
| 19 | * {{{sdr1-in2}}} RF3 TX/RX -- {{{rfdev4-in2}}} all ICs/TX/V, {{{sdr1-in2}}} RF2 RX2 -- {{{rfdev4-in2}}} all ICs/RX/V |
| 20 | |
| 21 | Hence, the resources required to execute this tutorial are rfdev4-in1, rfdev4-in2 (IBM PAAMs), sdr1-in1, sdr1-in2 (USRP N310s), srv1-lg1, srv2-lg1 in sb1.cosmos-lab.org. |
| 22 | |
| 23 | === Tutorial Setup === |
| 24 | |
| 25 | Follow the steps below to gain access to the sandbox console and set up nodes with appropriate images. |
| 26 | 1. If you don't have one already, sign up for a [https://www.cosmos-lab.org/portal-2/ COSMOS account] |
| 27 | 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on COSMOS SB1 |
| 28 | 1. [Documentation/Short/Login Login] into sandbox console ({{{console.sb1.cosmos-lab.org}}} with two SSH sessions. |
| 29 | 1. Make sure all the nodes and devices used in the experiment are turned off. |
| 30 | {{{#!shell |
| 31 | omf tell -a offh -t sdr1-in1,sdr1-in2,rfdev4-in1,rfdev4-in2,srv1-lg1,srv2-lg1 |
| 32 | }}} |
| 33 | 1. Use the {{{gnuradio_ofdm.ndz}}} node image with Ubuntu 20.04, UHD 4.4, gnuradio 3.9, and a grc example used in this tutorial. Load {{{gnuradio_ofdm.ndz}}} on the servers. |
| 34 | {{{#!shell |
| 35 | omf load -i gnuradio_ofdm.ndz -t srv1-lg1,srv2-lg1 |
| 36 | }}} |
| 37 | 1. Turn all the required resources on and check the status of all the resources. Use the following commands . |
| 38 | {{{#!shell |
| 39 | omf tell -a on -t sdr1-in1,sdr1-in2,rfdev4-in1,rfdev4-in2,srv1-lg1,srv2-lg1 |
| 40 | }}} |
| 41 | {{{#!shell |
| 42 | omf stat -t all |
| 43 | }}} |
| 44 | 1. {{{ssh}}} to the server with option -Y for using GUI with gnuradio. |
| 45 | {{{#!shell |
| 46 | ssh -Y root@srv1-lg1 |
| 47 | }}} |
| 48 | |