fix: resample(): adjust trailing i
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#include "npy.hpp"
|
||||
//#include <utility>
|
||||
#include <deque>
|
||||
#include <iomanip>
|
||||
|
||||
#include "pd_signal.h"
|
||||
#include "ssf_filter.h"
|
||||
#include "test_helpers.h"
|
||||
@@ -31,6 +33,41 @@ TEST(SignalTest, interp_t1) {
|
||||
}
|
||||
}
|
||||
|
||||
TEST(SignalTest, cross_corr_t1) {
|
||||
std::vector<double> sig {0.9, 1.5, 2.0, 3.0, 5.0, 4.0, 1.0, 0.5, 0.3, 0.2};
|
||||
double corr = pd_signal::crossCorr(sig, sig);
|
||||
ASSERT_NEAR(1.0, corr, 1e-7);
|
||||
}
|
||||
|
||||
TEST(SignalTest, cross_corr_t2) {
|
||||
std::vector<double> x {0.9, 1.5, 2.0, 3.0, 5.0, 4.0, 1.0, 0.5, 0.3, 0.2};
|
||||
std::vector<double> y {0.4, 0.7, 0.9, 1.5, 2.5, 2.0, 0.5, 0.25, 0.15, 0.1};
|
||||
double corr = pd_signal::crossCorr(x, y);
|
||||
ASSERT_NEAR(0.999, corr, 1e-3);
|
||||
}
|
||||
|
||||
TEST(SignalTest, resample_t1) {
|
||||
std::vector<double> x {0.9, 1.5, 2.0, 3.0, 5.0, 4.0, 1.0, 0.5, 0.3, 0.2};
|
||||
std::vector<double> y_e {0.9, 1.2, 1.5, 1.75, 2.0, 2.5, 3.0, 4.0, 5.0, 4.5, 4.0, 2.5, 1.0, 0.75, 0.5, 0.4, 0.3, 0.25, 0.2};
|
||||
|
||||
std::vector<double> t;
|
||||
linspace(t, 0, (double) x.size()-1, y_e.size(), false);
|
||||
// interp t=0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.500 4.000 4.500 5.000 5.500 6.000 6.500 7.000 7.500 8.000 8.500 9.000
|
||||
/*
|
||||
std::cout << "interp t=";
|
||||
for (size_t n = 0; n < t.size(); n++) {
|
||||
std::cout << std::fixed << std::setw(5) << std::setprecision(3) << t[n] << " ";
|
||||
}
|
||||
std::cout << std::endl;
|
||||
*/
|
||||
|
||||
std::vector<double> y;
|
||||
pd_signal::resample(y, x, y_e.size());
|
||||
|
||||
double corr = pd_signal::crossCorr(y, y_e);
|
||||
ASSERT_NEAR(1.0, corr, 1e-3);
|
||||
}
|
||||
|
||||
TEST(SignalTest, ranges) {
|
||||
const double abs_error = 1e-5;
|
||||
std::vector<double> i;
|
||||
|
||||
Reference in New Issue
Block a user