Root Mean Square Error¶
- class RootMeanSquareError(receiving_radar, transmitting_device, receiving_device, radar_channel)[source]¶
Bases:
RadarEvaluator,SerializableRoot mean square error of estimated points to ground truth.
Root mean square error (RMSE) is a widely used metric for evaluating the performance of a radar detector. It estimates the average distance between the estimated and the ground truth position of a target.
A minimal example within the context of a
Simulationevaluating the probability of detection for a single radar target illuminated by anFMCWradar would be:1from hermespy.core import dB 2from hermespy.radar import Radar, FMCW, MaxDetector, RootMeanSquareError 3from hermespy.simulation import Simulation 4from hermespy.channel import SingleTargetRadarChannel 5 6# Create a new simulated scenario featuring a single device 7simulation = Simulation(num_samples=1000) 8device = simulation.new_device(carrier_frequency=60e9, bandwidth=3e9, oversampling_factor=1) 9 10# Configure the device to transmit and reveive radar waveforms 11radar = Radar(waveform=FMCW()) 12radar.detector = MaxDetector() 13device.add_dsp(radar) 14 15# Create a new radar channel with a single illuminated target 16target = SingleTargetRadarChannel((1, radar.max_range(device.bandwidth)), 1., attenuate=False) 17simulation.scenario.set_channel(device, device, target) 18 19# Create a new detection probability evaluator 20simulation.add_evaluator(RootMeanSquareError(radar, device, device, target)) 21 22# Sweep over the target's SNR during the simulation 23simulation.new_dimension('noise_level', dB(0, -5, -10, -20, -30), device) 24 25# Run the simulation 26result = simulation.run() 27result.plot()
- Parameters:
receiving_radar (
Radar) – Radar detector to be evaluated.transmitting_device (
SimulatedDevice) – Device transmitting into the evaluated channel.receiving_device (
SimulatedDevice) – Device receiving from the evaluated channel. The receiving_radar must be a receive DSP algorithm of this device.radar_channel (
RadarChannelBase) – The radar channel containing the ground truth to be evaluated.
- Raises:
ValueError – If the receiving radar is not an operator of the radar_channel receiver.
- evaluate()[source]¶
Evaluate the state of an investigated object.
Implements the process of extracting an arbitrary performance indicator, represented by the returned
Artifact\(X_m\).Returns: Artifact \(X_m\) resulting from the evaluation.
- Return type:
- initialize_result(grid)[source]¶
Initialize the respective result object for this evaluator.
- Parameters:
grid (
Sequence[GridDimensionInfo]) – The parameter grid over which the simulation iterates.- Return type:
Returns: The initialized evaluation result.
- class RootMeanSquareEvaluation(pcl, ground_truth)[source]¶
Bases:
Evaluation[ScatterVisualization]Result of a single root mean squre evaluation.
- class RootMeanSquareArtifact(num_errors, cummulation)[source]¶
Bases:
ArtifactArtifact of a root mean square evaluation
- Parameters:
- class RootMeanSquareErrorResult(grid, evaluator)[source]¶
Bases:
EvaluationResult[RootMeanSquareArtifact]Result of a root mean square error evaluation.
- Parameters:
grid (
Sequence[GridDimensionInfo]) – Simulation grid.evaluator (
RootMeanSquareError) – Evaluator associated with this result.
- add_artifact(coordinates, artifact, compute_confidence=True)[source]¶
Add an artifact to this evaluation result.
- Parameters:
coordinates (
tuple[int,...]) – Coordinates of the grid section to which the artifact belongs.artifact (
RootMeanSquareArtifact) – Artifact to be added.compute_confidence (
bool) – Whether to compute the confidence level of the evaluation result for the given section coordinates.
- Return type:
- Returns:
Can the result be trusted? Always
Falseif compute_confidence is set toFalse.