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 FmcwTriangleSignal;
21 class RadarSignal;
22}
23
25{
26 /// Callback used by validators to report an error through the caller's mechanism.
27 using Thrower = std::function<void(const std::string&)>;
28
29 /// Validates that a waveform is compatible with FMCW streaming constraints.
30 void validateWaveform(const fers_signal::RadarSignal& wave, const std::string& owner, const Thrower& throw_error);
31
32 /// Validates that a waveform and radar operation mode are compatible.
34 const std::string& owner, const Thrower& throw_error);
35
36 /// Validates that an FMCW waveform schedule can emit complete chirps.
37 void validateSchedule(const std::vector<radar::SchedulePeriod>& schedule, const fers_signal::FmcwChirpSignal& fmcw,
38 const std::string& owner, const Thrower& throw_error);
39
40 /// Validates that an FMCW waveform schedule can emit complete waveform periods.
41 void validateSchedule(const std::vector<radar::SchedulePeriod>& schedule, const fers_signal::RadarSignal& wave,
42 const std::string& owner, const Thrower& throw_error);
43}
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