Detect and reject spike samples.
- Parameters
-
| pcm | Input PCM samples |
| validMask | Output mask (true = valid, false = spike) |
- Returns
- Count of valid samples
Definition at line 88 of file signal_conditioner.cpp.hpp.
88 {
89 const size count = pcm.size();
90 validMask.clear();
91 validMask.reserve(count);
92
93 size validCount = 0;
94 const i16 threshold =
mConfig.spikeThreshold;
95
96 for (size i = 0; i < count; ++i) {
98 const bool isValid = (
sample > -threshold) && (
sample < threshold);
99 validMask.push_back(isValid);
100 if (isValid) {
101 validCount++;
102 }
103 }
104
105
106 const size spikesInSample = count - validCount;
107 mStats.spikesRejected += spikesInSample;
108
109 return validCount;
110}
SignalConditionerConfig mConfig
CRGB sample(const CRGB *grid, const XYMap &xyMap, float x, float y, SampleMode mode)
Sample a pixel from a 2D CRGB grid at floating-point coordinates.
References fl::vector< T >::clear(), mConfig, mStats, fl::vector< T >::push_back(), fl::vector< T >::reserve(), fl::sample(), and fl::span< T, Extent >::size().
Referenced by processSample().