GNU Radio Radar Toolbox
gr::radar::os_cfar_2d_vc Class Referenceabstract

This block estimates peaks of a given matrix. A matrix can be represented as a combination of vectors and tagged streams. Input has to be a matrix with linear scaled values (NOT logarithmic scaled!). Used algorithm is a 2D OS-CFAR algorithm. The algorithm uses around the cell under test (CUT) on each side samp_compare samples to estimate the noise floor. samp_protect is a protected are around the CUT which is not used for acquiring compare samples. Index 0 of a input vector refers to x axis properties and index 1 refers to y axis properties. The 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. If the magnitude square of the CUT is greater than the threshold the matrix item is accepted. Used identifiers (symbols) for data are 'axis_x', 'axis_y' and 'power'. More...

#include <os_cfar_2d_vc.h>

Inheritance diagram for gr::radar::os_cfar_2d_vc:
gr::radar::os_cfar_2d_vc_impl

Public Types

typedef std::shared_ptr< os_cfar_2d_vcsptr
 

Public Member Functions

virtual void set_rel_threshold (float inp)=0
 
virtual void set_mult_threshold (float inp)=0
 
virtual void set_samp_compare (std::vector< int > inp)=0
 
virtual void set_samp_protect (std::vector< int > inp)=0
 

Static Public Member Functions

static sptr make (int vlen, std::vector< int > samp_compare, std::vector< int > samp_protect, float rel_threshold, float mult_threshold, const std::string &len_key="packet_len")
 Return a shared_ptr to a new instance of radar::os_cfar_2d_vc.
 

Detailed Description

This block estimates peaks of a given matrix. A matrix can be represented as a combination of vectors and tagged streams. Input has to be a matrix with linear scaled values (NOT logarithmic scaled!). Used algorithm is a 2D OS-CFAR algorithm. The algorithm uses around the cell under test (CUT) on each side samp_compare samples to estimate the noise floor. samp_protect is a protected are around the CUT which is not used for acquiring compare samples. Index 0 of a input vector refers to x axis properties and index 1 refers to y axis properties. The 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. If the magnitude square of the CUT is greater than the threshold the matrix item is accepted. Used identifiers (symbols) for data are 'axis_x', 'axis_y' and 'power'.

Parameters
vlenInput vector length
samp_compareCompare samples (vector index refers to axis)
samp_protectProtected samples (vector index refers to axis)
rel_thresholdRelative threshold
mult_thresholdMultiplier threshold
len_keyPacket length key for tagged stream

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ make()

static sptr gr::radar::os_cfar_2d_vc::make ( int  vlen,
std::vector< int >  samp_compare,
std::vector< int >  samp_protect,
float  rel_threshold,
float  mult_threshold,
const std::string &  len_key = "packet_len" 
)
static

Return a shared_ptr to a new instance of radar::os_cfar_2d_vc.

To avoid accidental use of raw pointers, radar::os_cfar_2d_vc's constructor is in a private implementation class. radar::os_cfar_2d_vc::make is the public interface for creating new instances.

◆ set_mult_threshold()

virtual void gr::radar::os_cfar_2d_vc::set_mult_threshold ( float  inp)
pure virtual

◆ set_rel_threshold()

virtual void gr::radar::os_cfar_2d_vc::set_rel_threshold ( float  inp)
pure virtual

◆ set_samp_compare()

virtual void gr::radar::os_cfar_2d_vc::set_samp_compare ( std::vector< int >  inp)
pure virtual

◆ set_samp_protect()

virtual void gr::radar::os_cfar_2d_vc::set_samp_protect ( std::vector< int >  inp)
pure virtual

The documentation for this class was generated from the following file: