Returns
Target and electronic-attack return models.
Defines :class:Target (kinematics and RCS), :class:EaPlatform (DRFM
jammer transmitter parameters), and :class:Return (pairing of a target with
an optional EA platform) used as inputs to the RDM generator.
EaPlatform
dataclass
Electronic attack (EA) platform — hardware and signal modulation parameters.
All fields beyond the first three are modulation parameters that control how the stored pulse is modified before retransmission.
Attributes:
| Name | Type | Description |
|---|---|---|
tx_power |
float
|
Transmit power [W]. |
tx_gain |
float
|
Transmit antenna gain [linear]. |
total_losses |
float
|
Total system losses [linear]. |
rdot_delta |
float | None
|
VBM Doppler spread [m/s]. |
rdot_offset |
float
|
Doppler frequency offset applied to the retransmitted pulse [m/s]. Defaults to 0. |
range_offset |
float
|
Additional apparent range offset injected by the EA [m]. Defaults to 0. |
delay |
float
|
Additional time delay applied to the retransmitted pulse [s]. Defaults to 0. |
vbm_noise_function |
Callable | None
|
Phase-noise function used for VBM slow-time
modulation. |
Source code in src/rad_lab/returns.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
delay = 0.0
class-attribute
instance-attribute
range_offset = 0.0
class-attribute
instance-attribute
rdot_delta = None
class-attribute
instance-attribute
rdot_offset = 0.0
class-attribute
instance-attribute
total_losses
instance-attribute
tx_gain
instance-attribute
tx_power
instance-attribute
vbm_noise_function = None
class-attribute
instance-attribute
__init__(tx_power, tx_gain, total_losses, rdot_delta=None, rdot_offset=0.0, range_offset=0.0, delay=0.0, vbm_noise_function=None)
Return
dataclass
A simulated radar return — skin, jammer-based EA, or both simultaneously.
The two contributions are independent and additive:
- Skin return fires when
target.rcs is not None. The radar's own transmitted pulse reflects off the target.target.rcssets the physical amplitude via the two-way range equation. - Memory return fires when
platform is not None. A DRFM jammer receives the pulse, stores it, and retransmits with the modulation specified inplatform. Amplitude is derived from the one-way link equation.
Both can be active on the same Return, modelling a jammer co-located
with the target (set target.rcs and supply a platform).
Attributes:
| Name | Type | Description |
|---|---|---|
target |
Target
|
Target kinematics and (for skin) RCS. |
platform |
EaPlatform | None
|
EA platform parameters. |
Source code in src/rad_lab/returns.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | |
platform = None
class-attribute
instance-attribute
target
instance-attribute
__init__(target, platform=None)
Target
dataclass
Target kinematics and scattering parameters.
Attributes:
| Name | Type | Description |
|---|---|---|
range |
float
|
True target range [m]. |
range_rate |
float
|
Radial velocity (positive = receding) [m/s]. |
rcs |
float | None
|
Radar cross section [m^2]. Required for skin return amplitude; unused by jammer return amplitude in physical mode. |
sv |
complex
|
Steering vector component for a single array element [dimensionless]. Defaults to 1 (isotropic / no array). |
Source code in src/rad_lab/returns.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |