feat: Resampler: Normalizes incoming Android sensor sampling rate
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <stdexcept>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <numeric>
|
||||
|
||||
namespace pd_signal {
|
||||
|
||||
@@ -141,6 +142,25 @@ void mean(std::vector<double> &out, std::deque<std::vector<double> >& m) {
|
||||
mean_tpl(out, m);
|
||||
}
|
||||
|
||||
double mean(const std::vector<double> &in) {
|
||||
if (in.empty()) {
|
||||
throw std::invalid_argument("mean: input vector is empty");
|
||||
}
|
||||
double sum = std::accumulate(in.begin(), in.end(), 0.0);
|
||||
return sum / static_cast<double>(in.size());
|
||||
}
|
||||
|
||||
void diff(std::vector<double>& out, const std::vector<double>& in) {
|
||||
if (in.size() < 2) {
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out.resize(in.size() - 1);
|
||||
for (std::size_t i = 1; i < in.size(); ++i) {
|
||||
out[i - 1] = in[i] - in[i - 1];
|
||||
}
|
||||
}
|
||||
|
||||
// Convolution of two polynomials in ascending power order.
|
||||
void polymul(std::vector<cplx>& out,
|
||||
const std::vector<cplx>& p, const std::vector<cplx>& q) {
|
||||
|
||||
Reference in New Issue
Block a user