2 | | == RFNoC Spectrum Sensing == |
| 2 | RFNoC Spectrum Sensing |
| 3 | |
| 4 | === Description === |
| 5 | This tutorial shows how to use the RFNoC Spectrum Sensing block(CE) to plot receive power spectrum from multiple USRP X310s on ORBIT grid. |
| 6 | |
| 7 | === Set Up === |
| 8 | Make a reservation on the [https://www.orbit-lab.org/schedule/ Orbit Scheduler] for using the grid. |
| 9 | ==== Prepare Receive Node ==== |
| 10 | * Load prasanthi-rfnoc-specsense-9-14.ndz on an ORBIT node. |
| 11 | {{{ |
| 12 | omf load -i prasanthi-rfnoc-specsense-9-14.ndz -t node1-19 |
| 13 | }}} |
| 14 | * Once imaging is done, turn the node on |
| 15 | {{{ |
| 16 | omf tell -a on -t node1-19 |
| 17 | }}} |
| 18 | * Wait for the node to turn on and log in |
| 19 | {{{ |
| 20 | ssh root@node1-19 |
| 21 | }}} |
| 22 | ==== Prepare Receive USRPs ==== |
| 23 | * Pick USRP X310s from the MIMO racks 23-1...8, 23-11...18 and load spectrum sensing FPGA image on them. |
| 24 | {{{ |
| 25 | uhd_image_loader --args="addr0=10.10.23.11,addr1=10.10.23.12,addr2=10.10.23.13,add4=10.10.23.14" --fpga-path="/root/bit/x310_spec_sense_2ddc_1duc_7_14.bit" |
| 26 | }}} |
| 27 | * Power cycle USRPs so that the new FPGA image is active |
| 28 | {{{ |
| 29 | omf tell -a offh -t node23-11 |
| 30 | omf tell -a on -t node23-11 |
| 31 | }}} |
| 32 | ==== Prepare Transmit Node ==== |
| 33 | Any source can be used to transmit a test waveform. In this tutorial, a spectrum spreader RFNoC block is being used to generate wideband PN signal. |
| 34 | * Load prasanthi-channel-sounder.ndz on an ORBIT node. |
| 35 | {{{ |
| 36 | omf load -i prasanthi-channel-sounder.ndz -t node1-20 |
| 37 | }}} |
| 38 | * Once imaging is done, turn the node on |
| 39 | {{{ |
| 40 | omf tell -a on -t node1-20 |
| 41 | }}} |
| 42 | * Wait for the node to turn on and log in |
| 43 | {{{ |
| 44 | ssh root@node1-20 |
| 45 | }}} |
| 46 | ==== Prepare Transmit USRP ==== |
| 47 | * Pick a USRP X310 for transmitting, and load the spectrum spreader FPGA image |
| 48 | {{{ |
| 49 | uhd_image_loader --args="addr=10.10.23.17" --fpga-path="/root/bit/x310_spreader_4_28.bit" |
| 50 | }}} |
| 51 | * Power cycle the USRP so that the new FPGA image is active |
| 52 | {{{ |
| 53 | omf tell -a offh -t node23-17 |
| 54 | omf tell -a on -t node23-17 |
| 55 | }}} |
| 56 | ==== Set up SSH tunnel from your local port 5100 to grid.orbit-lab.org:5100 ==== |
| 57 | {{{ |
| 58 | ssh -L 5100:grid.orbit-lab.org:5100 username@grid.orbit-lab.org |
| 59 | }}} |
| 60 | ==== Set up a web proxy for the receive node ==== |
| 61 | Verify that Webproxy is running (this is required for remote web based streaming) |
| 62 | {{{ |
| 63 | nilanjan@.grid:~$ run-websock 5100 10.10.1.19:5100 --daemon |
| 64 | WebSocket server settings: |
| 65 | - Listen on :5100 |
| 66 | - Flash security policy server |
| 67 | - No SSL/TLS support (no cert file) |
| 68 | - Backgrounding (daemon) |
| 69 | }}} |
| 70 | |