This block estimates peaks of a given FFT spectrum as tagged stream. Multi peak detection is implemented with the OS-CFAR algorithm. The algorithm uses around the cell under test (CUT) on each side samp_compare samples to estimate the noise floor. This relative threshold is defined by the bin of the vector within the sorted samp_compare samples. A standard value is rel_threshold = 0.78. The value of this bin is multiplied by mult_threshold and compared with the CUT. samp_protect samples are a protected are which is not used for acquiring compare samples. If consecutive bins are detected as valid peaks it is possible to merge these detections with merge_consecutive = true. Output data are f32vectors with the information of frequency, power and phase. The identifiers (symbols) are 'frequency', 'power' and 'phase'.
More...
#include <os_cfar_c.h>
|
static sptr | make (int samp_rate, int samp_compare, int samp_protect, float rel_threshold, float mult_threshold, bool merge_consecutive=true, const std::string &len_key="packet_len") |
| Return a shared_ptr to a new instance of radar::os_cfar_c.
|
|
This block estimates peaks of a given FFT spectrum as tagged stream. Multi peak detection is implemented with the OS-CFAR algorithm. The algorithm uses around the cell under test (CUT) on each side samp_compare samples to estimate the noise floor. This relative threshold is defined by the bin of the vector within the sorted samp_compare samples. A standard value is rel_threshold = 0.78. The value of this bin is multiplied by mult_threshold and compared with the CUT. samp_protect samples are a protected are which is not used for acquiring compare samples. If consecutive bins are detected as valid peaks it is possible to merge these detections with merge_consecutive = true. Output data are f32vectors with the information of frequency, power and phase. The identifiers (symbols) are 'frequency', 'power' and 'phase'.
- Parameters
-
samp_rate | Sample rate |
samp_compare | Sample to be compared with each other |
samp_protect | Samples which are protected and not used for peak detection |
rel_threshold | Relative threshold |
mult_threshold | Multiplier threshold |
merge_consectuive | Toggle merging consecutive detected peaks |
len_key | Packet length key for tagged stream |
◆ sptr
◆ make()
static sptr gr::radar::os_cfar_c::make |
( |
int |
samp_rate, |
|
|
int |
samp_compare, |
|
|
int |
samp_protect, |
|
|
float |
rel_threshold, |
|
|
float |
mult_threshold, |
|
|
bool |
merge_consecutive = true , |
|
|
const std::string & |
len_key = "packet_len" |
|
) |
| |
|
static |
◆ set_mult_threshold()
virtual void gr::radar::os_cfar_c::set_mult_threshold |
( |
float |
inp | ) |
|
|
pure virtual |
◆ set_rel_threshold()
virtual void gr::radar::os_cfar_c::set_rel_threshold |
( |
float |
inp | ) |
|
|
pure virtual |
◆ set_samp_compare()
virtual void gr::radar::os_cfar_c::set_samp_compare |
( |
int |
inp | ) |
|
|
pure virtual |
◆ set_samp_protect()
virtual void gr::radar::os_cfar_c::set_samp_protect |
( |
int |
inp | ) |
|
|
pure virtual |
The documentation for this class was generated from the following file: