GNU Radio Radar Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Macros
gr::radar::static_target_simulator_cc Class Referenceabstract

This block simulates the backscattering of a given signal on point targets. TX signal is given on the input and is tuned in the simulation on the given center frequency. Target parameters are given as f32vectors and each index refers to a target. The vectors range, velocity, rcs, and azimuth must have the same length. Velocity adds the doppler shift on the input signal and range adds a timeshift. Azimuth adds a second timeshift which refers to the distance between TX and RX antenna. All antennas are set on a straight line. The TX antenna takes place on the zero point as reference. The RX antennas are set on the straight line in a distance of position_rx to the TX antenna. The azimuth is measured from the vertical of this line. rndm_phaseshift adds on every target RX signal a random phase. self_coupling toggles the self coupling of the TX signal on the RX signal with self_coupling_db power. More...

#include <static_target_simulator_cc.h>

Inheritance diagram for gr::radar::static_target_simulator_cc:
gr::radar::static_target_simulator_cc_impl

Public Types

typedef boost::shared_ptr
< static_target_simulator_cc
sptr
 

Public Member Functions

virtual void setup_targets (std::vector< float > range, std::vector< float > velocity, std::vector< float > rcs, std::vector< float > azimuth, std::vector< float > position_rx, int samp_rate, float center_freq, float self_coupling_db, bool rndm_phaseshift, bool self_coupling)=0
 

Static Public Member Functions

static sptr make (std::vector< float > range, std::vector< float > velocity, std::vector< float > rcs, std::vector< float > azimuth, std::vector< float > position_rx, int samp_rate, float center_freq, float self_coupling_db, bool rndm_phaseshift=true, bool self_coupling=true, const std::string &len_key="packet_len")
 Return a shared_ptr to a new instance of radar::static_target_simulator_cc. More...
 

Detailed Description

This block simulates the backscattering of a given signal on point targets. TX signal is given on the input and is tuned in the simulation on the given center frequency. Target parameters are given as f32vectors and each index refers to a target. The vectors range, velocity, rcs, and azimuth must have the same length. Velocity adds the doppler shift on the input signal and range adds a timeshift. Azimuth adds a second timeshift which refers to the distance between TX and RX antenna. All antennas are set on a straight line. The TX antenna takes place on the zero point as reference. The RX antennas are set on the straight line in a distance of position_rx to the TX antenna. The azimuth is measured from the vertical of this line. rndm_phaseshift adds on every target RX signal a random phase. self_coupling toggles the self coupling of the TX signal on the RX signal with self_coupling_db power.

Parameters
rangeTarget ranges as vector
velocityTarget velocities as vector
rcsTarget RCS as vector
azimuthTarget azimuth as vector
position_rxPosition RX antennas
samp_rateSample rate
center_freqCenter frequency
self_coupling_dbSelf coupling in dB
rndm_phaseshiftToggle random phaseshift on targets
self_couplingToggle self coupling
packet_lenPacket length key for tagged stream

Member Typedef Documentation

Member Function Documentation

static sptr gr::radar::static_target_simulator_cc::make ( std::vector< float >  range,
std::vector< float >  velocity,
std::vector< float >  rcs,
std::vector< float >  azimuth,
std::vector< float >  position_rx,
int  samp_rate,
float  center_freq,
float  self_coupling_db,
bool  rndm_phaseshift = true,
bool  self_coupling = true,
const std::string &  len_key = "packet_len" 
)
static

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

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

virtual void gr::radar::static_target_simulator_cc::setup_targets ( std::vector< float >  range,
std::vector< float >  velocity,
std::vector< float >  rcs,
std::vector< float >  azimuth,
std::vector< float >  position_rx,
int  samp_rate,
float  center_freq,
float  self_coupling_db,
bool  rndm_phaseshift,
bool  self_coupling 
)
pure virtual

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