RFNoC Spectrum Sensing === Description === This tutorial shows how to use the RFNoC Spectrum Sensing block(CE) to plot receive power spectrum from multiple USRP X310s on ORBIT grid. === Set Up === Make a reservation on the [https://www.orbit-lab.org/schedule/ Orbit Scheduler] for using the grid. ==== Prepare Receive Node ==== * Load prasanthi-rfnoc-specsense-9-14.ndz on an ORBIT node. {{{ omf load -i prasanthi-rfnoc-specsense-9-14.ndz -t node1-19 }}} * Once imaging is done, turn the node on {{{ omf tell -a on -t node1-19 }}} * Wait for the node to turn on and log in {{{ ssh root@node1-19 }}} ==== Prepare Receive USRPs ==== * Pick USRP X310s from the MIMO racks 23-1...8, 23-11...18 and load spectrum sensing FPGA image on them. {{{ 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" }}} * Power cycle USRPs so that the new FPGA image is active {{{ omf tell -a offh -t node23-11 omf tell -a on -t node23-11 }}} ==== Prepare Transmit Node ==== 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. * Load prasanthi-channel-sounder.ndz on an ORBIT node. {{{ omf load -i prasanthi-channel-sounder.ndz -t node1-20 }}} * Once imaging is done, turn the node on {{{ omf tell -a on -t node1-20 }}} * Wait for the node to turn on and log in {{{ ssh root@node1-20 }}} ==== Prepare Transmit USRP ==== * Pick a USRP X310 for transmitting, and load the spectrum spreader FPGA image {{{ uhd_image_loader --args="addr=10.10.23.17" --fpga-path="/root/bit/x310_spreader_4_28.bit" }}} * Power cycle the USRP so that the new FPGA image is active {{{ omf tell -a offh -t node23-17 omf tell -a on -t node23-17 }}} ==== Set up SSH tunnel from your local port 5100 to grid.orbit-lab.org:5100 ==== {{{ ssh -L 5100:grid.orbit-lab.org:5100 username@grid.orbit-lab.org }}} ==== Set up a web proxy for the receive node ==== Verify that Webproxy is running (this is required for remote web based streaming) {{{ nilanjan@.grid:~$ run-websock 5100 10.10.1.19:5100 --daemon WebSocket server settings: - Listen on :5100 - Flash security policy server - No SSL/TLS support (no cert file) - Backgrounding (daemon) }}}