Interference Recorder Script 1.0
===============================================================================

This script takes in a filename as in input and opens a gui which allows
the user to adjust the frequency, bandwidth, gain, and record time. Upon
closing the GUI, the script will automatically begin recording for the
specified time.

Usage:
./bandpass_recorder.py filename

-------------------------------------------------------------------------------
Requirements:
- USRP Software Defined Radio
- GNURadio and UHD Driver
- "bandpass_recorder_file.py" and "bandpass_recorder_gui.py"

-------------------------------------------------------------------------------
Changing radio behaviour:
The recorder behaviour can be changed by modifying "bandpass_recorder_file.py"
or "bandpass_recorder_gui.py" in 2 ways:
1) Editing the files directly
2) Opening "bandpass_recorder_file.grc" or "bandpass_recorder_gui.grc"
   with gnuradio-companion and regenerating the python files.

Note: the output of bandpass_recorder_file.py must be recorder.out as
this is used by the script to specify the output filename. The script
will output the data stream to recorder.out and it will then be renamed
to the specified filename.

===============================================================================
Signal Analysis Tool

"signal_analyzer.py" can be used to analyze recordings in order to extract
parameters from the data files created by the recorder script.

Use "./signal_analyzer.py -h" to view options

Note that large window/display values can crash your system as they are very
memory intensive. Window values should be less than or equal to 1e8 and
display values should be less than or equal to 1e7.
