gr::radar::estimator_rcs Class Referenceabstract

Basic RCS block for estimating the RCS of a single target. Some hardware specs need to be known for calculating RCS values, see parameters for details. The radar equation is used to calculate the RCS: RCS = Pr*(4pi)^3*R^4/(Pt*Gt*Gr*lamda^2). The Rx power (Pr) and the distance (R) are being estimated, while the other parameters are given in the flowgraph. It is possible to average a number of samples by setting the num_mean value > 1. The RCS will be 0 until enough samples are collected to calculate the mean value (be patient). The Tx power (Pt) needs to be calibrated with external hardware. I recommend to calibrate for the wanted power and not to change the parameters in the flowgraph on the Tx side after that. The RCS block needs the Rx power, to estimate the RCS. For that, the input power of the block needs to be determined analytically and altered via the corr_factor and exponent values, to fit the following equation: Pr = P_input ^ (exponent) * corr_factor / Pt. In addition, the FFTs need to be normalized for correct power calculation. More...

`#include <estimator_rcs.h>`

Inheritance diagram for gr::radar::estimator_rcs:

## Public Types

typedef std::shared_ptr< estimator_rcs > | sptr

## Public Member Functions

virtual void | set_num_mean (int val)=0
virtual void | set_center_freq (float val)=0
virtual void | set_antenna_gain_tx (float val)=0
virtual void | set_antenna_gain_rx (float val)=0
virtual void | set_usrp_gain_rx (float val)=0
virtual void | set_power_tx (float val)=0
virtual void | set_corr_factor (float val)=0

## Static Public Member Functions

static sptr | make (int num_mean, float center_freq, float antenna_gain_tx, float antenna_gain_rx, float usrp_gain_rx, float power_tx, float corr_factor, float exponent=1)
| Return a shared_ptr to a new instance of radar::estimator_rcs.

## Detailed Description

Basic RCS block for estimating the RCS of a single target. Some hardware specs need to be known for calculating RCS values, see parameters for details. The radar equation is used to calculate the RCS: RCS = Pr*(4pi)^3*R^4/(Pt*Gt*Gr*lamda^2). The Rx power (Pr) and the distance (R) are being estimated, while the other parameters are given in the flowgraph. It is possible to average a number of samples by setting the num_mean value > 1. The RCS will be 0 until enough samples are collected to calculate the mean value (be patient). The Tx power (Pt) needs to be calibrated with external hardware. I recommend to calibrate for the wanted power and not to change the parameters in the flowgraph on the Tx side after that. The RCS block needs the Rx power, to estimate the RCS. For that, the input power of the block needs to be determined analytically and altered via the corr_factor and exponent values, to fit the following equation: Pr = P_input ^ (exponent) * corr_factor / Pt. In addition, the FFTs need to be normalized for correct power calculation.

Parameters

  num_mean | Number of samples taken into account for calculating mean value (1 for no mean calculation)
  center_freq | Center frequency of radar
  antenna_gain_tx | Antenna Gain of the Tx antenna
  antenna_gain_rx | Antenna Gain of the Rx antenna
  usrp_gain_rx | Rx gain of USRP set in flowgraph
  power_tx | Tx power of radar signal. Needs to be measured one time!
  corr_factor | Correction factor for the RCS to calibrate system to a known target or special signal paths
  exponent | Exponent of the input power to calculate Rx power, depends on signal path (calculate analytically)

## Member Typedef Documentation

## sptr

typedef std::shared_ptr<estimator_rcs> gr::radar::estimator_rcs::sptr

## Member Function Documentation

## make()

sptr gr::radar::estimator_rcs::make | ( | int | num_mean,
|  | float | center_freq,
|  | float | antenna_gain_tx,
|  | float | antenna_gain_rx,
|  | float | usrp_gain_rx,
|  | float | power_tx,
|  | float | corr_factor,
|  | float | exponent = 1 )

static

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

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

## set_antenna_gain_rx()

virtual void gr::radar::estimator_rcs::set_antenna_gain_rx | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_antenna_gain_tx()

virtual void gr::radar::estimator_rcs::set_antenna_gain_tx | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_center_freq()

virtual void gr::radar::estimator_rcs::set_center_freq | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_corr_factor()

virtual void gr::radar::estimator_rcs::set_corr_factor | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_num_mean()

virtual void gr::radar::estimator_rcs::set_num_mean | ( | int | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_power_tx()

virtual void gr::radar::estimator_rcs::set_power_tx | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

## set_usrp_gain_rx()

virtual void gr::radar::estimator_rcs::set_usrp_gain_rx | ( | float | val | ) |

pure virtual

Implemented in gr::radar::estimator_rcs_impl.

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

- estimator_rcs.h