Skip to content

Commit abf17ca

Browse files
Minor refactor in var names, no change in behaviour.
1 parent 815bfd1 commit abf17ca

File tree

2 files changed

+28
-30
lines changed

2 files changed

+28
-30
lines changed

mlrunner/example_dataprocessor.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ MldpReturn_t exampleDataProcessor_recordData(const float* samples, const int ele
6767
if (elements != accDimensions) return false;
6868

6969
for (int i = 0; i < accDimensions; i++) {
70-
accData[accDataIndex++] = sample[i];
70+
accData[accDataIndex++] = samples[i];
7171
}
7272
if (accDataIndex >= accDataSize) {
7373
accDataIndex = 0;

mlrunner/mldataprocessor.c

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,12 @@ MldpReturn_t filterStdDev(const float *data_in, const int in_size, float *data_o
6868
return mean_result;
6969
}
7070

71-
float std = 0;
72-
float f = 0;
71+
float sum_of_squares = 0;
7372
for (int i = 0; i < in_size; i++) {
74-
f = data_in[i] - mean;
75-
std += f * f;
73+
float f = data_in[i] - mean;
74+
sum_of_squares += f * f;
7675
}
77-
std /= (float)in_size;
78-
*data_out = sqrtf(std);
76+
*data_out = sqrtf(sum_of_squares / (float)in_size);
7977

8078
return MLDP_SUCCESS;
8179
}
@@ -85,39 +83,39 @@ MldpReturn_t filterStdDev(const float *data_in, const int in_size, float *data_o
8583
// so ensure DEVICE_STACK_SIZE is appropriately set
8684
// TODO: Move to the heap, pxt automatically uses its allocator
8785
MldpReturn_t filterPeaks(const float *data_in, const int in_size, float *data_out, const int out_size) {
88-
if (in_size < 5 || out_size != 1) {
89-
return MLDP_ERROR_CONFIG;
90-
}
91-
9286
const int lag = 5;
9387
const float threshold = 3.5;
9488
const float influence = 0.5;
95-
int peaksCounter = 0;
89+
90+
if (in_size < (5 + 2) || out_size != 1) {
91+
return MLDP_ERROR_CONFIG;
92+
}
9693

9794
float signals[in_size];
98-
float filteredY[in_size];
95+
float filtered_y[in_size];
9996
float lead_in[lag];
100-
float avgFilter[in_size];
101-
float stdFilter[in_size];
97+
float avg_filter[in_size];
98+
float std_filter[in_size];
10299
memset(signals, 0, in_size * sizeof(float));
103-
memcpy(filteredY, data_in, in_size * sizeof(float));
100+
memcpy(filtered_y, data_in, in_size * sizeof(float));
104101
memcpy(lead_in, data_in, lag * sizeof(float));
105102

106-
float mean_lag, stdDev_lag;
103+
float mean_lag, std_dev_lag;
107104
MldpReturn_t mean_result = filterMean(lead_in, lag, &mean_lag, 1);
108-
MldpReturn_t stdDev_result = filterStdDev(lead_in, lag, &stdDev_lag, 1);
109-
if (stdDev_result != MLDP_SUCCESS || mean_result != MLDP_SUCCESS) {
105+
MldpReturn_t std_dev_result = filterStdDev(lead_in, lag, &std_dev_lag, 1);
106+
if (std_dev_result != MLDP_SUCCESS || mean_result != MLDP_SUCCESS) {
110107
return MLDP_ERROR_CONFIG;
111108
}
112109

113-
avgFilter[lag - 1] = mean_lag;
114-
stdFilter[lag - 1] = stdDev_lag;
110+
avg_filter[lag - 1] = mean_lag;
111+
std_filter[lag - 1] = std_dev_lag;
115112

113+
int peaksCounter = 0;
116114
for (int i = lag; i < in_size; i++) {
117-
if (fabsf(data_in[i] - avgFilter[i - 1]) > 0.1f &&
118-
fabsf(data_in[i] - avgFilter[i - 1]) > threshold * stdFilter[i - 1]
115+
if (fabsf(data_in[i] - avg_filter[i - 1]) > 0.1f &&
116+
fabsf(data_in[i] - avg_filter[i - 1]) > threshold * std_filter[i - 1]
119117
) {
120-
if (data_in[i] > avgFilter[i - 1]) {
118+
if (data_in[i] > avg_filter[i - 1]) {
121119
signals[i] = +1; // positive signal
122120
if (i - 1 > 0 && signals[i - 1] == 0) {
123121
peaksCounter++;
@@ -126,19 +124,19 @@ MldpReturn_t filterPeaks(const float *data_in, const int in_size, float *data_ou
126124
signals[i] = -1; // negative signal
127125
}
128126
// make influence lower
129-
filteredY[i] = influence * data_in[i] + (1.0f - influence) * filteredY[i - 1];
127+
filtered_y[i] = influence * data_in[i] + (1.0f - influence) * filtered_y[i - 1];
130128
} else {
131129
signals[i] = 0; // no signal
132-
filteredY[i] = data_in[i];
130+
filtered_y[i] = data_in[i];
133131
}
134132

135133
// adjust the filters
136134
float y_lag[lag];
137-
memcpy(y_lag, &filteredY[i - lag], lag * sizeof(float));
135+
memcpy(y_lag, &filtered_y[i - lag], lag * sizeof(float));
138136
filterMean(y_lag, lag, &mean_lag, 1);
139-
filterStdDev(y_lag, lag, &stdDev_lag, 1);
140-
avgFilter[i] = mean_lag;
141-
stdFilter[i] = stdDev_lag;
137+
filterStdDev(y_lag, lag, &std_dev_lag, 1);
138+
avg_filter[i] = mean_lag;
139+
std_filter[i] = std_dev_lag;
142140
}
143141
*data_out = peaksCounter;
144142

0 commit comments

Comments
 (0)