21 #include "modules/audio/proto/audio.pb.h" 35 std::vector<std::complex<double>>
fft1d(
const std::vector<double>& signals);
37 MovingResult
Detect(
const std::vector<std::vector<double>>& signals);
40 const std::size_t channel_index,
const std::vector<double>& signal);
45 SignalStat(
double power,
int top_frequency)
46 : power_(power), top_frequency_(top_frequency) {}
47 double power()
const {
return power_; }
48 int top_frequency()
const {
return top_frequency_; }
54 SignalStat GetSignalStat(
55 const std::vector<std::complex<double>>& fft_results,
56 const int start_frequency);
58 MovingResult AnalyzePower(
const std::deque<SignalStat>& signal_stats);
60 MovingResult AnalyzeTopFrequence(
const std::deque<SignalStat>& signal_stats);
62 std::vector<std::deque<SignalStat>> signal_stats_;
Definition: moving_detection.h:31
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
MovingResult Detect(const std::vector< std::vector< double >> &signals)
std::vector< std::complex< double > > fft1d(const std::vector< double > &signals)
MovingDetection()=default
MovingResult DetectSingleChannel(const std::size_t channel_index, const std::vector< double > &signal)