Changes between Initial Version and Version 1 of Tutorials/k0SDR/Tutorial02


Ignore:
Timestamp:
Aug 7, 2014, 5:11:52 PM (10 years ago)
Author:
nilanjan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/k0SDR/Tutorial02

    v1 v1  
     1= OFDM radio example with GNURADIO benchmark scripts =
     2
     3== Description ==
     4This example is similar to the simple radio example using GNU Radio; however, this utilizes an OFDM transmitter and receiver. In this tutorial we'll also use another node as a spectrum analyzer to verify OFDM transmission.
     5
     6== Hardware / Software Resources utilized ==
     7 1. Grid nodes with a USRP connect via Ethernet.
     8 2. ''baseline-12-04-gnu.ndz'': disk image loaded onto nodes. This image has all the precompiled - software required to configure the USRP N210s and all the required GNU Radio software libraries. The USRP N210's interface with the node is already configured.
     9 3. GNU Radio - software library to create SDR. Click here for [http://gnuradio.org/redmine/projects/gnuradio/wiki/WhatIsGR additional info].
     10 4. USRP N210 - hardware platform for SDR. Click here for [http://gnuradio.org/redmine/projects/gnuradio/wiki/Hardware#Ettus-Research-USRP-Devices more info].
     11
     12== Set up ==
     13 * To get started first make a reservation on the [https://www.orbit-lab.org/schedule/ Orbit Scheduler] for using the Grid.
     14
     15 * After logging into grid console, make sure all nodes are turned off
     16{{{
     17nilanjan@console.grid:~$ omf tell -a offh -t system:topo:all
     18}}}
     19
     20 * Verify state of node before continuing. Make sure all nodes are in the POWEROFF state.
     21{{{
     22nilanjan@console.grid:~$ omf stat
     23}}}
     24
     25 * Image the node to use as a spectrum analyzer - check [https://www.orbit-lab.org/status/orbit/ inventory status] to find a node with a USRP N210. In this example we'll use the node 19-19. Load the image ''baseline-12-04-gnu.ndz'' and then turn the node on.
     26{{{
     27nilanjan@console.grid:~$ omf load -i baseline-12-04-gnu.ndz -t node19-19
     28:
     29:
     30:
     31nilanjan@console.grid:~$ omf tell -a on -t node19-19
     32}}}
     33
     34 * Once this node is on, ssh into the node, run the ''ascii-art'' spectrum analyzer and leave this running.
     35{{{
     36nilanjan@console.grid:~$ ssh root@node19-19
     37root@node19-19:~# cd uhd/host/build/examples/
     38root@node19-19:~/uhd/host/build/examples# ./rx_ascii_art_dft --freq 2400e6 --rate 8e6 --gain 15 --ref-lvl -40 --dyn-rng 70
     39}}}
     40
     41 * Find 2 other nodes with N210s for the OFDM radio and image with ''baseline-12-04-gnu.ndz''. In this example we'll use node19-20 and node20-19.
     42{{{
     43nilanjan@console.grid:~$ omf load -i baseline-12-04-gnu.ndz -t node19-20,node20-19
     44:
     45:
     46:
     47nilanjan@console.grid:~$ omf tell -a on -t system:topo:imaged
     48}}}
     49
     50== Running OEDL script ==
     51 * Run the experiment script using the following OMF command and aurguments
     52{{{
     53nilanjan@console.grid:~$ omf exec system:exp:ofdm-benchmark -- --bandwidth 1M --modulation qpsk --freq 2401M
     54
     55 INFO NodeHandler: OMF Experiment Controller 5.4 (git 3fb37b9)
     56 INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml
     57 INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/
     58 INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/
     59 INFO NodeHandler: Slice ID: default_slice (default)
     60 INFO NodeHandler: Experiment ID: default_slice-2014-08-07t09.52.51.485-04.00
     61 INFO NodeHandler: Message authentication is disabled
     62 INFO Experiment: load system:exp:stdlib
     63 INFO property.resetDelay: resetDelay = 230 (Fixnum)
     64 INFO property.resetTries: resetTries = 1 (Fixnum)
     65 INFO Experiment: load system:exp:eventlib
     66 INFO Experiment: load system:exp:winlib
     67 INFO Experiment: load system:exp:ofdm-benchmark
     68 INFO property.bandwidth: bandwidth = "1M" (String)
     69 INFO property.modulation: modulation = "qpsk" (String)
     70 INFO property.freq: freq = "2401M" (String)
     71 INFO property.rxgain: rxgain = "25" (String)
     72 INFO property.txgain: txgain = "25" (String)
     73 INFO property.txamplitude: txamplitude = "0.7" (String)
     74 INFO property.runtime: runtime = 10 (Fixnum)
     75 INFO Topology: Loaded topology '/tmp/pxe_slice-2014-08-07t09.06.49.229-04.00-topo-success'.
     76 INFO Topology: Loaded topology 'system:topo:imaged'.
     77TX: node19-20.grid.orbit-lab.org
     78RX: node20-19.grid.orbit-lab.org
     79 INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks.
     80 INFO exp: Request from Experiment Script: Wait for 2s....
     81 INFO exp: Start receiver app
     82 INFO exp: Request from Experiment Script: Wait for 2s....
     83 INFO exp: Start sending packets
     84 INFO exp: Request from Experiment Script: Wait for 10s....
     85 INFO exp: Stop transmitter and receiver
     86 INFO exp: Request from Experiment Script: Wait for 2s....
     87 INFO exp: done
     88 INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
     89 INFO NodeHandler:
     90 INFO NodeHandler: Shutting down experiment, please wait...
     91 INFO NodeHandler:
     92 INFO run: Experiment default_slice-2014-08-07t09.52.51.485-04.00 finished after 0:25
     93
     94nilanjan@console.grid:~$
     95}}}
     96
     97 * While the above script runs monitor the spectrum analyzer for activity around the specified operating frequency. The spectrum should look similar to the following:
     98{{{
     99-40
     100
     101
     102                                                                                      .
     103                                                                                      | .
     104                                                                                    !!|!|
     105-60                                                                               |||||||
     106                                                                                  |||||||
     107                                                                                  |||||||
     108                                                                                  |||||||!
     109                                                                                  ||||||||
     110                                                                                  ||||||||
     111                                                                                  ||||||||
     112-80                                                                               ||||||||
     113                                                                     .            ||||||||
     114                                                                     |           |||||||||
     115                                                    !                |           |||||||||
     116                                                  . |:        .     !|           |||||||||
     117                                               .  | |||. :  . |     ||       :   ||||||||| : :.        :.
     118-100                            ::     |  :    |. |!||||.| :|:| |   |||!|    |:| ||||||||| | ||  ::    ||
     119                                ||   ..|!|| | .|| ||||||||!||||||:  |||||| ::|||||||||||||!|:||. ||: !|||..:::                 :
     120                      :     |.  ||  |||||||||.|||||||||||||||||||| ||||||||||||||||||||||||||||| |||!|||||||||| :   :..  . ! .||
     121      !   |::|| :::!. | :!.!||!|||! ||||||||||||||||||||||||||||||:|||||||||||||||||||||||||||||!||||||||||||||||..:|||::|.|||||!! .
     122 dBfs            2397MHz         2398MHz         2399MHz          2400MHz         2401MHz         2402MHz         2403MHz
     123}}}