Added abs squared function

gr-droneid-update
David Protzman 2022-06-20 12:49:02 -04:00
rodzic 0fdac0e259
commit 66b749c3ad
2 zmienionych plików z 18 dodań i 0 usunięć

Wyświetl plik

@ -89,6 +89,9 @@ namespace gr {
return angles;
}
static std::vector<float> abs_squared(const std::vector<std::complex<float>> & samples);
static std::vector<float> abs_squared(const std::vector<std::complex<float>> && samples);
misc_utils();
~misc_utils();

Wyświetl plik

@ -383,6 +383,21 @@ namespace gr {
return var_no_mean(&samples[0], samples.size());
}
std::vector<float> misc_utils::abs_squared(const std::vector<std::complex<float>> &samples) {
std::vector<float> ret(samples.size());
for (auto idx = decltype(samples.size()){0}; idx < samples.size(); idx++) {
const auto & sample = samples[idx];
ret[idx] = (sample.real() * sample.real()) + (sample.imag() * sample.imag());
}
return ret;
}
std::vector<float> misc_utils::abs_squared(const std::vector<std::complex<float>> && samples) {
return abs_squared(samples);
}
} /* namespace droneid */
} /* namespace gr */