Skip to content

FPGA code and Python API for adding chirp functionality to USRP N210 with CBX daughter board, after the required hardware modification.

License

Notifications You must be signed in to change notification settings

ucsdsysnet/SweepSense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SweepSense

This repository contains FPGA source code and GNURadio+UHD (Python3) based API for the prototype SweepSense implementation in our paper:

Guddeti, Y., Subbaraman, R., Khazraee, M., Schulman, A., & Bharadia, D. (2019). Sweepsense: Sensing 5 ghz in 5 milliseconds with low-cost radios. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19) (pp. 317-330).

This readme explains the overall architecture briefly, goes through the folder structure and displays the license. For full technical details and evaluations are available in the extended paper.

Overview

We propose a new receiver architecture for spectrum sensing radios where sampling is done along with quick sweeping of the center frequency. This is motivated by the intuition that a sweeping radio may miss lesser transmissions than one that sequentially tunes to different bands.

We implement this using an open loop VCO fed with a sawtooth voltage waveform. The output of the VCO is used to drive a mixer and implement the sweeping radio.

The architecture has been prototyped on a USRP N210 with a CBX daughterboard.

VCO Core Sweeping Architecture

Downconverting while sweeping introduces distortions in the signal, which we remove using an "unsweeping" process and is discussed in the paper.

Example Results

A SweepSense capture of the 2.4 GHz ISM band showing WiFi and Bluetooth transmissions. We get close to 100 MHz bandwidth with only a 25 MSps radio.

Folder Structure

  1. fpga_src - Folder containing the fpga patch for the USRP N210 required to implement SweepSense.
  2. python_scripts - Folder containing the UHD-GNURadio api and demo codes to get started.
  3. docs - Images for markdown documentation.

Get in Touch!

If you have any questions or suggestions, please get in touch with the authors of the paper:

[email protected]
[email protected]
WCSNG UC San Diego
Sysnet UC San Diego

License

Apache 2.0:

Copyright 2019 The Regents of the University of California

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

FPGA code and Python API for adding chirp functionality to USRP N210 with CBX daughter board, after the required hardware modification.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages