Using a virtual environment is highly recommended.
-
Create a Virtual Environment:
python -m venv .venv
-
Activate the Virtual Environment
Windows:
.venv\Scripts\activate
macOS/Linux:
source .venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
To run the Flask web app, run:
python app.py
The application will be available on the default port 5000.
Backend interface to generate radar waveforms with variable parameters and output formats.
Any numeric value may be expressed as an integer, float, or in scientific notation (e.g. 2.2e3
or 4.5e-6
) and it will be converted accordingly.
Note that the server will not return a warning or error when truncating a float to an int.
The following parameters are used for all API endpoints:
Name | Type | Required | Description |
---|---|---|---|
sample_rate | int | Yes | Waveform sample rate in hertz |
form | string | Yes | Output format either sc16 , png , graph , or threeDim |
All of the following endpoint-specific parameters are required.
Requests missing any parameter will return an HTTP 400 Bad Request
. Available endpoints include:
Generates a Continuous Wave of constant amplitude and frequency.
Name | Type | Description |
---|---|---|
signal_length | float | Length of output signal in seconds |
Generates a Linear Frequency Modulated pulse.
Name | Type | Description |
---|---|---|
fstart | float | Starting frequency in hertz |
fstop | float | Ending frequency in hertz |
signal_length | float | Length of output signal in seconds |
Generates a Binary Phase-Shift Keying pulse.
Name | Type | Description |
---|---|---|
bit_length | float | Symbol duration in seconds |
num_bits | int | Number of bits to use when randomly generating a maximal length tap sequence |
amplitude | int | Maximum waveform magnitude |
pri | float | Time interval between two adjacent pulses in seconds |
num_pulses | int | Number of pulses to generate |
pulse_reps | int | Repetitions within each pulse |
Name | Type | Description |
---|---|---|
cutoff_freq | float | Pass filter edge in hertz |
num_taps | int | Number of taps to apply to the filter window |