summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorLines
2021-01-19drift compensation: use PILT min_dist=1Daniel Friesel-1/+1
2021-01-19greedy drift compensation: consider transition start vs end when syncingDaniel Friesel-46/+38
2021-01-18re-add greedy drift compensation heuristicDaniel Friesel-3/+86
2021-01-18drift compensation: a candidate may refer to transition start or endDaniel Friesel-39/+69
There's still a major bug somewhere, right now results are sub-par
2021-01-18energytrace drift compensation: allow arbitrarily long skipsDaniel Friesel-29/+33
2021-01-18energytrace drift compensation: stretch datapointsDaniel Friesel-1/+3
2021-01-18drift_compensation_grpah: handle node skips at the tailDaniel Friesel-0/+9
2021-01-18refactor graph-based drift compensation into a separate functionDaniel Friesel-1/+12
2021-01-18Fix a typoDaniel Friesel-1/+1
2021-01-18EnergyTrace loader: show offline_index in debug and error outputDaniel Friesel-8/+23
2021-01-15pelt: add stretch parameterDaniel Friesel-0/+20
2021-01-15pelt: Fix Dynp supportDaniel Friesel-1/+5
2021-01-14add anoter todo entryDaniel Friesel-0/+3
2021-01-14energytrace drift compensation: handle arbitrarily long detection failuresDaniel Friesel-19/+6
2021-01-14energytrace drift compensation: partially handle lack of candidatesDaniel Friesel-2/+4
2021-01-14energytrace drift compensation: Handle undetected transitionsDaniel Friesel-5/+76
2021-01-14EnergyTrace drift compensation: optimize via shortest pathsDaniel Friesel-72/+88
Right now performance is worse than the previous greedy approach as the dijkstra variant does not take into account that a transition may be missing from the set of detected changepoints (i.e., it assumes that the set of detected changepoints contains the transition timestamp, which is not always the case). This will be fixed in the next commit by adding nodes for the expected transition timestamp (with a slightly higher weight to ensure there are no proper nodes in the vicinity) -- or something similar.
2021-01-13pelt: Allow overrides via environment variablesDaniel Friesel-4/+23
2021-01-13EnergyTrace loader: remove bogus tail sync data as wellDaniel Friesel-7/+14
2021-01-12add a TODO entrDaniel Friesel-1/+4
2021-01-12add z-score based outlier detection and optional removalDaniel Friesel-1/+41
Note that outliers are removed from both training and evaluation data
2021-01-12plotter: print notice when exporting plotsDaniel Friesel-0/+3
2021-01-11evaluate E = P*t model. Seems slightly better in some casesDaniel Friesel-0/+19
TODO: Fix send duration model generation for cc1200, should improve eval
2021-01-08work around missing W_mean_delta_prev in first energytrace+barcode transitionDaniel Friesel-0/+5
2021-01-08model transition power, not energyDaniel Friesel-21/+54
in contrast to duration/energy, duration/power are independent
2021-01-08gracefully handle zbar unavailabilityDaniel Friesel-1/+8
2020-12-16loader: fix off-by-one in energytrace++ state changesDaniel Friesel-1/+2
2020-12-15add proof of concept for EnergyTrace++ based drift compensationDaniel Friesel-4/+61
2020-12-15support benchmarks with EnergyTrace++Daniel Friesel-3/+9
2020-12-15dataprocessor: export drift compensation dataDaniel Friesel-0/+14
2020-12-14energytrace: add pelt-based drift compensation experiment.Daniel Friesel-6/+140
Enable with DFATOOL_COMPENSATE_DRIFT=1 so far it's pretty unreliable.
2020-12-14runner: energytrace: wait for benchmark end synchronization pulsesDaniel Friesel-0/+2
2020-12-11generate-dfa-benchmark: include gpio.hDaniel Friesel-0/+8
2020-12-03use common energytrace loader codeDaniel Friesel-102/+73
this also fixes a nasty off-by-one in the barcode loader (now _load_energytrace): wrong: interval_start_timestamp = data[:-1, 0] * 1e-6 correct: interval_start_timestamp = data[1:, 0] * 1e-6
2020-12-03loader: energytrace: add support for legacy file formatDaniel Friesel-0/+3
2020-12-01loader: gracefully handle exceptions in energytrace sub-loaderDaniel Friesel-3/+7
2020-12-01runner, harness: add logging support and debug outputDaniel Friesel-2/+14
2020-12-01loader: fix typoDaniel Friesel-1/+1
2020-11-30pelt: allow disabling multiprocessingDaniel Friesel-2/+6
2020-11-27clean up energytrace drift compensation and raw model generation codeDaniel Friesel-147/+133
2020-11-26some commentsDaniel Friesel-7/+3
2020-11-19DataProcessor: Handle broken LA measurementsDaniel Friesel-0/+9
2020-11-16do not parse energytrace logs with large sync offsetDaniel Friesel-3/+7
2020-11-09DataProcessor: Warn for positive and negative offset errorsDaniel Friesel-1/+1
2020-11-04wipDaniel Friesel-0/+44
2020-11-04harness: show message when encountering unparseable lineDaniel Friesel-0/+8
2020-11-03analyze number of substates per stateDaniel Friesel-92/+181
2020-11-02Do not pass the entirety of by_nane/by_param to subprocessesDaniel Friesel-105/+76
This should speed up analysis quite a bit and also reduce memory usage significantly
2020-11-02PELT: Do not set jump when len(signal) < num_samplesDaniel Friesel-1/+2
2020-11-02EnergyTrace: Correctly set "power_traces"Daniel Friesel-0/+6