31class BurstDetector :
public IProcessor {
35 void CreatePorts()
override;
36 void CompleteStreamInfo()
override;
49 BroadcasterState<double>* threshold_;
50 BroadcasterState<double>* signal_mean_;
51 BroadcasterState<double>* signal_dev_;
52 BroadcasterState<bool>* burst_;
53 FollowerState<double>* bin_size_mua_;
55 StaticState<double>* threshold_dev_;
56 StaticState<double>* smooth_time_;
57 StaticState<double>* detection_lockout_time_;
58 StaticState<bool>* stream_events_;
59 StaticState<bool>* stats_out_;
61 bool stats_out_enabled_;
62 std::uint64_t stats_nsamples_;
65 std::uint64_t burn_in_;
70 std::unique_ptr<dsp::algorithms::RunningMeanMAD> running_statistics_;
71 std::unique_ptr<dsp::algorithms::ThresholdCrosser> threshold_detector_;
75 const std::string THRESHOLD_DEV =
"threshold_dev";
76 const std::string SMOOTH_TIME =
"smooth_time";
77 const std::string DETECTION_LOCKOUT_TIME =
"detection_lockout_time";
78 const std::string STREAM_EVENTS =
"stream_events";
79 const std::string STREAM_STATISTICS =
"stream_statistics";
82 const unsigned int N_STATS_OUT = 2;
86 options::Double initial_threshold_dev_{6.};
87 options::Measurement<double, false> initial_smooth_time_{10.,
"second",
88 options::positive<double>(
true)};
89 options::Measurement<double, false> initial_detection_lockout_time_{
90 30.,
"ms", options::positive<double>(
true)};
91 options::Bool default_stream_events_{
true};
92 options::Bool initial_stats_out_{
true};
93 options::Measurement<double, false> stats_buffer_size_{0.5,
"second",
94 options::positive<double>(
true)};
Definition runinfo.hpp:248