Single Target Channel#
- class SingleTargetRadarChannel(target_range, radar_cross_section, target_azimuth=0.0, target_zenith=0.0, target_exists=True, velocity=0, attenuate=True, **kwargs)[source]#
Bases:
RadarChannelBase
[SingleTargetRadarChannelRealization
],Serializable
Model of a radar channel featuring a single reflecting target.
The following minimal example outlines how to configure the channel model within the context of a Simulation:
1# Initialize a single device operating at 78.5 GHz 2simulation = Simulation() 3device = simulation.new_device(carrier_frequency=78.5e9) 4 5# Create a radar channel modeling a single target at 10m distance 6channel = SingleTargetRadarChannel(10, 1, attenuate=False) 7simulation.set_channel(device, device, channel) 8 9# Configure an FMCW radar with 5 GHz bandwidth illuminating the target 10radar = Radar(device) 11radar.waveform = FMCW(10, 5e9, 90 / 5e9, 100 / 5e9) 12 13# Configure a simulation evluating the radar's operating characteristics 14simulation.add_evaluator(ReceiverOperatingCharacteristic(radar, channel)) 15simulation.new_dimension('snr', dB(np.arange(0, -22, -2).tolist())) 16simulation.num_samples = 1000 17 18# Run simulation and plot resulting ROC curve 19result = simulation.run() 20result.plot()
- Parameters:
target_range (float | Tuple[float, float]) – Absolute distance of target and radar sensor in meters. Either a specific distance or a range of minimal and maximal target distance.
radar_cross_section (float) – Radar cross section (RCS) of the assumed single-point reflector in m**2
target_azimuth (float, optional) – Target location azimuth angle in radians, considering spherical coordinates. Zero by default.
target_zenith (float, optional) – Target location zenith angle in radians, considering spherical coordinates. Zero by default.
target_exists (bool, optional) – True if a target exists, False if there is only noise/clutter (default 0 True)
velocity (float | np.ndarray , optional) – Velocity as a 3D vector (or as a float), in m/s (default = 0)
attenuate (bool, optional) – If True, then signal will be attenuated depending on the range, RCS and losses. If False, then received power is equal to transmit power.
- Raises:
ValueError – If radar_cross_section < 0. If carrier_frequency <= 0. If more than one antenna is considered.
- recall_realization(group)[source]#
Recall a realization of this channel type from its HDF serialization.
- Parameters:
group (h5py.Group) – HDF group to which the channel realization was serialized.
- Return type:
Returns: The recalled realization instance.
- property radar_cross_section: float#
Access configured radar cross section.
- Returns:
radar cross section [m**2]
- Return type:
- property target_azimuth: float#
Target position azimuth in spherical coordiantes.
- Returns:
Azimuth angle in radians.