Multi Target Channel#
- class MultiTargetRadarChannel(attenuate=True, interference=True, *args, **kwargs)[source]#
Bases:
RadarChannelBase
[MultiTargetRadarChannelRealization
],Serializable
Model of a spatial radar channel featuring multiple reflecting targets.
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 two targets at 10m and 50m distance 6channel = MultiTargetRadarChannel(attenuate=False) 7simulation.set_channel(device, device, channel) 8 9first_target = VirtualRadarTarget( 10 FixedCrossSection(1), 11 pose=Transformation.From_Translation(np.array([10, 0, 0])), 12 static=False, 13) 14second_target = VirtualRadarTarget( 15 FixedCrossSection(1), 16 pose=Transformation.From_Translation(np.array([0, 50, 0])), 17 static=True, 18) 19channel.add_target(first_target) 20channel.add_target(second_target) 21 22# Configure an FMCW radar with 5 GHz bandwidth illuminating the target 23radar = Radar(device) 24radar.waveform = FMCW(10, 5e9, 90 / 5e9, 100 / 5e9) 25 26# Configure a simulation evluating the radar's operating characteristics 27simulation.add_evaluator(ReceiverOperatingCharacteristic(radar, channel)) 28simulation.new_dimension('snr', dB(np.arange(0, -22, -2).tolist())) 29simulation.num_samples = 1000 30 31# Run simulation and plot resulting ROC curve 32result = simulation.run() 33result.plot()
- Parameters:
- add_target(target)[source]#
Add a new target to the radar channel.
- Parameters:
target (RadarTarget) – Target to be added.
- Return type:
- make_target(moveable, cross_section, *args, **kwargs)[source]#
Declare a moveable to be a target within the radar channel.
- Parameters:
moveable (Moveable) – Moveable to be declared as a target.
cross_section (RadarCrossSectionModel) – Radar cross section model of the target.
*args – Additional positional arguments passed to the target’s constructor.
**kwargs – Additional keyword arguments passed to the target’s constructor.
- Returns:
The newly created target.
- Return type:
- 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.
- interfernce: bool#
Consider interference between linked devices.
Only applies in the bistatic case, where transmitter and receiver are two dedicated device instances.
- property targets: Set[RadarTarget]#
Set of targets considered within the radar channel.