summaryrefslogtreecommitdiff
path: root/ao-tools/lib/cc.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-09-06 12:51:48 -0700
committerKeith Packard <keithp@keithp.com>2009-09-06 12:51:48 -0700
commit7a19aac5e881e635962a64fff73027ca2143b96f (patch)
treebb2fec6660529832e9c2defd67c5ed7ef07bbeea /ao-tools/lib/cc.h
parent6d018ab933832e2d80bb1564c339d9fb18b57be2 (diff)
Add DSP code to filter data, allowing for integration/differentiation
This adds the computation of speed from both accelerometer and barometer measurements and then presents a periodic flight profile using filtered data as a detailed flight record. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools/lib/cc.h')
-rw-r--r--ao-tools/lib/cc.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/ao-tools/lib/cc.h b/ao-tools/lib/cc.h
index 57f80b8d..356794e0 100644
--- a/ao-tools/lib/cc.h
+++ b/ao-tools/lib/cc.h
@@ -268,4 +268,32 @@ cc_timedata_min(struct cc_timedata *d, double min_time, double max_time);
int
cc_timedata_max(struct cc_timedata *d, double min_time, double max_time);
+int
+cc_perioddata_min(struct cc_perioddata *d, double min_time, double max_time);
+
+int
+cc_perioddata_max(struct cc_perioddata *d, double min_time, double max_time);
+
+double *
+cc_low_pass(double *data, int data_len, double omega_pass, double omega_stop, double error);
+
+struct cc_perioddata *
+cc_period_make(struct cc_timedata *td, double start_time, double stop_time);
+
+struct cc_perioddata *
+cc_period_low_pass(struct cc_perioddata *raw, double omega_pass, double omega_stop, double error);
+
+struct cc_timedata *
+cc_timedata_convert(struct cc_timedata *d, double (*f)(double v, double a), double a);
+
+struct cc_timedata *
+cc_timedata_integrate(struct cc_timedata *d);
+
+struct cc_perioddata *
+cc_perioddata_differentiate(struct cc_perioddata *i);
+
+struct cc_flightcooked *
+cc_flight_cook(struct cc_flightraw *raw);
+
+
#endif /* _CC_H_ */