Wie setzen Sie einen Hochpassfilter für das Beschleunigungsmesser IPhone?

StackOverflow https://stackoverflow.com/questions/142944

  •  02-07-2019
  •  | 
  •  

Frage

Ich erinnere mich an den Code für einen Hochpassfilter ein paar Tage zurück irgendwo in den Proben zu sehen, aber ich kann es nicht überall jetzt finden! Könnte mir jemand daran erinnern, wo die Hochpaßfilterung Implementierungscode war?

Oder noch besser, den Algorithmus posten?

Danke!

War es hilfreich?

Lösung

Von den idevkit.com Foren:

#define kFilteringFactor 0.1
static UIAccelerationValue rollingX=0, rollingY=0, rollingZ=0;


- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

    // Calculate low pass values

    rollingX = (acceleration.x * kFilteringFactor) + (rollingX * (1.0 - kFilteringFactor));
    rollingY = (acceleration.y * kFilteringFactor) + (rollingY * (1.0 - kFilteringFactor));
    rollingZ = (acceleration.z * kFilteringFactor) + (rollingZ * (1.0 - kFilteringFactor));

    // Subtract the low-pass value from the current value to get a simplified high-pass filter

    float accelX = acceleration.x - rollingX;
    float accelY = acceleration.y - rollingY;
    float accelZ = acceleration.z - rollingZ;

    // Use the acceleration data.

}

Andere Tipps

Für den Fall, jemand wissen will, kann das Hochpassfilter in der Accelerometer Graph Probe .

Hier ist der Link, ich war auch für diese suchen. Dies ist ein Beispiel für eine adaptive / nicht adaptive Hoch- und Tieffilter: von Apple iOS Reference Library - AccelerometerGraph Beispiel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top