Top Banner
SpecNet: Spectrum Sensing Sans Fronti` eres Anand Padmanabha Iyer Microsoft Research India Krishna Chintalapudi Microsoft Research India Vishnu Navda Microsoft Research India Ramachandran Ramjee Microsoft Research India Venkata N. Padmanabhan Microsoft Research India Chandra R. Murthy Indian Institute of Science Abstract While the under-utilization of licensed spectrum based on measurement studies conducted in a few developed countries has spurred lots of interest in opportunistic spectrum access, there exists no infrastructure today for measuring real-time spectrum occupancy across vast ge- ographical regions. In this paper, we present the design and implementation of SpecNet, a first-of-its-kind plat- form that allows spectrum analyzers around the world to be networked and efficiently used in a coordinated man- ner for spectrum measurement as well as implementa- tion and evaluation of distributed sensing applications. We demonstrate the value of SpecNet through three ap- plications: 1) remote spectrum measurement, 2) pri- mary transmitter coverage estimation and 3) Spectrum- Cop, which quickly identifies and localizes transmitters in a frequency range and geographic region of interest. 1 Introduction Radio Frequency (RF) spectrum measurement studies [9, 10, 5, 7] have confirmed that vast spans of licensed spec- trum, deemed white-spaces, are heavily under-utilized. Such studies have helped make a case for allowing unli- censed devices to utilize unused parts of the spectrum op- portunistically. Opportunistic Spectrum Access (OSA) is now increasingly seen as a necessity to meet the grow- ing demands of wireless applications. In fact, the his- toric FCC ruling in 2008 permitting such opportunistic use (and in 2010 allowing use without the need to sense primaries) is a testament to the success of these measure- ment studies. Nevertheless, most spectrum measurement studies to date have been conducted in a few developed nations, using only a handful of spectrum analyzers. Even today, the US remains the only country to have allowed an OSA model. Many more measurement studies, especially in developing nations, are perhaps necessary to make the OSA model accepted worldwide. Further, these measurements represent static spectrum occupancy information over small parts of a country. While spectrum allocation is mostly static today, the adoption of OSA will result in much more dynamic use of spectrum. Thus, access to real-time spatio-temporal maps is beneficial for OSA devices to sense other OSA devices and determine which parts of the spectrum are free/lightly loaded. However, there exists no infrastruc- ture today for measuring real-time spectrum occupancy across vast geographical regions. Over the past few years, several researchers have proposed novel schemes for efficient media access and network design in white-spaces [3, 20]. Other re- searchers have proposed novel collaborative spectrum sensing techniques [11] to allow robust detection of spec- trum occupancy. However, thorough evaluation of these techniques using real data is hard today. Further, cross- geographic questions such as “How do spatio-temporal access usage patterns in India differ from those in the US?” or “How would a certain OSA technique that works well in the US perform in the UK?” cannot be answered today. The primary contribution of this paper is SpecNet— a platform that allows researchers across the world not only to conduct spectrum measurement studies remotely in real time, but also implement and test novel distributed collaborative spectrum sensing applications for OSA. SpecNet advances OSA in several ways. First, it helps gather spectrum data in many countries, thereby helping the adoption of the OSA model worldwide. Second, by providing real-time spectrum occupancy maps, OSA de- vices may be able to quickly identify lightly loaded parts of the spectrum. Third, it provides real trace data that can be used to evaluate novel research ideas in OSA. Fi- nally, in countries such as India, where there is no readily available database of primary users, it can help create an accurate database that can be used by OSA devices. In SpecNet (Section 4), participant owners of spec- trum analyzers register and connect their instruments to the SpecNet server. Each owner volunteers to provide time periods when SpecNet users are allowed to use the instrument to remotely conduct experiments. SpecNet provides its users with a rich API implemented as XML- RPC calls. Thus, SpecNet users can develop and re- motely execute measurements or distributed sensing ap- plications in a programming/scripting language of their choice. To the best of our knowledge SpecNet is the first programmable distributed spectrum sensing platform of its kind. SpecNet can be accessed at [15]. SpecNet provides an API that supports three classes of users (Section 4.2). For sophisticated users, SpecNet provides full access to the low-level APIs of the spec- trum analyzer. For policy users and others mainly inter- ested in measurement data, say for longituidinal analy- sis, SpecNet provides APIs that allow access to historic measurement data that SpecNet collects and stores in a database. For other users such as network operators or government personnel, SpecNet provides a set of high- 1
14

SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

Sep 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

SpecNet: Spectrum Sensing Sans Frontieres

Anand Padmanabha IyerMicrosoft Research India

Krishna ChintalapudiMicrosoft Research India

Vishnu NavdaMicrosoft Research India

Ramachandran RamjeeMicrosoft Research India

Venkata N. PadmanabhanMicrosoft Research India

Chandra R. MurthyIndian Institute of Science

Abstract

While the under-utilization of licensed spectrum basedon measurement studies conducted in a few developedcountries has spurred lots of interest in opportunisticspectrum access, there exists no infrastructure today formeasuring real-time spectrum occupancy across vast ge-ographical regions. In this paper, we present the designand implementation of SpecNet, a first-of-its-kind plat-form that allows spectrum analyzers around the world tobe networked and efficiently used in a coordinated man-ner for spectrum measurement as well as implementa-tion and evaluation of distributed sensing applications.We demonstrate the value of SpecNet through three ap-plications: 1) remote spectrum measurement, 2) pri-mary transmitter coverage estimation and 3) Spectrum-Cop, which quickly identifies and localizes transmittersin a frequency range and geographic region of interest.

1 IntroductionRadio Frequency (RF) spectrum measurement studies [9,10, 5, 7] have confirmed that vast spans of licensed spec-trum, deemed white-spaces, are heavily under-utilized.Such studies have helped make a case for allowing unli-censed devices to utilize unused parts of the spectrum op-portunistically. Opportunistic Spectrum Access (OSA) isnow increasingly seen as a necessity to meet the grow-ing demands of wireless applications. In fact, the his-toric FCC ruling in 2008 permitting such opportunisticuse (and in 2010 allowing use without the need to senseprimaries) is a testament to the success of these measure-ment studies.

Nevertheless, most spectrum measurement studies todate have been conducted in a few developed nations,using only a handful of spectrum analyzers. Even today,the US remains the only country to have allowed an OSAmodel. Many more measurement studies, especially indeveloping nations, are perhaps necessary to make theOSA model accepted worldwide.

Further, these measurements represent static spectrumoccupancy information over small parts of a country.While spectrum allocation is mostly static today, theadoption of OSA will result in much more dynamic useof spectrum. Thus, access to real-time spatio-temporalmaps is beneficial for OSA devices to sense other OSAdevices and determine which parts of the spectrum arefree/lightly loaded. However, there exists no infrastruc-ture today for measuring real-time spectrum occupancyacross vast geographical regions.

Over the past few years, several researchers haveproposed novel schemes for efficient media access andnetwork design in white-spaces [3, 20]. Other re-searchers have proposed novel collaborative spectrumsensing techniques [11] to allow robust detection of spec-trum occupancy. However, thorough evaluation of thesetechniques using real data is hard today. Further, cross-geographic questions such as “How do spatio-temporalaccess usage patterns in India differ from those in theUS?” or “How would a certain OSA technique that workswell in the US perform in the UK?” cannot be answeredtoday.

The primary contribution of this paper is SpecNet—a platform that allows researchers across the world notonly to conduct spectrum measurement studies remotelyin real time, but also implement and test novel distributedcollaborative spectrum sensing applications for OSA.SpecNet advances OSA in several ways. First, it helpsgather spectrum data in many countries, thereby helpingthe adoption of the OSA model worldwide. Second, byproviding real-time spectrum occupancy maps, OSA de-vices may be able to quickly identify lightly loaded partsof the spectrum. Third, it provides real trace data thatcan be used to evaluate novel research ideas in OSA. Fi-nally, in countries such as India, where there is no readilyavailable database of primary users, it can help create anaccurate database that can be used by OSA devices.

In SpecNet (Section 4), participant owners of spec-trum analyzers register and connect their instruments tothe SpecNet server. Each owner volunteers to providetime periods when SpecNet users are allowed to use theinstrument to remotely conduct experiments. SpecNetprovides its users with a rich API implemented as XML-RPC calls. Thus, SpecNet users can develop and re-motely execute measurements or distributed sensing ap-plications in a programming/scripting language of theirchoice. To the best of our knowledge SpecNet is the firstprogrammable distributed spectrum sensing platform ofits kind. SpecNet can be accessed at [15].

SpecNet provides an API that supports three classesof users (Section 4.2). For sophisticated users, SpecNetprovides full access to the low-level APIs of the spec-trum analyzer. For policy users and others mainly inter-ested in measurement data, say for longituidinal analy-sis, SpecNet provides APIs that allow access to historicmeasurement data that SpecNet collects and stores in adatabase. For other users such as network operators orgovernment personnel, SpecNet provides a set of high-

1

Page 2: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

level APIs that allow these users to write novel appli-cations without having to worry about the intricacies ofthe spectrum analyzer. For example, a government userinterested in spectrum occupancy data need only spec-ify the part of the spectrum (e.g.,500-800 MHz), thegeographical boundary (e.g.,specified by a center andradius of a circular region), the time interval (e.g.,be-tween 12:00 - 16:00 hrs today) and the minimum signalstrength of the transmitter that needs to be detected (say-95 dBm). Behind the scenes, SpecNet determines thegroup of relevant spectrum analyzers and their respec-tive settings that will help satisfy the measurement re-quest, executes the task on these spectrum analyzers anddelivers the results to the user. Other users such as OSAnetwork operators may be interested in determining thecoverage of their networks at locations where spectrumanalyzers may not be available. SpecNet provides aninterpolation tool that uses measurements from nearbyspectrum analyzers to estimate power at the location(s)of interest.

Given that spectrum analyzers are expensive ($10-40K) and their time of availability for SpecNet’s usemight be restricted depending on the owner’s needs, animportant design goal for SpecNet is efficient manage-ment of spectrum analyzer time. When two or morespectrum analyzers lie in the region of interest, it may bepossible to coordinate their measurements in a mannerso as to reduce the overall scanning time while satisfyingthe user’s request. One approach could be to partitionthe frequency spectrum equally among all the spectrumanalyzers in the region of interest. Another approach isto leverage the spatial diversity in the locations of thespectrum analyzers and partition the scanning efforts ge-ographically. Finally, a hybrid approach that combinesthese two approaches is also feasible.

Two fundamental tradeoffs underlying the veryphysics of spectrum measurements make this problem ofpartitioning the measurement task among spectrum ana-lyzers a significant challenge. First, thetime-frequencyuncertainty principledictates that the finer the resolutionof the spectrum scan, the longer it takes to perform thescan. Second, weaker signals require longer scan timesto be amenable to detection. Further, the heterogeneityin capability as well as processing speeds across differ-ent models of spectrum analyzers adds to the complexity.SpecNet considers these tradeoffs and uses a novel taskpartitioning scheme for scheduling individual spectrumanalyzers (Section 5).

We demonstrate the power of SpecNet through threeapplications (Section 7). The first application is simplya spectrum scan that is performed across different coun-tries, illustrating the ability to conduct remote measure-ments. The second application is a coverage estimationapplication that may be useful to network operators. The

application first helps localize a TV transmission towerand then predict its footprint so that operators may avoidthe primary owner of the spectrum. This is especiallyuseful in developing countries where a database of pri-mary transmitters is unavailable or incorrect. The thirdapplication is SpectrumCop, which may be of interestto government users. Today, it is hard to detect viola-tors of spectrum policy unless a primary owner of thespectrum complains of interference. The SpectrumCopapplication allows a user to quickly detect and localize atransmitter in a given frequency range and geographic re-gion, demonstrating the utility of SpecNet’s coordinatedsensing platform.

Thus, we make the following contributions:

• We present the design and implementation of a novelplatform called SpecNet that allows spectrum analyz-ers around the world to be networked and used in acoordinated manner for remote measurement as wellas testing and implementation of distributed sensingapplications. SpecNet is open for access at [15].

• We present a scheduling algorithm for coordinatingmeasurements among neighboring spectrum analyzersthat optimizes spectrum analyzer usage time.

• Finally, we present three applications that demonstratethe value of the SpecNet platform.

2 Related WorkMeasurement Studies.One of the earliest studies thataimed at quantifying spectrum usage [9] is by the SharedSpectrum Company. The study, conducted at six differ-ent locations in the US, concluded that the average occu-pancy of spectrum was about 5.2% in the 30 MHz to 3GHz frequency range. A study by McHenryet al.[10] inChicago and New York revealed that the occupancy waslimited to 17% and 13% respectively. Since then, therehas been a number of measurement studies [5, 7, 19] indifferent parts of the world. The common finding of allthese studies has been that spectrum is heavily under-utilized. In [4], authors derive various statistics fromthe collected data, and propose a prediction algorithm forchannel availability.

All of these studies have been performed using a hand-ful (maximum of 4 according to [4]) of spectrum an-alyzers scanning spectrum in a small geographical re-gion in an uncoordinated fashion. In contrast, SpecNetprovides a platform for coordinating spectrum analyzersacross different geographical regions, thus opening doorsto more interesting measurement studies. Further, it alsoenables building occupancy maps of large geographicalareas over long durations for longitudinal analysis.Whitespace Research. Whitespace networking hasbeen gaining attention as an important research field inthe networking community. In [3], the authors propose

2

Page 3: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

a Wi-Fi like system built on UHF whitespaces. Yanget al. propose a distributed spectrum access techniqueusing frequency agile radios transmitting in orthogonalfrequencies [20]. Most of these proposals have beenevaluated in restricted settings. We believe that SpecNetwould aid whitespace research by allowing evaluation ofproposals based on broader, more real-world data. Forinstance, spectrum measurement data from different con-tinents could be used to evaluate detection techniques.Cooperative Sensing & Sensor Networks.Cooperativesensing is a well explored topic [11, 16, 6]. The mainfocus of these papers is detecting a primary whose fre-quency of transmission and/or location is known. More-over, the emphasis is on novel collaborative detectiontechniques. SpecNet and research in collaborative sens-ing are complementary to each other. For example, mea-surements from SpecNet can be useful for evaluatingthese collaborative detection algorithms while advancedcollaborative detection techniques can be incorporatedinto the SpecNet platform as an API.

SpecNet uses Voronoi partitioning for optimizing scantime of spectrum analyzers. The use of Voronoi diagramshas been proposed in sensor networks as well [17, 2].However, the main motivation for applying a partition-ing scheme in sensor networks has been energy savingsand/or interference avoidance. Thus, the problem formu-lations and objective functions are very different.Testbeds/Platforms. A number of distributed researchtestbeds/platforms have been built by the community [12,1, 18]. To the best of our knowledge, SpecNet is thefirst platform targeted at co-ordinating spectrum analyz-ers across geographical regions.

3 Spectrum Sensing Using Spectrum Ana-lyzers - A Primer

In this section we attempt to answer the question,“whatare the key settings and choices available to a spectrumanalyzer user for spectrum scanning and how do they in-fluence the spectrum sensing process?”

3.1 Spectrum Scanning - An ExampleWe begin with an example spectrum scan of an activewireless microphone depicted in Figure 1. When scan-ning using a spectrum analyzer, a user typically needsto specify two key parameters—thescanning frequencyrange and the resolution bandwidth. The frequencyrange, (fmin, fmax) in MHz, specifies that the user isinterested in scanning the spectrum fromfmin MHz tofmax MHz. In Figure 1, the scanning frequency rangeis (702.05 MHz , 702.35 MHz ). Resolution bandwidthspecifies the granularity in Hz at which the scan is tobe performed—the lower the resolution bandwidth, thegreater the observed detail in the scan.

Figure 1 depicts the results of the scan at four differ-ent resolution bandwidths. When the resolution band-width is 1 MHz, the microphone’s transmission is notat all perceivable. Upon reducing the resolution band-width to 30 KHz, a single clear peak emerges indicat-ing the microphone’s transmission. Further reducingthe resolution bandwidth to 10 KHz reveals even finerdetail—three distinct peaks, which are the signature ofan FM-modulated transmission. At 1 KHz resolutionbandwidth, the three peaks are revealed as distinct sharptones.

702.05 702.1 702.15 702.2 702.25 702.3 702.35−110

−100

−90

−80

−70

−60

−50

−40

Frequency in MHz

Rec

eive

d P

ower

in d

Bm

RBW = 1 KHz

RBW = 10 KHz

RBW = 30 KHz

RBW = 1 MHz

−102

−96

−88

−52

Figure 1: Effect of resolution bandwidth

As seen in Figure 1, a lower resolution bandwidth hastwo significant effects on the scan. First, greater detailabout the signal structure is revealed and second, thenoise floor is reduced (from -52 to -102 dBm).

3.2 Occupancy DetectionOften, the goal behind scanning the spectrum isoccu-pancy detection, i.e., to determine which parts of thespectrum have ongoing transmissions. Fundamentally,the problem of occupancy detection attempts to distin-guish between signal and noise. While there are sev-eral varieties of occupancy detection schemes, perhapsthe simplest scheme is to check whether the Signal toNoise Ratio (SNR) is greater than a certain threshold.

1 1 2 3 4 5 6−150

−140

−130

−120

−110

−100

−90

−80

−70

−60

−50

Resolution Bandwidth in Hz

Noi

se F

loor

in d

Bm

N9320B AgilentFieldFox N9912AN9010A Agilent

10 10 10 10 1010

Figure 2:Noise floor versus resolution bandwidth

Dependence of noise floor on resolution bandwidth:As we saw in Figure 1, the noise floor depends on theresolution bandwidth of the scan. This decrease in noisefloor arises from the fact that as frequency bins becomefiner, they accumulate less noise.A lower noise floortypically results in a greater SNR and consequently morereliable occupancy detection.

3

Page 4: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

The noise floor (in watts) as a function of resolutionbandwidth is typically given by

N ∝ ρ (1)

In Eqn 1, the proportionality constant depends on thespectrum analyzer model, the antenna, the cabling,etc. Figure 2 depicts the dependence of noise floor onresolution bandwidth for three different models of spec-trum analyzer. While practical measurements indicateminor deviations in linearity, as seen in Figure 2, the lin-ear model (Eqn 1) holds approximately true for all spec-trum analyzers we used.

Dependence of detection range on resolution band-width: Typically, the farther a transmitter is from aspectrum analyzer, the lower the received power at thespectrum analyzer. The weaker the received signal, thelower the SNR and hence the less reliable its detection.Detection rangeof a spectrum analyzer at a certain res-olution bandwidth is the farthest distance from which anongoing transmission can be detected reliably.

Path loss models such as the Log Distance Path Loss(LDPL) model are typically used to estimate receivedpower as a function of distance. The received powerPr

at a distanced from a transmitter transmitting with powerP0 based on the LPDL model is given by

Pr = P0 − 10γ log (d) + L (2)

In Eqn 2,γ (usually between 2 and 3 for outdoor envi-ronments) is the path loss exponent andL dB (usuallymodeled as a Gaussian with standard deviation between5-10 dB for outdoor environments) is a random variablethat captures variations in the signal due to fading effects.

If ∆ is the minimum SNR required for reliable occu-pancy detection using a certain detection scheme, then inorder to detect a transmission from a distanced, the noisefloor must be∆ dB less thanPr, i.e.,P0 − 10γ log (d)−∆. Since noise floor is dictated by the resolution band-width (Eqn 1), this in turn implies thatone must choosea lower resolution bandwidth to reliably detect a trans-mitter that is farther away from the spectrum analyzer.The dependence of detection ranged on resolution band-width can be derived from (Eqn 1) (after converting fromdB) as

ρ ∝(

10P0−∆

10

)

d−γ (3)

Eqn 3 indicates an important aspect of detecting trans-missions from a distance, namely,the maximum usableresolution bandwidth decreases super-linearly (asdγ)with detection range.

4 SpecNet ArchitectureSpecNet is a shared infrastructure consisting of geo-distributed, networked, programmable spectrum analyz-ers that are contributed and used by the community. The

Figure 3: SpecNet Architecturefollowing two goals drive the design of SpecNet.1) Easeof Use: We expect SpecNet to support the needs of threedifferent classes of users. First, sophisticated users suchas whitespace researchers will likely need real-time, low-level access to the full functionality of the spectrum an-alyzers. Second, some users such as spectrum policy re-searchers may simply need access to the data collectedby the spectrum analyzers. Finally, users such as sec-ondary network service providers or government person-nel interested in spectrum monitoring may require high-level APIs that abstract the details/complexity of Spec-Net and provide services such as tower localization orspectrum occupancy detection.2) Efficiency: Given thatspectrum analyzers are expensive ($10-40K) and may beavailable to SpectNet for limited duration, it is importantthat the usage of spectrum analyzers be optimized wherepossible. Since the spectrum analyzers cannot be arbi-trarily “time-sliced” for fine-grained sharing, optimiza-tion requires completing each task as efficiently as pos-sible. We now present an overview of the SpecNet archi-tecture.

4.1 OverviewThe SpecNet architecture is shown in Figure 3. Itcontains three key components: users or clients, slaveservers that comprise laptops/PCs connected to spec-trum analyzers, and master servers that manage the slaveservers. The typical work-flow is as follows: clients sub-mit jobs to the master servers; the master servers trans-late these jobs into spectrum analyzer commands basedon Standard Commands for Programmable Instruments(SCPI) [14]. The master server also schedules these atthe appropriate slave server nodes for execution at the de-sired/available time. The output of the commands is theneither forwarded immediately to the client or the client isnotified of when/where the output data from the submit-ted job would be available.

XML-RPC: In order to support a wide range of clientplatforms, the SpecNet service is exposed by the masterservers as XML-RPC calls,i.e., remote procedure callsthat are encoded in XML and transported over HTTPusing the XML-RPC standard. This allows clients to

4

Page 5: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

post jobs using the SpecNet APIs from any Internet-connected node, written in any language of their choice.

Push-vs-Pull: The jobs posted to the master servercan either be pushed to or pulled by the slave servers.While a pull-based publish-subscribe model is less com-plex in terms of state maintenance at the server, it is notsuitable for SpecNet users who may want to execute jobswith inter-dependent API calls that require reaction atsub-second intervals (see the Spectrum Cop applicationin Section 7.3). We thus adopt a push-based model wherea persistent TCP connection is maintained between theslave servers and the master servers and jobs are pushedto the slave servers.

Registration: Users contributing slave servers needto first register with the SpecNet master server. Theymay specify times during which the nodes are availableto SpecNet. Upon completion of registration, a simpledaemon is downloaded and executes on the slave server.This software establishes an outbound persistent TCPconnection to the master server and another connectionto the spectrum analyzer, thereby serving as a bridge be-tween the master server and the spectrum analyzer.

Benchmarking: The master server first runs a suiteof experiments to benchmark the fundamental character-istics such as noise floor and scan times of each spec-trum analyzer (details in [8]). This benchmarking helpsthe master server efficiently schedule jobs at the slaveserver nodes. Further, this is also necessary for abstract-ing some of the low-level details of the spectrum ana-lyzer through higher-level APIs, necessary for maskingsome of the heterogeneity among spectrum analyzers.We discuss this next.

4.2 APIsAs mentioned earlier, SpecNet is designed to supportthree classes of users. Table 4.2 lists a subset of the APIssupported by SpecNet.

For sophisticated users who require low-level accessto the spectrum analyzer, SpecNet has a reservation APIthat users can use to reserve a block of time on the de-sired slave servers. The users can then issue their de-sired low-level commands, which are simply forwardedthrough the master server to the slave servers for execu-tion.

For policy users and others who are interestedmainly in spectrum usage data, possibly for longitu-dinal studies, SpecNet schedules up to 10% of theavailable time at each slave server for itself. Dur-ing this time, the server performs a high resolutionscan of the entire spectrum, stores this data in aSQL database and exposes this data to users throughAPIs such asGetPowerSpectrumHistory() orGetOccupancyHistory(). This stored data canalso serve as a cache and may help respond (partly) to

other submitted jobs.The interesting challenges in SpecNet’s design arise

mainly in supporting the third class of users (e.g.,net-work operators). These users may require support forhigh-level APIs that abstract out many of the details ofusing spectrum analyzers. While we have designed afew of these APIs (6-9 in Table 4.2), we expect the setof high-level APIs to expand over time based on interestand through community contributions.

Localization and Interpolation: Estimating the ge-ographical coverage of a primary transmitter is essentialto creating a spectrum usage map. However, this requiresknowledge of specifics of the transmitter such as its loca-tion and transmit power. Such information is usually notavailable or may be incorrect, especially in developingcountries (Section 7.2).

In order to localize transmitters, SpecNet providestheLocalizeTransmitter() API that uses signalstrength observed at spectrum analyzers from various lo-cations but does not require input of parameters such aslocation and transmit power of the transmitter. Instead,SpecNet estimates these parameters that best explain thesignal observations (in least mean square error terms) us-ing well known path loss models such as Longley-Riceor Log Distance Path Loss (LDPL). The number of un-knowns that can be estimated, however, fundamentallydepends on the number of different locations from whichsignal strength was observed. In case of the LDPL model(Eqn 2), for example, if signal strengths from only threelocations are available, SpecNet setsγ = 3, takes thetransmit power (P0) as input from the user and estimatesthe location through triangulation. If signal strength fromfour different locations are available, SpecNet can esti-mateP0 and the transmitter location simultaneously bychoosingγ = 3. When observations from five or morelocations are available, SpecNet can estimate the trans-mitter location, transmit powerP0 andγ simultaneouslythat best fit the observations. Once the location of thetransmitter and other parameters are determined, con-structing a spectrum map is straightforward. SpecNetprovides theFindPowerAtLocation() API thattakes these parameters and predicts the likely receivedpower at desired new locations (e.g., locations with nospectrum analyzer).

Spectrum Occupancy Detection: The next twohigh-level APIs help users obtain spectrum occupancyat desired locations. TheGetPowerSpectrum() issimply a spectrum scan over a given frequency range on agiven device, except that users do not even need to spec-ify the resolution bandwidth. Instead users can specifya region and desired minimum power level of transmit-ter to be detected. SpecNet then automatically choosesthe best resolution bandwidth (based on the fundamentalproperties of occupancy detection discussed in Section 3)

5

Page 6: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

# API DescriptionLow-level APIs (e.g.,for sophisticated users)

1 GetDevices([Boundary], [Timespan]) Returns a list of spectrum analyzer IDs. Fewer/no argumentspossible.2 ReserveDevice(ID, Timespan) Reserves and returns success, if available.3 RunCommandOnDevice(ID,Command) Issues SCPI command to device and returns result.

Commands to access stored data (e.g.,for policy users)4 GetPowerSpectrumHistory(ID, Fs, Fe, Timespan) Returns (avg) power values from device for given time/frequency range (Fs-Fe).5 GetOccupancyHistory(ID/Boundary, Fs, Fe,

Timespan, Threshold)Returns 0-1 list indicating occupancy in Fs-Fe at device or in region, based onthreshold.

High-level APIs (e.g.,for operators or government users)6 LocalizeTransmitter(Boundary, Locations, Powers,

Model, Parameters)Localizes transmitter inside area, given observed power level(s) at location(s)using Model (LDPL, HATA, Longley-Rice, etc.) .

7 FindPowerAtLocation(Location, [TransmitterParameters], Model, [Model Parameters])

Interpolates power at new location given transmitter location/parameters andmodel; useful for estimating coverage of transmitter.

8 GetPowerSpectrum(ID, Fs, Fe, [Boundary, P]) Schedules a scan for given frequency range (SpecNet determines optimal reso-lution bandwidth) in order to detect minimum power level P ingiven area.

9 GetOccupancy(ID/Boundary, Fs, Fe, P) Provides a 0-1 list corresponding to frequencies occupied at a device or region.P is the minimum transmitter power (SpecNet minimizes scan time).

Table 1: Core APIs supported by SpecNet

and returns the results.GetOccupancy() API goesfurther by allowing the user to specify a region of interestfor detecting occupancy of signals above a given thresh-old, without even identifying the desired slave serverIDs. This API is useful for applications like SpectrumCop (Section 7.3), which monitor unauthorized spectrumusage. To support this API, SpecNet computes the opti-mal set of spectrum analzyers and their correspondingresolution bandwidth values that minimize scan time andreturns the results. Optimizing scan time across multiplespectrum analyzers is a challenging problem which wediscuss next.

5 Task Scheduling in SpecNetSpecNet allows users to deploy and execute spectrumsensing applications in real time. Users expect their sens-ing tasks to be dispatched and completed as soon as pos-sible. Consequently, SpecNet schedules participant spec-trum analyzers in a manner so as to minimize task com-pletion time. In this section we describe the challengesposed in the design of a task scheduler for SpecNet.

5.1 Scanning Time of a Spectrum AnalyzerFor a spectrum analyzer, the time to perform a scan fromfmin MHz to fmax MHz depends on two parametersnamely,spanQ = fmax−fmin and the resolution band-width ρ used for the scan. Increasing the span requiresa spectrum analyzer to scan a larger part of the spectrumand consequently requires a longer scan time. Scanningat a smaller resolution bandwidth requires a larger num-ber of samples to be collected in order to reliably esti-mate the power in each of the finer frequency bins andhence, more time. For modern spectrum analyzers, thescan time may be modeled as

T ∝Q

ρ(4)

In Eqn 4,T is the scanning time. The proportionalityconstant in Equation 4 can vary significantly across dif-ferent models of spectrum analyzers as discussed next.

Theory versus Reality : Figure 4 depicts the scan timesmeasured from different spectrum analyzers at differentresolution bandwidths as a function of span. As seenfrom Figure 4, the dependence of scanning time on spanQ is strictly linear as dictated by Eqn 4. Consequently, itis convenient to characterize scan times of spectrum an-alyzers in terms ofscan time per MHz, τ . The scanningtime for a scan fromfmin to fmax is then determined bythe product(fmax − fmin)τ .

Figure 5 depicts the measured scan times per MHz (τ )as a function of resolution bandwidth for three differentmodels of spectrum analyzers in a log-log plot. Based onEqn 4, the variation of scan times with resolution band-width should be linear. However, Figure 5 indicatessig-nificant departure from linearity.Rather the variation ispiece-wise linear. For example, for FieldFox N9912A,the variation is linear in sections A-B and C-D sepa-rately. The piece-wise linearity arises because spectrumanalyzers likely use different sets of circuits and modesfor different ranges of resolution bandwidths and thesecircuits/modes presumably have different performancecharacteristics. To allow for these non-linearities, Spec-Net maintains lookup tablesτ(ρ) describing the scanningtime per MHz for a given resolution bandwidth settingfor each spectrum analyzer.

5.1.1 Minimizing Scan Time by Automatic Resolu-tion Bandwidth Selection

When scanning a part of the spectrum, users often careabout having a low noise floor. The noise floor, how-ever, as discussed in Section 3, depends on the resolu-tion bandwidth chosen. SpecNet allows users to requesta scan by a remote spectrum analyzer by specifying themaximum tolerable noise floor. Behind the scenes, Spec-Net determines the resolution bandwidth that providesfor the fastest scan time that satisfies the required noisefloor. In order to enable such an API, the SpecNet servermaintains lookup tables that provide scanning times perMHz at various resolution bandwidths, for each Spec-trum Analyzer connected to SpecNet.

6

Page 7: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

10 20 30 40 500

2

4

6

8

10

12

Span in MHz

Sca

nnin

g tim

e in

Sec

onds

N9320B, RBW=3KhzN9320B, RBW=1KhzFieldfox, RBW=3KhzFieldfox, RBW=1Khz

Figure 4: Scanning time versus span

0 1 2 3 4

−1

0

1

2

Resolution Bandwidth in Hz

Sca

nnin

g T

ime

in S

ec

N9320B AgilentN9010A AgilentFieldFox N9912A

10 10 10 10 10

10

10

10

10

D

CA

B

Figure 5: Scanning time per MHz ver-sus resolution bandwidth

0 50 100 150 200−100

−90

−80

−70

−60

−50

−40

−30

Distance in mts

Rec

eive

d po

wer

in d

Bm

Figure 6: Decay in received signalstrength for microphone

Dependence of Scanning Time on Detection Range:Agreater detection range requires using a narrower resolu-tion bandwidth (Section 3). This in turn implies thattoincrease the detection range of a spectrum analyzer onemust accept a longer scanning time.More specifically,from Equations 3 and 4, scanning time depends on de-tection range as

T ∝(

10−P0−∆

10

)

Qdγ (5)

Eqn 5 reveals a crucial aspect of sensing—namely,scan-ning time increases super-linearly with increase in de-tection distance and linearly with span. As described inSection 5.2, SpecNet uses this dependence to efficientlyshare load among spectrum analyzers given a scanningtask.

To account for the deviations in scanning time fromEquation 4 as depicted in Figure 5, given a detectionranged , instead of using Eqn 5, SpecNet uses the lookuptableτ(ρ) to determine the resolution bandwidth that hasthe fastest scanning time per MHz while ensuring a min-imum noise floor ofP0 − 10γ log (d) − ∆. P0 = −50and∆ = 10 are chosen as default unless specified by theuser andγ = 3 is chosen as a conservative estimate.

Evaluation: Given a detection range, SpecNetchooses a resolution bandwidth so as to minimize scan-ning time. How well does the resolution bandwidth se-lection scheme work in practical deployments? A resolu-tion bandwidth chosen too low will take too long to scanwhile a resolution bandwidth chosen too high will notprovide the necessary SNR to allow detection. There areseveral practical considerations. First, the path loss ex-ponent is not a fixed quantity and depends on the natureof the environment. Line of sight and non line of sightpaths offer different path loss characteristics. Further,significant signal attenuation often occurs due to walls inindoor environments.

To answer this question, we tested SpecNet in a realdeployment at the Indian Institute of Science (IISC) cam-pus as depicted in Figure 7 on two different models ofspectrum analyzer. The campus is lush with very dense

trees and this provided an excellent opportunity to eval-uate SpecNet in various scenarios such as Line of Sight(LOS), Non-Line of Sight (N-LOS) and Indoors. In Fig-ure 7, two different models of spectrum analyzer are lo-cated at O, while a wireless microphone was placed atsix different locations, two each in the LOS, NLOS andindoor categories. In each of the six detection experi-ments, the detection range was set to the exact distancebetween the microphone and the spectrum analyzer.P0

was set to -35 dBm which was determined by measur-ing the power of microphone at a distance of 1m. For allour experiments we fixed∆ = 10 dB. In other words,given a detection range, SpecNet must choose the res-olution bandwidth that provides the minimum scanningtime while ensuring that the SNR is a minimum of 10dB. Table 8 provides a summary of the results.

Line of Sight:As seen from Table 8, for both the LOSexperiments and for both spectrum analyzers, SpecNetchose a very conservative noise floor—while the targetSNR is 10 dB, the observed SNR is about 25 dB. Figure 6depicts the decay of signal strength with distance for themicrophone in line of sight. The path loss decay expo-nentγ was estimated to be around 2.5, however, SpecNetconservatively choosesγ = 3.0 in estimating the targetnoise floor. This results in the conservative choice of theresolution bandwidth.Non Line of Sight: For NLOS experiments, the reso-lution bandwidth choice of SpecNet allows for an SNRclose to the target 10dB for both spectrum analyzers in-dicating thatγ was closer to 3 for these experiments.Indoors: When the microphone was keptindoors, how-ever, SpecNet finds itself underestimating the signal de-cay. For example, in both the experiments, the chosenresolution bandwidths allow only SNR of about 6 dBrather than 10 dB.

While choosing a conservative resolution bandwidthensures detection, it results in longer scanning times.What is the loss in scanning time due to the conserva-tive choices of resolution bandwidth? To answer thisquestion, we attempted to detect the microphone at sev-

7

Page 8: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

Figure 7: Occupancy detectionusing a single spectrum analyzer

Distance SNR Loss in Secin mts in dB Scanning Time

Line Of 31 24 28 0.005 0.018Sight 71 25 28 0.016 0.046

Non-Line 124 15 23 0.123 2.23Of Sight 131 17 24 0.123 2.24Indoor 35 16 6 0.005 0.0

Locations 50 0.2 8 0.0 0.0

Figure 8: Performance of Resolution BandwidthSelection in SpecNet; the two columns for SNRand Scanning time represent two different spec-trum analyzers

Figure 9: Occupancy detectionusing two spectrum analyzers

eral different resolution bandwidths without the use ofSpecNet’s resolution bandwidth selection. We then de-termined the optimal resolution bandwidth for each ex-periment that allowed an SNR of 10 dB. Table in figure 8depicts the loss in scanning time in seconds due to thesometimes conservative choice of SpecNet for each ex-periment. As seen from table, the loss in scanning timeis in the range of a few milliseconds most of the timeand up to a few seconds in some cases. Thus, we con-clude that the automatic resolution bandwidth estimationin SpecNet works as intended.

5.2 Occupancy DetectionIn many practical applications of occupancy detection,users are interested in spectrum occupancy in a specificgeographic region. For example, “are there any ongo-ing transmissions in the spectrum range 700 MHz to 800MHz within a 5 km radius of my location?” SpecNetallows users to specify a circular region specified by acenter and a radius for spectrum measurement. Behindthe scenes, SpecNet determines the set of relevant spec-trum analyzers that can be used to accomplish this task.Any spectrum analyzer whose maximum detection range(determined by the lowest resolution bandwidth) over-laps with the user-specified region of interest is deemedrelevant. When there are multiple relevant spectrum ana-lyzers, SpecNet schedules the scanning task load amongthem so as to minimize the overall scanning time.

5.2.1 Load sharing across multiple spectrum ana-lyzers

There are two distinct dimensions along which a scan-ning task can be shared among multiple spectrum ana-lyzers, namely, spectrum and geography.Spectral loadsharing involves different spectrum analyzers scanningcomplementary parts of the spectrum whilegeographicalload sharinginvolves different spectrum analyzers scan-ning different spatial sections of the overall geographi-cal area of interest. SpecNet uses a combination of boththese techniques to minimize overall scanning time.

The Scheduling Metric: If n different spectrum analyz-ers are scheduled to share a certain task load, they scanin parallel and accomplish their respective sub-tasks inparallel. Suppose that theith spectrum analyzer takestime Ti to complete its assigned sub-task. The task isdeemed complete when all spectrum analyzers have ac-complished their respective sub-tasks. Since all spectrumanalyzers are tasked in parallel, the time to task comple-tion is given byT = max (T1, T2, · · · , Tn). The goal ofthe SpecNet task scheduler is to minimize the task com-pletion time. Hence, SpecNet attempts to schedule var-ious spectrum analyzers in such a manner that the max-imum over all sub-task completion tasks is minimizedi.e., in amin-maxmanner.

Spectral Load Sharing: Figure 9 depicts a circularregion of interest and two spectrum analyzers S1 andS2 located at X1 and X2 that can potentially be used toscan the circular region of interest. Suppose that the userneeds to scan fromfmin MHz to fmax MHz. S1 and S2could then share the task such that S1 scans fromfmin

MHz to fmin+Q1 MHz, while S2 scans fromfmin+Q1

MHz to fmax. Such spectral load sharing results in a re-duction in span for the participant spectrum analyzers,thus reducing the overall scanning time.

In the above exampleQ1 must be chosen in a man-ner so that the maximum of the scanning times of S1 andS2 are minimized. In order to detect any transmissionin the entire region of interest, S1 must have a detectionrange equal to|X1O1| = d1 where O1 corresponds to thefarthest possible transmitter location within the region ofinterest from S1 (as depicted in Figure 9). Similarly, thedetection range of S2 should be|X2O2| = d2 in order todetect any transmitter in the region of interest. Letτi bethe minimum scanning time per MHz for spectrum ana-lyzerSi required to achieve a detection range ofdi. Thenthe overall scanning time is given bymax (τ1Q1, τ2Q2),whereQ2 = fmax − fmin − Q1. The optimal choicethen corresponds to when

Q1 : Q2 =1

τ1:1

τ2(6)

8

Page 9: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

Eqn 6 can be easily generalized to spectral partitioningfor several spectrum analyzers. In case of several spec-trum analyzers,the span of spectrum allocated to eachspectrum analyzer is inversely proportional to the mini-mum scanning time per MHz required to scan the circu-lar region of interest.

Geographical Load Sharing: Another way to sharethe load between S1 and S2 (Figure 9) is to partitionthe region of interest geographically by requiring themto scan only parts of the region of interest rather thanthe entire region. In Figure 9, the region is divided intotwo sections by the line|O′

1O′

2|. S1 and S2 are deemed

responsible to scan each of the two sections. The advan-tage of partitioning in this manner is that individual spec-trum analyzers can now use a smaller detection range. Asseen in Figure 9, S1 and S2 use detection ranges equal to|X1O

1| = d′

1< d1 and|X2O

2| = d′

2< d2 respectively.

As described in Equation 5, reduced detection range im-plies reduced scanning time. Thus, each of the spec-trum analyzers takes a shorter time to scan its respectiveregion—thus reducing overall task completion time.

Since every spectrum analyzer scans a different geo-graphical region, each must scan the entire spectrum ofinterestfmin to fmax. If the scanning times per MHzof n geographically task sharing spectrum analyzers aregiven byτ1,τ2,· · ·,τn, then the over all task completiontime will be max (Qτ1, Qτ2, · · · , Qτn). Consequently,in order to minimize over all task completion time, weneedτi = τ , ∀i such thatτ is minimized while ensuringthat the entire area of interest is covered.

First consider the case of homogeneous spectrum an-alyzers. Ensuring equalτi translates to ensuring equalmaximum detection ranges to all the spectrum analyzers.This problem can be optimally solved using Voronoi par-titioning with each spectrum analyzer being treated as aVoronoi site. Each Voronoi cell, then, would correspondto the geographical region assigned to the spectrum an-alyzer. The resolution bandwidth of each spectrum an-alyzer would correspond to the detection range requiredto accommodate the farthest point in its Voronoi cell.

Now consider the case of heterogeneous spectrum an-alyzers. Since the scanning times of different analzyersare different, standard Voronoi partitioning is no longeroptimal. Instead, the SpecNet scheduler performs a mod-ified version of Voronoi partitioning – equal detectiontime partitioning – where proximity is measured in termsof detection time rather than Euclidean distance.

Given the non-linear and discontinuous nature of de-pendence of detection time on detection range (Equa-tion 5), to the best of our knowledge there exists noknown exact solution to this partitioning problem. Con-sequently we resort to solving the problem numerically.The entire area of interest is sampled at several locationsgenerated randomly over the area of interest. Each ran-

dom location is then assigned to its nearest spectrum ana-lyzer in terms of the scan-time required to detect a trans-mitter at that grid point. Note that if a point is locatedbeyond the detection range of a spectrum analyzer, thecorresponding scanning time is set to infinity. Finally,each spectrum analyzer is assigned a resolution band-width by setting its detection range to the farthest ran-dom location assigned to it. The run-time complexity ofthis numerical scheme depends on the number of randompoints chosen. In our implementation we generated ran-dom locations with a density of 1 location per sq meter.For an area of 1 Sq Km (1 × 106 random locations) wefound that geographic partitioning took under a few hun-dred milliseconds on the SpecNet server.

5.2.2 Geographical versus Spectral Load SharingWhich of the above two load-sharing schemes shouldwe use and under what circumstances? To answer thisquestion we describe the results of two experiments con-ducted in the Indian Institute of Science (IISC) campus,depicted in Figures 10a and 10b, scanning from 700-800MHz. In each of the experiments we compared threedifferent scheduling methods. InBest Select,the spec-trum analyzer that can accomplish the task in the shortesttime is selected and used to accomplish the scanning taskwithout any load sharing. We compared Best Select withspectral and geographical load sharing.Experiment I : Two identical spectrum analyzers (bothN9320B Agilent models) were placed 103 m apart at Aand B as depicted in Figure 10a. The region of interestwas specified as a circle of radius 50 m.Experiment II : Two identical spectrum analyzers (bothN9320B Agilent models) were both placed at locationA and the region of interest was specified as a circle ofradius 50 m as shown in Figure 10b.

Experiment Best Select Spectral Geographicalin sec in sec in sec

Experiment I 1054 561 129Experiment II 1054 561 1054

Table 2: Comparison of load sharing schemes

Results of Experiment I : As depicted in Table 2, sincethe spectrum analyzers are identical, the optimal spec-tral load sharing resulted in both the spectrum analyz-ers taking an almost equal amount of time (in practicea slight difference in their noise floors resulted in onespectrum analyzer scanning a bit more spectrum thanthe other). Consequently, spectral partitioning completedabout twice as fast as Best Select. Curiously,geographi-cal load sharing completed almost five times faster thanspectral load sharing. In this particular experiment,Voronoi partitioning resulted in two halves of the circleindicated by regions R1 and R2 in Figure 10a. Conse-

9

Page 10: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

(a) Experiment I (b) Experiment II (c) Experiment III

Figure 10: Comparison of scheduling schemes

quently, the detection range required for each of the spec-trum analyzers in geographical load sharing was smallerthan that required in spectral load sharing. Eqn 5 revealsthat scanning time decreases super-linearly as detectionrange, explaining the 5x gains.Results from Experiment II : As depicted in Table 2,since the spectrum analyzers are co-located and identi-cal, optimal spectral load sharing assigns two halves ofthe span to each spectrum analyzer. Consequently, spec-tral load sharing performs approximately twice as wellas scheduling without load sharing. Here, however, geo-graphical load sharing performs exactly the same as hav-ing no load sharing and takes twice as long as spectralpartitioning! The Voronoi partition for the experimentis indicated by the dashed line separating R1 and R2 inFigure 10b. The maximum detection range required byeach of the two spectrum analyzers to cover their respec-tive partitions is actually almost the same as that requiredto cover the entire circular region of interest. Since boththe spectrum analyzers scan the entire spectrum, one ofthe spectrum analyzers is actually redundant.This ex-periment shows that when spectrum analyzers are veryclosely located, spectral partitioning can be more advan-tageous than geographical partitioning.

5.2.3 Geo-Spectral Load Sharing

Spectral and geographical task sharing, as described inSection 5.2.1, each optimize along a single dimensiononly, namely either frequency (spectral) or area (geo-graphical). As seen from Experiments I and II (Sec-tion 5.2.2), while geographical task sharing may be su-perior to spectral in some scenarios, the opposite may betrue in others. A more general task partitioning schemethen isgeo-spectralpartitioning—where optimization isperformed simultaneously along both the spectral andgeographic dimensions.

Optimal geo-spectral task sharing, where spectrum an-alyzers are assigned a combination of frequency range

and geographical area to minimize overall task comple-tion time while ensuring that the entire area and spec-trum of interest are covered, falls under a class of non-convex optimization problems for which, to the best ofour knowledge, there exists no known exact solution.However, Experiments I and II (Section 5.2.2) revealtwo key observations that allow us to develop a heuristicto enable geo-spectral task sharing. First, geographicalpartitioning typically out-performs spectral partitioningowing to the super-linear relationship between detectionrange and scanning time. Second, when spectrum ana-lyzers are located near each other, spectral partitioningtends to outperform geographical partitioning.

In order to facilitate explanation of our heuristic forgeo-spectral task sharing, we introduce the notion of aspectrally sharing cluster (SSC) of spectrum analyzers –a set of spectrum analyzers that share their scanning tasksspectrally over the same geographical region (possiblyover only a small part of the entire region of interest). AnSSC can be replaced by a single representative VirtualSpectrum Analyzer (VSA). The distance of a locationfrom this VSA is then the maximum over the distancesall spectrum analyzers in the corresponding SSC, sinceeven the farthest constituent spectrum analyzer must de-tect occupancy at this location. The occupancy detectiontime for any location using the VSA is determined by op-timally partitioning the spectrum among the constituentspectrum analyzers in the corresponding SSC (as de-scribed in Section 5.2.1). The union of two SSCs yieldsa VSA comprising the union of all constituent spectrumanalyzers in both SSCs.

Our geo-spectral task sharing heuristic forn spectrumanalyzers is initialized by creatingn SSCs, each com-prising a single distinct spectrum analyzer and perform-ing geographical task sharing on them. The algorithmis a greedy iterative scheme, where at each step, pair-wise SSC unions are considered in order to determine ifoverall task completion time can be reduced. In order

10

Page 11: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

Model Frequency Range RBW stepsAgilent N9320B 9 KHz- 3 GHz 11 (10 Hz - 1 MHz)Agilent Fieldfox N9912A 5 KHz - 6 GHz 36 (10 Hz - 1 MHz)Agilent EXA N9010A 9 KHz - 26.5 GHz 62 (1 Hz - 8 MHz)Agilent PSA E4440A 3 Hz - 26.5 GHz 68 (1 Hz - 8 MHz)Hewlett-Packard E4403B 9 KHz- 3 GHz 15 (10 Hz - 5 MHz)

Table 3: Spectrum analyzer models used in SpecNet

to determine overall task completion time given a set ofSSCs, each SSC is replaced by its corresponding VSAand geographical partitioning is performed on this set ofVSAs. The SSC pair union that results in the maximumreduction in overall task completion time is accepted forthe next iterative step. The procedure continues until nofurther opportunities to unite SSCs exist that can reducethe overall task completion time. In the worst case, thealgorithm terminates inn steps, as at each step the num-ber of SSCs decreases by 1. As, at each step all pairsof SSCs must be explored, the worst-case running timeof this algorithm isO(n3). Since spectral sharing typi-cally yields benefits only when two spectrum analyzersare “close”, in practice the running time can be reducedto O(n2) by considering a fixed number of closest SSCsrather than all possible SSC pairs at each step.

Figure 10c depicts an example of Geo-Spectral loadsharing. The scanning frequency range was chosen as700 MHz to 800 MHz. Spectrum analyzers S1, S2 andS3 are located at A, B and C respectively. S3 (Fieldfox)is a much faster spectrum analyzer compared to S1 andS2 (both N9320B Agilent). The circular region of in-terest is geographically partitioned into two regions R1and R2. S1 and S2 scan region R1 using spectral loadsharing while S3 scans the entire spectrum in geographicregion R2. To compare the performance of geo-spectralpartitioning we also tried scheduling using the purely ge-ographic and spectral schemes. Geographic load sharingtook 1205 seconds; spectral load sharing 1118 seconds;and geo-spectral load sharing only 526 seconds.

In summary, load sharing across multiple spectrumanalyzers is a challenging problem. SpecNet’s Geo-Spectral load sharing algorithm is able to achieve 2-5Xspeedup compared to using a single spectrum analyzer inour experiments.

6 ImplementationThe SpecNet platform is accessible at [15] via a web ser-vice API. It consists of amaster serverthat manages sev-eralslave servers.

6.1 Master ServerThe master serverperforms two major functions—first, it exposes an API (Section 4) which the Spec-Net clients/users utilize to write programs and second,it manages all theslave serversconnected to it.

As mentioned in Section 4, the API is exposed asXML-RPC calls to allow access from a wide-range of

platforms. Themaster serverimplements a push-basedmodel and thus, TCP connections to the slave servers arekept persistent using heartbeats. The current implemen-tation of the master server is centralized and consists ofapproximately 5000 lines of C# code. However, parti-tioning of the slave servers along geographic boundariesis possible, thus allowing distributed execution acrossmultiple master servers if scalability concerns arise.

One of the key challenges in managing slave serversis dealing with the heterogeneity of spectrum analyz-ers. As shown in Table 3, spectrum analyzers differin their supported resolution bandwidth steps and fre-quency range of operation. Further, as discussed earlier,scan times (Figure 5) and noise floor (Figure 2) also varyacross spectrum analyzers. SpecNet accounts for each ofthe above variations through a novel, automatic remotebenchmarking process, described in detail in [8], that al-lows the master server to quickly build up a lookup tableof scan times and noise floor values at different resolu-tion bandwidth steps for each of its slave servers.

6.2 Slave ServersThe slave serveris a small piece of software that runson a desktop or laptop that are directly connected to thespectrum analyzer. The main task of theslave serveris toact as a bridge between the spectrum analyzer connectedto it and themaster server. To avoid issues with NAT/-firewalls, theslave serverinitiates an outbound TCP con-nection on port 22 to themaster server. It also connectsto the local spectrum analyzer through VISA. Once con-nected, it translates commands from the master serverto the spectrum-analyzer-specific-commands, runs spec-trum scans, and returns the results.

In order to support multiple platforms, we have im-plemented the slave server in Python in approximately1000 lines of code. We use the PyInstaller [13] packageto generate platform specific (Windows & Linux as oftoday) executables.

7 ApplicationsIn this section, we present three example user applica-tions on the SpecNet platform that highlight the simplic-ity of building a networked, geo-distributed system ofspectrum analyzers.

7.1 Remote Spectrum MeasurementIn this section we demonstrate how SpecNet can be usedto make spectrum measurements anywhere in the world.The user code fragment written in Python is shown inListing 1. One simply needs to connect to the SpecNetserver, identify available devices in the region of interestand then use theGetPowerSpectrum() API to ob-tain power values in the desired parts of the spectrum.This data can be used, for example, to compare avail-able free spectrum in different parts of the world or as

11

Page 12: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

(a) Bangalore, India (b) Edinburgh, UK (c) Stony Brook, USA

Figure 11: Spectrum occupancy in various geographic regions

traces for evaluation of new white-space protocols suchas WhiteFI [3].

Listing 1: Code snippet for remote measurement.# connect to SpecNet serverapiServer = xmlrpclib.ServerProxy(

"http://bit.ly/SpecNetAPI",allow_none=True);

# Find devices from region of interestdevices = APIServer.GetDevices(

[55.944350, -3.187745, 500.0], None);for device in devices:

power_vals = APIServer.GetPowerSpectrum(device[’ID’], Fs, Fe, 1e3);

At the time of writing, in addition to a few spectrumanalyzers in Bangalore (India), we had one spectrum an-alyzer in Stony Brook (USA) and one in Edinburgh (UK)that were connected to SpecNet. Figure 11 shows thespectrum measurements at these three sites located inthree different continents, demonstrating the world-widereach of the SpecNet platform. As seen from Figure 11,spectrum measurements at each of these locations acrossthe world clearly identify the well-known transmitterssuch as FM, TV,etc., and the available spectrum whites-paces.

7.2 Primary CoverageThe next example application determines the spatial foot-print of a TV transmitter located within a large city. Thismay be useful for whitespace network operators in plan-ning their deployments. Determining the footprint of aTV transmitter invariably requires knowledge of its lo-cation. While accurate databases of these locations areavailable in countries such as the US, such a databaseis not readily available in many developing countries, in-cluding India. We tried to obtain this information by con-tacting the Indian government agencies via postal mail(under the Right-to-Information Act). While we receivedinformation on about 150 TV tower locations (out of anestimated 700 towers), we found many inaccuracies inthe data. For example, one tower’s location was mappedwell into a bay! Upon analyzing this TV tower data for

five cities (ground truth based on Wikimapia), we foundlocalization errors to range between 2-83 km (average22 km, median 5 km). We now highlight how SpecNetcould be used as a low-cost solution to improve the cov-erage and accuracy of the existing TV tower database.

Listing 2: Code snippet for primary coverage.# Get Spectrum Analyzers in regionarea_of_interest = [13.02236,77.56558, 100000.0];devices = APIServer.GetDevices(area_of_interest, None);

# Get Power Spectrum Valuesfor device in devices:

power_vals = APIServer.GetPowerSpectrum(device[’ID’], Fs, Fe, 1e3);

power_vals.append(average(power_vals));observation_locations.append([device[’latitude’],

device[’longitude’]]);# Localizeif number_of_locations < 5

localization_res = APIServer.LocalizeTransmitter(area_of_interest, observation_locations,power_values, ’LDPL’, [-35.0, 3.0]);

elselocalization_res = APIServer.LocalizeTransmitter(area_of_interest, observation_locations,power_values, ’LDPL’, None);

# Interpolatepow = APIServer.FindPowerAtLocation(new_location,[localization_res], ’LDPL’, None);

The code snippet for this application is shown in List-ing 2. The region of interest is identified and powerspectrum values from devices in that region are ob-tained. Then the TV transmitter is localized using theLocalizeTransmitter() API. Finally, a path lossmodel is used to build the spatial footprint of the TVtransmitter. The APIFindPowerAtLocation() isthen used to determine the received power at desired newlocations.

Bangalore city has one terrestrial TV transmitter. Forthe purpose of evaluation in a large-scale setting, weneeded data from multiple spectrum analyzers at differ-ent locations in the city. Also, the accuracy of the lo-calization API depends on the number of measurementlocations. However, at the time of evaluation we onlyhad access to four slave servers inside Bangalore. To get

12

Page 13: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

around this problem, we modified the master server toallow mobile slave servers to connect to it. This enabledus to gather data from multiple locations in the city us-ing just one mobile slave server by driving on the majorroads and highways of the city. Figure 12 depicts the lo-cations in the city where measurements were collected.

Figure 13 shows the TV tower localization error mean,25th and 75th percentile (y-axis) as the number of mea-surement locations are varied (x-axis). To generate eachpoint in Figure 13, twenty subsets of locations were ran-domly picked from the set of all measurement locations.We see that even when the number of measurement loca-tions is between 5-10, the mean localization error variesbetween 2.5-3.8 km. This demonstrates that even by us-ing measurements from a small number of spectrum an-alyzers in each city, the gaps and inaccuracies in the gov-ernment database can be corrected significantly.1 As thenumber of measurement locations is increased to 100,we see that the localization error goes below 0.5 km.While it is unrealistic to assume that SpecNet would haveover 100 spectrum analyzers in each city, an alternativeis to have spectrum analzyers that are mobile as part ofSpecNet—we plan to look into this in the future.

Figure 14 shows the mean, 25th and 75th percentile er-rors in signal strength predictions obtained by using theinterpolation API. The mean signal error varies between6 to 8 dB, similar in magnitude to the expected signalvariations due to the environment.2 Thus, using SpecNetto calculate coverage of a primary transmitter can pro-vide a good estimate to an operator.

7.3 SpectrumCopOur final application demonstrates the two key featuresof SpecNet: 1) simplicity of writing a complex real-timeapplication through the use of high-level APIs and 2) ef-ficiency of SpecNet in scanning a wide frequency rangewhen more than one spectrum analyzer is available, inorder to detect violators quickly.

The goal of this application is to quickly detect a staticnarrow-band transmitter within a certain geographical re-gion of interest and then localize the transmitter. Thetransmitter can be operating anywhere within a wide fre-quency range. This application is especially useful for,say, government officials to monitor unauthorized trans-mitters in a certain band.

The code snippet for this application is shown in List-ing 3. The application uses theGetOccupancy()APIfor the transmitter detection part, which basically tasks

1Note that we used basic triangulation to locate the T.V tower, itmay be possible to achieve a higher accuracy through more sophisti-cated localization schemes proposed in literature.

2In our implementation we used a simple log distance path lossmodel. The use of more sophisticated path loss models such asthosethat use terrain information may provide more accurate predictions

one or more spectrum analyzers in the vicinity to per-form scans at an appropriate resolution bandwidth andfrequency range. The result of this API call is an occu-pancy list, which indicates frequencies that have ongoingtransmissions. A more detailed spectrum measurementis then performed only in the region around the detectedfrequency. The results of the scan are then fed to theLocalizeTransmitter() API to determine the lo-cation of the transmitter.

Listing 3: Code snippet for SpectrumCop.# Find occupancy in desired regionbound = [lat, lng, radius];options = [lat, lng, radius, min_power_to_detect];occupancy_list = APIServer.GetOccupancy(bound,start_frequency, end_frequency, min_power_detect);

# Get power spectrum for transmitter frequencyfor occupancy in occupancy_list:

if (occupancy[’Occupied’] == 1):new_f_start = occupancy[’Frequency’] - 250e3;new_f_end = occupancy[’Frequency’] + 250e3;devices = APIServer.GetDevices(bound, None);for device in devices:

locs.append([device[’Latitude’],device[’Longitude’]]);

results[device[’ID’]] = APIServer.GetPowerSpectrum(device[’ID’],new_f_start, new_f_end,options); # Actual call in new thread.

break;

# Localize transmitter based on power measurementsfor r in results:

powers.append(max(r));print APIServer.LocalizeTransmitter(bounds, locs,powers, ’LDPL’, [P, 3.0]);

Evaluation: We used this application to detect and lo-calize a microphone in a region of 75 meters radius inIISc. The setup consisted of 3 spectrum analyzers thatwere placed near 3 corners of the region of interest. Themicrophone transmits in a 250 KHz narrow band and thefrequency range of the search space is set to 3 MHz. TheSpectrumCop application detected the microphone per-fectly and localized it to within 20 meters of the actuallocation. The entire process of detecting and locating themicrophone took 165 seconds.

8 LimitationsFirst, spectrum analyzers are expensive equipment thatresearchers have procured for specific needs. It may notbe easy to convince owners to volunteer this resource tothe community, especially during the bootstrapping stagewhere the benefit of the platform is not clear to the owner.To date, we have approached a few of our acquaintancesand have observed mixed results. In the long run, per-haps governments may be willing to sponsor a set ofspectrum analyzers dedicated for SpecNet use.

Second, spectrum analyzers are typically used insidelabs that may be in basements or deep inside buildings.Our measurements indicate that buildings can add 5-20dB of attenuation (20dB in the basement for FM/TV

13

Page 14: SpecNet: Spectrum Sensing Sans Fronti`eres...Cooperative Sensing & Sensor Networks. Cooperative sensing is a well explored topic [11, 16, 6]. The main focus of these papers is detecting

Figure 12:Measurement locations

0 10 20 30 40 50 60 70 80 900

1

2

3

4

5

# Training Points

Loca

tion

Err

or (

KM

)

Mean

25th %ile

75th %ile

Figure 13:TV Tower Localization

10 20 30 40 50 606

6.5

7

7.5

8

8.5

9

# Sensing Locations

Pre

dict

ion

Err

or (

dB)

Mean

25th %ile

75th %ile

Figure 14:Interpolation results

transmissions) which restricts the detection range of theanalyzer. If the owner can be convinced to mount the an-tenna near a window, the utility of the spectrum analyzercan be significantly increased. To minimize variabilitydue to antenna placements, SpecNet can choose to onlyinclude spectrum analyzers with unobstructed antennas.

Finally, we have not considered the privacy/securityimplications of allowing remote scanning of the spec-trum. For now, SpecNet only exposes the power valuesmeasured from the spectrum scan. Thus, it prevents di-rect security and privacy threats such as fine-grained traf-fic monitoring or user tracking. Advanced spectrum ana-lyzers can provide time domain (I/Q) samples of the scanand support for these features in SpecNet would requiresophisticated controls for privacy and security.

9 ConclusionAfter the FCC ruling in the U.S. allowing opportunisticaccess to portions of licensed frequency bands, there hasbeen tremendous interest in both academia and indus-try in developing novel wireless techniques and productsthat take advantage of the new rules. A key requirementfor enabling this new ecosystem is a measurement infras-tructure that can provide real data. SpecNet fulfills thiscritical need by enabling geographically distributed spec-trum analyzers to be networked, thereby allowing bothreal-time remote measurements as well as collection ofhistoric spectrum usage data. Furthermore, SpecNet ex-poses an API that allows users to build interesting dis-tributed sensing applications like SpectrumCop with rel-ative ease. There is still a lot of work left to achieve ourgoal of building a planet-scale networked spectrum an-alyzer testbed, but we believe SpecNet provides a goodbase to build upon.

10 AcknowledgementsWe thank our shepherd, Brad Karp, and the anony-mous reviewers for their constructive comments. Wealso thank Arsham Farshad, Mahesh Marina, and Akshay

Athalye for helping us conduct remote spectrum mea-surements.

References[1] http://www.emulab.net/.[2] A MMARI , H., AND DAS, S. Promoting heterogeneity, mobility,

and energy-aware voronoi diagram in wireless sensor networks.IEEE Transactions on Parallel and Distributed Systems 19, 7 (jul.2008), 995 –1008.

[3] BAHL , P., CHANDRA , R., MOSCIBRODA, T., MURTY, R.,ANDWELSH, M. White space networking with wi-fi like connectivity.ACM SIGCOMM(2009).

[4] CHEN, D., YIN , S., ZHANG, Q., LIU , M., AND L I , S. Miningspectrum usage data: a large-scale spectrum measurement study.In ACM MobiCom(2009).

[5] CHIANG , R., ROWE, G., AND SOWERBY, K. A quantitativeanalysis of spectral occupancy measurements for cognitiveradio.In Vehicular Technology Conference(2007).

[6] GANESAN, G., AND L I , Y. Cooperative spectrum sensing incognitive radio networks. InDySpan(2005), IEEE.

[7] I SLAM , M., KOH, C., OH, S., QING, X., LAI , Y., WANG,C., LIANG , Y.-C., TOH, B., CHIN , F., TAN , G., AND TOH,W. Spectrum survey in singapore: Occupancy measurements andanalyses. InCrownCom(2008).

[8] I YER, A., CHINTALAPUDI , K., NAVDA , V., RAMJEE, R., PAD-MANABHAN , V., AND MURTHY, C. Specnet: Spectrum sensingsans frontieres. Tech. rep., Microsoft Research, Feb 2011.

[9] M CHENRY, M. A. NSF Spectrum Occupancy MeasurementProject Summary. InShared Spectrum Company Report(2005).

[10] MCHENRY, M. A., TENHULA , P. A., MCCLOSKEY, D.,ROBERSON, D. A., AND HOOD, C. S. Chicago spectrum oc-cupancy measurements & analysis and a long-term studies pro-posal. InTAPAS(2006).

[11] M ISHRA, S. M., SAHAI , A., AND BRODERSEN, R. W. Co-operative Sensing Among Cognitive Radios. InICC (2006),pp. 1658–1663.

[12] http://www.planet-lab.org/.[13] PY INSTALLER. http://www.pyinstaller.org/.[14] SCPI. http://www.ivifoundation.org/docs/SCPI-99.PDF.[15] SPECNET WEBSITE. http://bit.ly/SpecNet.[16] UNNIKRISHNAN, J., AND VEERAVALLI , V. Cooperative spec-

trum sensing and detection for cognitive radio. InGLOBECOM(2007), IEEE.

[17] V IERA, M., V IERA, L., RUIZ , L., LOUREIRO, A., FERNAN-DES, A., AND NOGUEIRA, J. Scheduling nodes in wireless sen-sor networks: a voronoi approach. InLCN (2003), IEEE.

[18] WERNER-ALLEN , G., SWIESKOWSKI, P., AND WELSH, M.MoteLab: A Wireless Sensor Network Testbed. InIPSN(2005).

[19] WILLCOMM , D., MACHIRAJU, S., BOLOT, J., AND WOLISZ,A. Primary Users In Celular Networks : A Large Scale Measure-ment Study. InDySPAN(Oct 2008).

[20] YANG, L., HOU, W., CAO, L., ZHAO, B. Y., AND ZHENG,H. Supporting demanding wireless applications with frequency-agile radios. InNSDI (2010), USENIX.

14