加速度計の値をハイパスフィルタリングするために、下の方程式にどのように到達するか説明できますか?私は数学的派生を必要としません、それの直感的な解釈だけで十分です。iOS - 加速度計のハイパスフィルタの式
#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. }
ありがとうございました。私は "...入力値の低域フィルタリングされたバージョンのみ..."と "...ハイパスフィルタリングされた出力を与える"の理解には苦労しています。1 - kFilteringFunctionが存在し続けるので、ソートの平滑化機能のように感じますローリング値に適用されます。とにかく、あなたが何を意味しているかが分かれば、あなたの説明からいくつかの良い情報を得ることができるように感じます。 – Boon
移動平均とフィルタリングなどの希望の明確な説明については、上記の「追加の説明」を参照してください。 –