كيف يمكنك تطبيق مرشح Highpass لمقياس تسارع iPhone؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

أتذكر أنني رأيت رمز مرشح Highpass قبل بضعة أيام في مكان ما في العينات، ولكن لا يمكنني العثور عليه في أي مكان الآن!هل يمكن لأحد أن يتذكرني أين كان رمز تنفيذ مرشح Highpass؟

أو الأفضل من ذلك نشر الخوارزمية؟

شكرًا!

هل كانت مفيدة؟

المحلول

من منتديات idevkit.com:

#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 المرجعية - مثال على الرسم البياني لمقياس التسارع

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top