SDR in ORBIT: Spectrum Sensing
Table of Contents
 2015 Winlab Summer Internship
 LTE Unlicensed (LTEU)
 Introduction
 Objectives
 Theory
 Analyzing Tools
 Experiment 1: Transmit and Receive LTE Signal
 Experiment 2: The Waterfall Plot
 Experiment 3: eNB and UE GUI
 Experiment 4: Varying Bandwidths
 Experiment 5: Working with TDD or FDD
 Experiment 6: TDD with Varying Bandwidths
 Experiment 7: TDD Waterfall Plot
 Poster
 Members
 Materials
 Resources
 LTE Unlicensed (LTEU)
 Body Sensor Networks
 Dynamic Video Encoding
Introduction
Spectrum sensing is the systematic scanning of the available radio frequency spectrum for areas of high usage. Our project involves the use of Universal Software Radio Peripherals (USRPs) in ORBIT to detect which frequencies are in use at any given time. Using WINLAB's Wiserd framework and MATLAB/Octave for signal processing, we aim to detect with optimal speed and efficiency the frequency of any signal transmitted from an unknown source. Accomplishing this goal will help to identify available bands in the frequency spectrum, giving opportunities for more efficient usage.
GitHub: https://github.com/ThePomelo/SpectrumSensing
Team
Christina Baaklini Electrical and Computer Engineering Rutgers University 
Michael Collins Electrical and Computer Engineering Rutgers University 
Nick Cooper High School Student Montgomery High School 
Nicole DiLeo Electrical and Computer Engineering Rutgers University 
Project guided by Wade Trappe, Dola Saha, and Ivan Seskar.
Objectives
 Knowledge of basic Digital Signal Processing concepts
 Knowledge of filter design
 Utilization of ORBIT
 Writing/editing scripts
 Saving from console to local devices
 Running experiments on the grid
 Utilization of MATLAB to process signals
 Fast Fourier Transform (FFT)
 Inverse Fast Fourier Transform (IFFT)
 Design of Signal Processing and Data Visualization Tools
 Transform IQ samples to frequency domain
 Analyze data and identify any transmitted frequencies
 Generate waterfall plots, power vs. frequency plots, and other visuals
 RealTime Application
 Display visuals in realtime
 User interface for changing receiver carrier frequency, sampling rate, etc.
Weekly Progress
Weeks 12 (Presentation)
 Formation of project group.
 Development of project goals.
 Preliminary research on softwaredefined radio.
Week 3 (Presentation)
 Research on analogtodigital conversion.
 Familiarization with Fast Fourier Transform (FFT) in MATLAB.
 USRP Tutorials using ORBIT.
Week 4 (Presentation)
 Research on filter design.
 Writing/Modification of OEDL scripts. See Experiment 1.
 Development of a MATLAB script for signal visualization.
Week 5 (Presentation)
 Introduction of FPGA into the project.
 Use of OML to gather raw IQ samples from USRPs.
 Development of a MATLAB spectrogram script.
Week 6 (Presentation)
 FPGA Programming Using VHDL.
 Experimentation on the ORBIT Grid. See Experiment 2.
 Filtering and PeakFinding in MATLAB.
Week 7 (Presentation)
 Design of a Sequential Circuit.
 Implementation of Scanning Receiver Readings.
 Start of Implementation of MATLAB Code in c++.
Week 8 Presentation to NYIT Summer Research Interns.
Week 9 (Presentation)
 Implementation of State Machines in VHDL.
 Incorporation of FFTW Library into C++ Implementation.
 Plotting with Gnuplot in C++
Week 10 (Presentation)
 Start of Packet Fragmentation Unit Development for Spectrum Sensing App.
 Finalization of MATLAB Implementation.
 Integration of C++ Code into Wiserd Framework
Week 11 (Presentation)
 Development of RealTime Plotting Module
 Evaluation of Alternative Plotting Methods
Week 12 (Presentation)
 Development of BrowserBased Visualization
 Development of PFU for Spectrum Sensing Application
 Project Conclusion
Experiments
Experiment 1: Signal Transmission and Processing with USRP2 and wiserd
In this experiment we modify the Spectrum sensing with USRP2 and wiserd (OEDL and OML) tutorial.
The tutorial uses two USRPs: one transmitter and one receiver. The transmitter starts at 798 MHz and increases to 802 MHz over a span of 5 seconds. The receiver has a carrier frequency of 800 MHz and bandwidth of 5 MHz.
As our first experiment we modified the tutorial. We increase the sampling rate to 10 MHz, so we can accurately receive frequencies up to 5 MHz greater or lesser than the receiver's carrier frequency. We then randomly select frequencies from 796 to 804 MHz to transmit for one second each.
Using OML, we save the receiver readings to a file for processing in MATLAB/Octave. Using a MATLAB script, we generate a waterfall plot of the data, along with an animated power vs. frequency plot. See Figure 1.
Update: Raw IQ Samples and Processing in MATLAB
Next, using the same frequencies and sampling rate as the original tutorial, we modified the OEDL script in order to collect raw time domain samples using ORBIT as opposed to samples that had already been converted into the frequency domain.
We then wrote a MATLAB script entitled "spectro" which we used to convert the raw data into the frequency domain. From there, we again generate a waterfall plot of the data. See Figure 2.
Using the raw IQ samples instead of preprocessed FFT data allows for more flexibility in our signal processing. We now have access to a much larger collection of data, and we can produce more accurate frequency domain transforms.
Experiment 2: Signal Transmission and Processing with Two Transmitters and One Receiver
In this experiment, we write an OEDL script that uses two transmitters and one receiver to collect preprocessed FFT samples. Utilizing three USRP2 radios on the grid, two nodes were used as transmitters, and one as a receiver.
The first transmitter starts at a frequency of 798 MHz and increases to 802 MHz, while the second transmitter starts at a frequency of 804 Mhz and increases to 808 MHz all over a span of 2.5 seconds. The receiver has a carrier frequency of 803 MHz and a bandwidth of 12 Mhz.
We then save the FFT data from the receiver to our local device and process in MATLAB, where we generated a waterfall plot of the data. See Figure 3.
Once we have the experiment set up, we can extract IQ samples from the receiver and use them in our MATLAB processing script.
To reduce the size of our output data, we reduced the receiver sampling rate, shortened the time span of the experiment to 1.5 seconds, and confined the transmitters to a smaller spectrum of frequencies.
The MATLAB script currently generates a waterfall plot, plots individual FFTs and applies a simple peakfinding algorithm to identify possible transmitted frequencies. See Figure 4.
Attachments (25)

WINLAB Weeks 12.pptx (602.4 KB)  added by 4 years ago.
Presentation 1
 collins.jpg (106.2 KB)  added by 4 years ago.
 nicole.PNG (80.3 KB)  added by 4 years ago.
 christina.jpg (44.6 KB)  added by 4 years ago.
 Spectrum Sensing Weeks 12.pdf (410.0 KB)  added by 4 years ago.
 Spectrum Sensing Week 3.pdf (364.5 KB)  added by 4 years ago.
 Spectrum Sensing Week 4.pdf (351.0 KB)  added by 4 years ago.
 waterfall_plot.fig (92.6 KB)  added by 4 years ago.
 exp1_2.gif (280.7 KB)  added by 4 years ago.
 exp1_1.2.png (5.4 KB)  added by 4 years ago.
 exp1_1.png (19.2 KB)  added by 4 years ago.
 exp1_2.2.gif (824.6 KB)  added by 4 years ago.
 exp1_3.png (191.1 KB)  added by 4 years ago.
 Spectrum Sensing Week 5.pdf (467.2 KB)  added by 4 years ago.
 grid_exp1.png (7.3 KB)  added by 4 years ago.
 Spectrum Sensing Week 6.pdf (269.1 KB)  added by 4 years ago.
 Spectrum Sensing Week 7.pdf (922.8 KB)  added by 4 years ago.
 nick.png (520.8 KB)  added by 4 years ago.
 exp2_1.png (120.6 KB)  added by 4 years ago.
 exp2_2.png (25.3 KB)  added by 4 years ago.
 Spectrum Sensing Presentation to NYIT.pdf (3.0 MB)  added by 4 years ago.
 Spectrum Sensing Week 9.pdf (320.8 KB)  added by 4 years ago.
 Spectrum Sensing Week 10.pdf (406.3 KB)  added by 4 years ago.
 Spectrum Sensing Week 11.pdf (250.6 KB)  added by 4 years ago.
 Spectrum Sensing Week 12.pdf (667.8 KB)  added by 4 years ago.