EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
Loading...
Searching...
No Matches
DFTTask.cpp
Go to the documentation of this file.
1
9
10
#include "
DFTTask.hpp
"
11
12
#include "
../../objects/Signal.hpp
"
13
#include "
../../objects/factories/FrequencySpectrumFactory.hpp
"
14
#include "
../results/DFTResult.hpp
"
15
16
namespace
echomap
17
{
18
19
DFTTask::DFTTask
(
20
std::shared_ptr<Signal>
signal,
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
35
DFTTask::~DFTTask() noexcept = default;
36
37
WorkerResult
DFTTask
::
execute_work
()
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.hpp
DFTResult specification.
DFTTask.hpp
DFTTask specification.
FrequencySpectrumFactory.hpp
FrequencySpectrumFactory specification.
Signal.hpp
Audio signal class specification.
echomap::DFTResult
Denotes a completed DFT computation from a DFTTask.
Definition
DFTResult.hpp:27
echomap::DFTTask::DFTTask
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
echomap::DFTTask::execute_work
WorkerResult execute_work() override
Execute the work and produce a WorkerResult.
Definition
DFTTask.cpp:37
echomap::FrequencySpectrumFactory::create_frequency_spectrum
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.
Definition
FrequencySpectrumFactory.cpp:27
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
echomap::WorkerResult
std::variant< ErrorResult, DFTResult, DownsampleResult, LoadProjectResult, LoadSignalFileResult > WorkerResult
Issued once an ITask has completed its Worker cycle.
Definition
WorkerResult.hpp:27
std
STL namespace.
std::shared_ptr
std::size_t
src
async
tasks
DFTTask.cpp
Generated by
1.17.0