EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
FrequencySpectrum.cpp
Go to the documentation of this file.
1
9
10#include "FrequencySpectrum.hpp"
11
12#include <utility>
13
14namespace echomap
15{
16
17decltype(FrequencySpectrum::bins)::const_iterator FrequencySpectrum::begin() const
18{
19 return bins.begin();
20}
21
22decltype(FrequencySpectrum::bins)::const_iterator FrequencySpectrum::end() const
23{
24 return bins.end();
25}
26
27decltype(FrequencySpectrum::bins)::const_iterator FrequencySpectrum::cbegin() const noexcept
28{
29 return bins.cbegin();
30}
31
32decltype(FrequencySpectrum::bins)::const_iterator FrequencySpectrum::cend() const noexcept
33{
34 return bins.cend();
35}
36
37std::size_t FrequencySpectrum::get_bin_count() const noexcept
38{
39 return bins.size();
40}
41
42float FrequencySpectrum::get_minimum_frequency() const noexcept
43{
44 return minimum_frequency;
45}
46
47float FrequencySpectrum::get_maximum_frequency() const noexcept
48{
49 return maximum_frequency;
50}
51
52float FrequencySpectrum::get_minimum_magnitude() const noexcept
53{
54 return minimum_magnitude;
55}
56
57float FrequencySpectrum::get_maximum_magnitude() const noexcept
58{
59 return maximum_magnitude;
60}
61
62const WindowFunctions::AllFunctions& FrequencySpectrum::observe_preprocessor() const noexcept
63{
64 return preprocessor;
65}
66
67FrequencySpectrum::FrequencySpectrum(
68 const WindowFunctions::AllFunctions preprocessor,
69 const std::string_view name
70) :
71 Object(name),
72 preprocessor(preprocessor)
73{
74}
75
76void FrequencySpectrum::reserve_bins(
77 const std::size_t bin_count
78)
79{
80 bins.reserve(bin_count);
81}
82
83void FrequencySpectrum::emplace_bin(
84 float frequency,
85 float magnitude,
86 float phase
87)
88{
89 bins.emplace_back(frequency, magnitude, phase);
90
91 minimum_frequency = std::min(frequency, minimum_frequency);
92 maximum_frequency = std::max(frequency, maximum_frequency);
93
94 minimum_magnitude = std::min(magnitude, minimum_magnitude);
95 maximum_magnitude = std::max(magnitude, maximum_magnitude);
96}
97
98} // namespace echomap
FrequencySpectrum specification.
A participant in a runtime object model with a numerically unique identifier and display name.
Definition Object.hpp:36
T max(T... args)
T min(T... args)
The main EchoMap outermost namespace for all non-exported symbols.