Skip to content
Snippets Groups Projects
Michael Rademacher's avatar
Michael Rademacher authored
b9885877
History

Source Code for the Paper "Quantifying the Spectrum Occupancy in an Outdoor 5 GHz WiFi Network with Directional Antennas"

Bibtex and Link:

Will be added after the conference.

Getting Started

Important Information

This Softare ist just a proof of concept for the paper linked above. You will find:

  • Global variables which you need to adapt
  • Hard-code filesystem links
  • Redudant code
  • undocumented Source Code

Besides that, it just works. Please write a mail to michael.rademacher @h-brs.de for assistance.

Prerequisites

You need a current dev version of libnl3. After installting this lib, find the location. A common folder is:

/usr/include/libnl3/

please addapt the makefile if the location is different in your installation. Perhaps I will move to autotools in a further release.

In addition, for the plotting tools there is a

Building

Clone this repository and change into the folder. Afterwards, type

make

to build the program.

If everything works as expected, there should be

ChannelEstimation

binary in your current folder.

**Important! **

There are some paramaters hard-coded in the binary at the moment. Most importantly, the channel list. Please have a look at the top of channel_estimation.c and change it based on your needs.

Running the binary

Run the binary with two parameters:

  • The WiFi Interface (needs to be up! ifconfig wlan0 up)
  • The sleep time between scanning two channels.
./ChannelEstimation wlan0 0 >> YOURLOGFILE.log

If you want to run the binary for an extended amount of time, on several machines, we provide an example script in tools/chest.sh. This script uses ssh to run the binary and store the results.

Processing and Plotting

First, use the following bash script in the tools folder. Important, you need change the filename located in the top of this script.

store_pre_processing.sh

This script splits the log files into a SCAN and SURVEY log (csv files and adds the needed header. From this point on, you are free to use your own processing and plotting tools. The log files we have used in the paper can be found in the thbed/v96long/ folder.

If you want to use our plotting and processing tools, we provide a short example in the following.

We make heavily use of the python pandas framework to conduct the processing of the data. Since using a csv file is not the best and fastest way to store the data, we first convert the csv file into a h5 table which can be better processed by pands.

python store_processing.py -i ../lab-verification/

you will get a store.h5 file in the lab-verification folder which contains all the data from the csv file.

Next, we will work with with this store by using a simple plotting script.

python line_time_lab.py -i ../lab-verification/

you will get a .pdf plot of the data in the plot folder.

Please read the plotting scripts for additional details or write me a mail.