كيف يمكنك استخدام المتوسط ​​المتحرك لتصفية قيم مقياس التسارع في نظام التشغيل iPhone OS

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

سؤال

أريد تصفية قيم مقياس التسارع باستخدام المتوسط ​​المتحرك، كيف يتم ذلك؟شكرًا

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

المحلول

يعد مرشح IIR المتكرر البسيط ذو القطب الواحد والممر المنخفض سريعًا وسهل التنفيذ، على سبيل المثال.

xf = k * xf + (1.0 - k) * x;
yf = k * yf + (1.0 - k) * y;

حيث x وy هي إشارات مقياس التسارع X/Y الأولية (غير المفلترة)، وxf وyf هي إشارات الخرج المفلترة، وتحدد k الثابت الزمني للمرشحات (عادةً ما تكون قيمة بين 0.9 و0.9999...، حيث تكون k أكبر يعني ثابت زمني أطول).

يمكنك تحديد k تجريبيا، أو إذا كنت تعرف تردد القطع المطلوب، Fc, ، ثم يمكنك استخدام الصيغة:

k = 1 - exp(-2.0 * PI * Fc / Fs)

أين Fs هو معدل العينة.

لاحظ أن xf وyf هي القيم السابقة لإشارة الخرج على RHS، وقيم الخرج الجديدة على LHS للتعبير أعلاه.

لاحظ أيضًا أننا نفترض هنا أنك ستقوم بأخذ عينات من إشارات مقياس التسارع على فترات زمنية منتظمة، على سبيل المثال.كل 10 مللي ثانية.سيكون الثابت الزمني دالة لكل من k وفاصل العينات هذا.

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