Recording range-resolved CFAR-processed data
This application can be used as a proof-of-concept for many surface or profile monitoring applications. As provided, it is not intended to form part of an industrial process monitoring system, but a demonstration tool to illustrate the performance that can be achieved. The source code for this application is available here and can be modified, or used as a basis for a customer solution.
This command line tool connects to a radar and will capture the raw “FFT” radar data output for a defined number of revolutions of the radar’s antenna. The software processes the received data through a CA-CFAR function to identify the key features of the radar’s field of view. Once this is done, a subsequent processing step resolves the data associated with each feature to return a single range measurement value associated with each of the radar’s 400 azimuths around its' complete field of view.
The zip file above is built for linux targets, the exe file is built for Windows.
Once extracted, and configured to be executable, the command line application is called as per the example screenshot below:
These two arguments set the address of the connected radar (or the address of a running radar data playback tool).
argument (long) | argument (short) | Detail |
---|---|---|
--ipaddress | -i | IP address of radar - default = "127.0.0.1 |
--port | -p | TCP port of radar - default = 6317 |
This argument instructs the tool how many radar rotations of the radar should occur before the output is written to a single file
argument (long) | argument (short) | Detail |
---|---|---|
--rotations | -r | Rotations to record", default = "5" |
This argument gives the tool instruction about the end of the filename created to contain the results
argument (long) | argument (short) | Detail |
---|---|---|
--filetag | -f | File tag - default = "targets" |
This argument defines the window for the CA-CFAR function in units of bins. This value should be larger than the size of features of interest within the radar data. The impact of this value within the CFAR processing steps can be visualised through the example spreadsheet accessible here.
argument (long) | argument (short) | Detail |
---|---|---|
--windowsize | -w | CFAR window size |
This argument defines by how much (in power terms) a peak in the radar’s output has to exceed the local average in order to be considered as a valid CFAR data point.
argument (long) | argument (short) | Detail |
---|---|---|
--threshold | -t | Threshold |
This argument defines a distance (in bins) for which radar data (measured from the centre) should be ignored. It is appropriate to set this to a value just smaller than the minimum range of interest.
argument (long) | argument (short) | Detail |
---|---|---|
--minbin | -b | CFAR minimum bin |
This argument will usually be set to a value of “1” for profile monitoring, but it is just a measure of how many CA-CFAR data blobs (in range) are of interest. If we set this value to 1, only the first (closest) qualifying data will be passed through.
argument (long) | argument (short) | Detail |
---|---|---|
--maxpeaks | -m | CFAR maximum peaks |
This argument can be used to define the sub-resolution function applied in order to return the most accurate range value possible for a contiguous group of eligible points.
argument (long) | argument (short) | Detail |
---|---|---|
|
| 0= Navtech “NavMode” range subresolution |
A command line tool that can be used to losslessly record (and replay) raw radar data is accessible here:
https://navtechradar.atlassian.net/wiki/x/1gAvig
There are Linux , Windows & Apple versions of this command-line tool; it plays back raw radar data as a network stream that appears as a real radar to any connected applications.