2012-10-09 2 views
4

내 앱에 안드로이드의 가속도계를 사용하고 싶습니다.안드로이드에서 저역 통과 필터가있는 가속도계

final float alpha = 0.8; 

    // Isolate the force of gravity with the low-pass filter. 

    gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0]; 

그러나 저역 통과 필터는 다음과 같이 작동합니다 :

output = alpha*input + (1-alpha)*previousoutput; 

내 쿼리가 왜 우리가 이전의 출력과 입력 및 센서 이벤트로 중력을 복용하고있다 아래와 같은 문서에서 주어는? 다른 방법이 있어야합니다.

답변

0

기술적으로 두 입력의 선형 혼합을 사용합니다 : mix(α,x,y) = α * x + (1-α) * y.

이제 mix(α,x,y)mix(1-α,y,x)과 같습니다. 원하는대로 신호를 바꿀 수 있습니다. alpha = 0.2을 입력하면 모든 것이 동일하게 작동합니다.

+0

감사합니다. 문제는 내가 시간 상수로 알파와 혼동하고 선형 혼합을 알지 못한다. – nayab

관련 문제