आप एक कम पास फ़िल्टर का उपयोग करके इसे डिजिटल रूप से फ़िल्टर कर सकते हैं:
int valueFilt = (1-0.99)*value + 0.99*valueFilt;
कट ऑफ फ्रीक्वेंसी को बदलने के लिए 0.99 को बदलें (1.0 के करीब है कम आवृत्ति)। उस मूल्य के लिए वास्तविक अभिव्यक्ति एक्सप (-2 * पी * एफ / एफएस) है जहां एफ कटऑफ आवृत्ति आप चाहते हैं और एफएस वह आवृत्ति है जिस पर डेटा का नमूना लिया जाता है।
एक अन्य प्रकार का "डिजिटल फ़िल्टर" एक इवेंट फ़िल्टर है। यह डेटा पर अच्छा काम करता है जिसमें आउटलेयर है; जैसे 9,9,8,10,9,25,9। एक ईवेंट फ़िल्टर सबसे लगातार मूल्य देता है। सांख्यिकीय रूप से यह विधा है।
माध्य, मोड आदि जैसे सांख्यिकीय औसत की गणना Arduino औसत लाइब्रेरी का उपयोग करके की जा सकती है ।
एक उदाहरण Arduino Library पृष्ठ से लिया गया है:
#include <Average.h>
#define CNT 600
int d[CNT];
void setup()
{
Serial.begin(9600);
}
void loop()
{
int i;
for(i=0; i<CNT; i++)
{
d[i] = random(500);
}
Serial.print("Mean: ");
Serial.print(mean(d,CNT),DEC);
Serial.print(" Mode: ");
Serial.print(mode(d,CNT),DEC);
Serial.print(" Max: ");
Serial.print(maximum(d,CNT),DEC);
Serial.print(" Min: ");
Serial.print(minimum(d,CNT),DEC);
Serial.print(" Standard deviation: ");
Serial.print(stddev(d,CNT),4);
Serial.println("");
Serial.println("");
delay(5000);
}