Signal Generator Script 1.0
===============================================================================
This script takes command line arguments to broadcast the sum of various signals
with differing strengths. The script takes in arguments by specifying a type of
signal to broadcast followed by the corresponding parameters for that signal.
This script requires the user to specify at least 1 signal in order to operate.

The script currently supports 4 types of signals:

1) It can broadcast a signal from a raw data file which is generated by a file
  source in GNURadio and by the bandpass_recorder.py script included in this
  project.
2) Periodic - Generates a single sine wave at a specified offset from the
  center frequency and should show up as a spike in the fourier transform.
3) Wifi - Mimics a wifi signal. The type-specific signals like this require
  that a config file be specified. The parameters of this signal can be
  generated using signal_analyzer.py. It also requires a signal profile stored
  in a .npy file.
4) Bluetooth - Mimics a Bluetooth signal. See Wifi for description.

Usage: signal_generator.py [options]

To print usage info use "./signal_generator.py -h" option.

Note: If you are playing from a file and are getting Underruns (U), try moving
the file to local storage.

A set of useful recordings and signal profiles have been placed at
"/google/data/rw/teams/gfiber/sdr/recordings" that can be used for testing or
other purposes.
