ProcVisDemo_Accel

Dependencies:   MMA7660 mbed

Revision:
0:fca9076d3362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TP1.h	Thu Nov 15 18:04:08 2018 +0000
@@ -0,0 +1,41 @@
+// Digitaler Tiefpass 1. Ordnung
+
+class TP1Ord
+{
+private:
+    float alpha; // Filterkonstante
+public:
+    float yn_1;
+    float y; // momentaner Ausgangswert des Filters
+public:    
+    
+    // Konstruktor wird automatisch aufgerufen
+    // Variable der Klasse TP1Ord angelegt wird
+    // interne Variablen sinnvoll initialisieren
+    TP1Ord(); 
+    
+    // einen Abtastschritt des Filters rechnen
+    // es entsteht ein neues y
+    void CalcOneStep (float aX);
+    
+    void SetAlpha (float aAlpha);
+};
+
+TP1Ord::TP1Ord()
+{
+    y = 0; yn_1 = 0;
+    SetAlpha(0.1); // sinnvolles Alpha einstellen
+}
+
+void TP1Ord::SetAlpha (float aAlpha)
+{   
+    // 0...1 absichern
+    if(aAlpha >= 0 && aAlpha <= 1)
+        alpha = aAlpha; 
+}
+
+void TP1Ord::CalcOneStep (float aX)
+{
+    y = alpha*aX + (1-alpha)*yn_1;
+    yn_1 = y; // y einmal merken (zwischspeichern)
+}
\ No newline at end of file