iPhone Accelerometer 용 HighPass 필터를 어떻게 구현합니까?
-
02-07-2019 - |
문제
샘플 어딘가에 며칠 전에 HighPass 필터 코드를 본 것을 기억하지만 지금은 어디에서나 찾을 수 없습니다! 누군가가 HighPass 필터 구현 코드가 어디에 있는지 나를 기억할 수 있습니까?
아니면 알고리즘을 더 잘 게시합니까?
감사!
해결책
#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.
}
다른 팁
누군가가 알고 싶어하는 경우에만 하이 패스 필터를 찾을 수 있습니다. 가속도계 그래프 샘플.
여기 링크가 있습니다. 저도 이것도 찾고있었습니다. 이는 적응 형 / 비 적응 형 하이 패스 및 로우 패스 필터의 예입니다. Apple iOS 참조 라이브러리 - 가속기 그래프 예제
제휴하지 않습니다 StackOverflow