Version 4 (modified by 7 years ago) ( diff ) | ,
---|
OFDM radio example with GNURADIO benchmark scripts
Table of Contents
- SDR Tutorials
Description
This 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.
Hardware / Software Resources utilized
- Grid nodes with a USRP connect via Ethernet.
- baseline-sdr.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.
- GNU Radio - software library to create SDR. Click here for additional info.
- USRP N210 - hardware platform for SDR. Click here for more info.
Set up
- To get started first make a reservation on the Orbit Scheduler for using the Grid.
- After logging into grid console, make sure all nodes are turned off
nilanjan@console.grid:~$ omf tell -a offh -t system:topo:all
- Verify state of node before continuing. Make sure all nodes are in the POWEROFF state.
nilanjan@console.grid:~$ omf stat
- Image the node to use as a spectrum analyzer - check inventory status to find a node with a USRP N210. In this example we'll use the node 19-19. Load the image baseline-sdr.ndz and then turn the node on.
nilanjan@console.grid:~$ omf load -i baseline-sdr.ndz -t node19-19 : : : nilanjan@console.grid:~$ omf tell -a on -t node19-19
- Once this node is on, ssh into the node, run the ascii-art spectrum analyzer and leave this running.
nilanjan@console.grid:~$ ssh root@node19-19 root@node19-19:~# cd uhd/host/build/examples/ root@node19-19:~/uhd/host/build/examples# ./rx_ascii_art_dft --freq 2400e6 --rate 8e6 --gain 15 --ref-lvl -40 --dyn-rng 70
- Find 2 other nodes with N210s for the OFDM radio and image with ubuntu-14-04-64bit-sdr.ndz. In this example we'll use node19-20 and node20-19.
nilanjan@console.grid:~$ omf load -i ubuntu-14-04-64bit-sdr.ndz -t node19-20,node20-19 : : : nilanjan@console.grid:~$ omf tell -a on -t system:topo:imaged
Running OEDL script
- Run the experiment script using the following OMF command and aurguments
nilanjan@console.grid:~$ omf exec system:exp:ofdm-benchmark -- --bandwidth 1M --modulation qpsk --freq 2401M INFO NodeHandler: OMF Experiment Controller 5.4 (git 3fb37b9) INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/ INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/ INFO NodeHandler: Slice ID: default_slice (default) INFO NodeHandler: Experiment ID: default_slice-2014-08-07t09.52.51.485-04.00 INFO NodeHandler: Message authentication is disabled INFO Experiment: load system:exp:stdlib INFO property.resetDelay: resetDelay = 230 (Fixnum) INFO property.resetTries: resetTries = 1 (Fixnum) INFO Experiment: load system:exp:eventlib INFO Experiment: load system:exp:winlib INFO Experiment: load system:exp:ofdm-benchmark INFO property.bandwidth: bandwidth = "1M" (String) INFO property.modulation: modulation = "qpsk" (String) INFO property.freq: freq = "2401M" (String) INFO property.rxgain: rxgain = "25" (String) INFO property.txgain: txgain = "25" (String) INFO property.txamplitude: txamplitude = "0.7" (String) INFO property.runtime: runtime = 10 (Fixnum) INFO Topology: Loaded topology '/tmp/pxe_slice-2014-08-07t09.06.49.229-04.00-topo-success'. INFO Topology: Loaded topology 'system:topo:imaged'. TX: node19-20.grid.orbit-lab.org RX: node20-19.grid.orbit-lab.org INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks. INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: Start receiver app INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: Start sending packets INFO exp: Request from Experiment Script: Wait for 10s.... INFO exp: Stop transmitter and receiver INFO exp: Request from Experiment Script: Wait for 2s.... INFO exp: done INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks. INFO NodeHandler: INFO NodeHandler: Shutting down experiment, please wait... INFO NodeHandler: INFO run: Experiment default_slice-2014-08-07t09.52.51.485-04.00 finished after 0:25 nilanjan@console.grid:~$
- While the above script runs monitor the spectrum analyzer for activity around the specified operating frequency. The spectrum should look similar to the following:
-40 . | . !!|!| -60 ||||||| ||||||| ||||||| |||||||! |||||||| |||||||| |||||||| -80 |||||||| . |||||||| | ||||||||| ! | ||||||||| . |: . !| ||||||||| . | |||. : . | || : ||||||||| : :. :. -100 :: | : |. |!||||.| :|:| | |||!| |:| ||||||||| | || :: || || ..|!|| | .|| ||||||||!||||||: |||||| ::|||||||||||||!|:||. ||: !|||..::: : : |. || |||||||||.|||||||||||||||||||| ||||||||||||||||||||||||||||| |||!|||||||||| : :.. . ! .|| ! |::|| :::!. | :!.!||!|||! ||||||||||||||||||||||||||||||:|||||||||||||||||||||||||||||!||||||||||||||||..:|||::|.|||||!! . dBfs 2397MHz 2398MHz 2399MHz 2400MHz 2401MHz 2402MHz 2403MHz
Note:
See TracWiki
for help on using the wiki.