Quelqu'un pourrait-il expliquer comment on arrive à l'équation ci-dessous pour le filtrage passe-haut des valeurs de l'accéléromètre ? Je n'ai pas besoin d'une dérivation mathématique, une interprétation intuitive suffit.
#define kFilteringFactor 0.1
UIAccelerationValue rollingX, rollingY, rollingZ;
- (void)accelerometer:(UIAccelerometer \*)accelerometer didAccelerate:(UIAcceleration \*)acceleration {
// Subtract the low-pass value from the current value to get a simplified high-pass filter
rollingX = (acceleration.x \* kFilteringFactor) + (rollingX \* (1.0 - kFilteringFactor));
rollingY = (acceleration.y \* kFilteringFactor) + (rollingY \* (1.0 - kFilteringFactor));
rollingZ = (acceleration.z \* kFilteringFactor) + (rollingZ \* (1.0 - kFilteringFactor));
float accelX = acceleration.x - rollingX;
float accelY = acceleration.y - rollingY;
float accelZ = acceleration.z - rollingZ;
// Use the acceleration data.
}