This page describes the SDRRanging project, along with instructions for its installation.
SDRRanging is implemented as an extension to the SDRPortal project. SDRPortal provides network accessibility (WebSockets, TCP, and UDP) to the USRP product line using the common UHD driver interface. All super-resolution ranging functionality is inferred from firmware and FPGA images also provided in the SDRPortal repository. Installation starts with download and installation of the UHD drivers from Ettus Research. Note that the following has only been tested to work on a Linux environment.
The UHD driver should be installed following the instructions on the UHD Website.
SDRPortal is currently hosted on SourceForge. Please follow the directions here to obtain the current development code.
Installation is painless, as the project only requires the UHD driver along with the C++ standard library for proper installation. After checking out a copy of the repository, navigate to the root folder in the repository. From here, type
make. This installs the
uhdd binary in
Display of range estimates along with visualization of the impulse response is currently all performed in the web browser using HTML5 and WebGL. This page provides that GUI. Chrome is the only web browser that has been tested to fully function properly.
Now that everything is installed, first set up the remote node by plugging the USRP1 in and navigating to the SDRPortal root. Next, type
./scripts/range_demo_rx.sh to set up the remote node. Once it has completed programming, quit the program (
Ctrl+C). Plug the other node in, and type
./scripts/range_demo_tx.sh. Leave this running, as it will serve all ranging data on port
12000. Lastly, navigate to the visualization page. Enter the appropriate address and port of the currently-running node, and click
Connect. Assuming everything is running correctly, an estimate of the range along with historic plots of the calculated impulse response will be displayed.