EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
DFTTask.cpp
Go to the documentation of this file.
1
9
10#include "DFTTask.hpp"
11
15
16namespace echomap
17{
18
21 const WindowFunctions::AllFunctions window_function,
22 const std::size_t transform_size
23) :
24 ITask(std::format(
25 "DFTTask: {}",
26 signal->get_name()
27 )),
28 signal(std::move(signal)),
29 window_function(window_function),
30 transform_size(transform_size)
31{
32 assert(this->signal != nullptr);
33}
34
35DFTTask::~DFTTask() noexcept = default;
36
38{
39 return DFTResult(
40 signal->get_id(),
41 FrequencySpectrumFactory::create_frequency_spectrum(*signal, window_function, transform_size),
42 transform_size
43 );
44}
45
46} // namespace echomap
DFTResult specification.
DFTTask specification.
FrequencySpectrumFactory specification.
Audio signal class specification.
Denotes a completed DFT computation from a DFTTask.
Definition DFTResult.hpp:27
DFTTask(std::shared_ptr< Signal > signal, WindowFunctions::AllFunctions window_function, std::size_t transform_size)
Creates a new DFT job for the given Signal.
Definition DFTTask.cpp:19
WorkerResult execute_work() override
Execute the work and produce a WorkerResult.
Definition DFTTask.cpp:37
static std::unique_ptr< FrequencySpectrum > create_frequency_spectrum(const Signal &signal, WindowFunctions::AllFunctions window_function, std::size_t transform_size)
Construct a FrequencySpectrum of the given uniformly sampled Signal.
The main EchoMap outermost namespace for all non-exported symbols.
std::variant< ErrorResult, DFTResult, DownsampleResult, LoadProjectResult, LoadSignalFileResult > WorkerResult
Issued once an ITask has completed its Worker cycle.
STL namespace.