GitXplorerGitXplorer
s

bladeRF_power

public
7 stars
0 forks
2 issues

Commits

List of commits on branch master.
Unverified
49d3b8ca751276b929a40c9b45ec652d52034b68

Add GPLv2 license

sstaticfloat committed 9 years ago
Unverified
8eee6aee5d7bce23c6d69e30e37629931f2d5f53

Look only at a subsection of the FFT output to combat DC offsets and leaky antialiasing filters

sstaticfloat committed 9 years ago
Unverified
8f749e960c8313ea955489cbfba5c39161c6a9a9

Fix min/max confusion for real

sstaticfloat committed 9 years ago
Unverified
2d3620d284014bae7992f70f08d5241bbf6fde0d

Fix min/max confusion, and tweak docs a little

sstaticfloat committed 9 years ago
Unverified
bd39fde32fa8960a8cfc72f4b3f23900c50659ca

Document `--demean` option properly.

sstaticfloat committed 9 years ago
Unverified
a9e5e6b47abf630338d7a0d7ae29fcddccfc6be0

Further refinements and improvements

sstaticfloat committed 9 years ago

README

The README file for this repository.

bladerf_power.py

Similar in spirit to rtl_power, use this doohickey to do spectrum surveys using your fancy bladeRF!

To install easily, run ./install.sh build. I tried to get this to work inside of a virtualenv but failed, as pybladeRF uses cffi which searches for libbladerf at runtime, and the virtualenv isolates itself from the rest of the system at runtime. I am using my own, patched fork of pybladeRF and a whole lot of spaghetti code. This was an afternoon hack, so if there are features you want (most notably, there is no "integration time" option, so all output looks really noisy) feel free to open issues and pull requests.

Example usage (after installation):

$ ./bladerf_power.py 300M:3.7G:10k -e 4h -f output.csv
$ ./heatmap.py output.csv output.png

Note that wide, dense sweeps of the spectrum such as the one described above can take a lot of diskspace; use -z to gzip-on-the-fly to save those precious, precious bits. As an anecdotal example, the above command generates a 5.6GB .csv file which compresses down to a 1.6GB .csv.gz file. Either way, heatmap.py takes over two hours to crank through that beauty on my machine.

Note that if you see a bunch of scary, strong lines every 28MHz, this probably means that you need to calibrate your bladeRF. Also try adding the --demean option to bladerf_power.py.