FERS 0.1.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
fmcw_validation.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-only
2//
3// Copyright (c) 2026-present FERS Contributors (see AUTHORS.md).
4//
5// See the GNU GPLv2 LICENSE file in the FERS project root for more information.
6
7#pragma once
8
9#include <functional>
10#include <string>
11#include <vector>
12
13#include "core/config.h"
14#include "radar/radar_obj.h"
16
17namespace fers_signal
18{
19 class FmcwChirpSignal;
20 class SteppedFrequencySignal;
21 class FmcwTriangleSignal;
22 class RadarSignal;
23}
24
26{
27 /// Callback used by validators to report an error through the caller's mechanism.
28 using Thrower = std::function<void(const std::string&)>;
29
30 /// Validates that a waveform is compatible with FMCW streaming constraints.
31 void validateWaveform(const fers_signal::RadarSignal& wave, const std::string& owner, const Thrower& throw_error);
32
33 /// Validates that a waveform and radar operation mode are compatible.
35 const std::string& owner, const Thrower& throw_error);
36
37 /// Validates that an FMCW waveform schedule can emit complete chirps.
38 void validateSchedule(const std::vector<radar::SchedulePeriod>& schedule, const fers_signal::FmcwChirpSignal& fmcw,
39 const std::string& owner, const Thrower& throw_error);
40
41 /// Validates that an FMCW waveform schedule can emit complete waveform periods.
42 void validateSchedule(const std::vector<radar::SchedulePeriod>& schedule, const fers_signal::RadarSignal& wave,
43 const std::string& owner, const Thrower& throw_error);
44}
FMCW linear chirp signal implementation.
Class representing a radar signal with associated properties.
Global configuration file for the project.
OperationMode
Defines the operational mode of a radar component.
Definition radar_obj.h:39
void validateWaveform(const fers_signal::RadarSignal &wave, const std::string &owner, const Thrower &throw_error)
Validates that a waveform is compatible with FMCW streaming constraints.
std::function< void(const std::string &)> Thrower
Callback used by validators to report an error through the caller's mechanism.
void validateSchedule(const std::vector< radar::SchedulePeriod > &schedule, const fers_signal::FmcwChirpSignal &fmcw, const std::string &owner, const Thrower &throw_error)
Validates that an FMCW waveform schedule can emit complete chirps.
void validateWaveformModeMatch(const fers_signal::RadarSignal &wave, const radar::OperationMode mode, const std::string &owner, const Thrower &throw_error)
Validates that a waveform and radar operation mode are compatible.
Defines the Radar class and associated functionality.
math::Vec3 max