دادهٔ سنسور نویزی است؟ مقایسهٔ میانگین، میانه و فیلتر EMA

آزمایشگاه سنسورها • ۱۸ مهر ۱۴۰۵

با یک آزمایش پایتون، اثر جهش، تغییر واقعی و دادهٔ نامعتبر را ببینید؛ انتخاب فیلتر همراه با توجه به تأخیر و حفظ هشدار خطا.

نمودار داده‌های ساختگی شامل جهش و تغییر پله‌ای همراه خروجی سه فیلتر برای مقایسه آموزشی
نمودار آموزشی تألیفی LCENJ؛ تصویر محصول یا نتیجهٔ آزمون فیزیکی نیست. برچسب‌های انگلیسی برای تطبیق با مستندات فنی آمده‌اند.

۱. قبل از نرم‌کردن نمودار، علت را ببینید

یک خروجی پرنوسان ممکن است نویز اندازه‌گیری، تغییر واقعی محیط، اشباع یا پاسخ خراب باشد. فیلتر برای همهٔ این موارد یک درمان مشترک نیست. ابتدا دادهٔ خام را نگه دارید و بررسی کنید تغییر با روشن‌شدن یک بار، جابه‌جایی کابل یا خطای ارتباط هم‌زمان است یا نه.

در این مقاله، دادهٔ ساختگی برای مقایسه تولید می‌کنیم؛ نمودار نتیجهٔ آزمون هیچ سنسور فیزیکی نیست. هدف دیدن رفتار الگوریتم‌ها در برابر یک جهش و یک تغییر واقعی پله‌ای است. فیلتر را بعد از بررسی اعتبار داده قرار دهید، نه به‌عنوان راهی برای تبدیل پاسخ خراب به عددی آرام.

۲. میانگین متحرک؛ ساده با هزینهٔ تأخیر

میانگین متحرک، مجموع نمونه‌های پنجره را بر تعداد آن‌ها تقسیم می‌کند. پنجرهٔ بزرگ‌تر معمولاً نوسان سریع را آرام‌تر نشان می‌دهد، اما تغییر تازه را دیرتر دنبال می‌کند. فصل میانگین متحرک در راهنمای DSP رفتار این فیلتر را توضیح می‌دهد.

برای پنجرهٔ پنج‌نمونه‌ای، یک جهش منفرد در چند خروجی بعدی سهم دارد تا از پنجره خارج شود. اگر فاصلهٔ زمانی نمونه‌ها تغییر کند، پنجرهٔ پنج‌نمونه‌ای همیشه مدت زمان یکسانی را پوشش نمی‌دهد. بنابراین زمان نمونه‌برداری را هم ثبت کنید.

۳. میانه؛ مناسب برای بررسی جهش‌های منفرد

میانهٔ یک پنجره، مقدار وسط داده‌های مرتب‌شده است. در مثال پنج‌نمونه‌ای، یک مقدار خیلی بزرگ میان چهار مقدار نزدیک، نتیجه را مانند میانگین جابه‌جا نمی‌کند. این ویژگی برای بررسی جهش‌های منفرد مفید است، اما نشانهٔ برتری همیشگی میانه نیست.

اگر یک رویداد واقعی کوتاه باشد، میانه ممکن است آن را حذف کند. برای تشخیص ضربه یا رخداد سریع، حذف یک قله می‌تواند دقیقاً همان اطلاعات موردنیاز پروژه را از بین ببرد. انتخاب باید از نوع رویداد و مدت آن شروع شود.

۴. EMA؛ حافظهٔ کم و ضریب روشن

فیلتر نمایی از مقدار قبلی و نمونهٔ تازه استفاده می‌کند. در فرمول زیر، آلفا بین صفر و یک انتخاب می‌شود. مقدار کوچک‌تر، سهم نمونهٔ جدید را کم می‌کند و پاسخ را کندتر می‌سازد. اولین خروجی را از نخستین نمونهٔ معتبر آغاز کنید تا یک مقدار اولیهٔ دلخواه نتیجه را منحرف نکند.

y = alpha * x + (1 - alpha) * previous_y

اگر فاصلهٔ نمونه‌ها ثابت نیست، یک آلفای ثابت الزاماً پاسخ زمانی ثابتی نمی‌دهد. برای طراحی پیشرفته می‌توان ضریب را متناسب با زمان نمونه تنظیم کرد؛ در مثال این مقاله، فاصلهٔ نمونه‌ها عمداً برابر فرض شده است تا مقایسهٔ اولیه روشن بماند.

۵. آزمایش قابل‌اجرای همراه مقاله

فایل filters_demo.py بدون کتابخانهٔ اضافی روی Python 3 اجرا می‌شود. یک دنبالهٔ کاملاً ساختگی با تغییر پله‌ای و یک جهش می‌سازد و خروجی خام، میانگین متحرک، میانه و EMA را در CSV ذخیره می‌کند. پنجرهٔ پنج‌نمونه‌ای و آلفای ۰٫۲ انتخاب‌های آموزشی‌اند، نه تنظیم پیشنهادی برای همهٔ حسگرها.

فایل CSV را رسم کنید و سه پرسش بپرسید: کدام خروجی جهش را کمتر نشان می‌دهد؟ کدام دیرتر به سطح تازه می‌رسد؟ اگر هشدار باید سریع فعال شود، کدام تأخیر قابل‌قبول است؟ پاسخ را با نیاز پروژه مقایسه کنید و بعد پارامترها را عوض کنید.

۶. دادهٔ نامعتبر و شکاف زمانی

قطع ارتباط، NaN و پاسخ خارج از قرارداد قطعه را به صفر تبدیل نکنید. صفر ممکن است یک مقدار فیزیکی معتبر باشد. کد همراه مقدار غیرمتناهی را نمی‌پذیرد و پنجرهٔ خالی را نیز خطا می‌داند؛ این رفتار کمک می‌کند ورودی خراب پنهان نشود.

در محصول، وضعیت داده، زمان آخرین نمونهٔ معتبر و سیاست شروع دوبارهٔ فیلتر را مشخص کنید. پس از یک قطع طولانی، ادامه‌دادن حافظهٔ قدیمی ممکن است نمایش را کند یا گمراه‌کننده کند. گاهی بازنشانی با نخستین نمونهٔ تازه مناسب است؛ این تصمیم را صریح بنویسید و آزمون کنید.

۷. معیار انتخاب و مرز کاربرد

روشمزیت در مثال آموزشیمحدودیت مهم
میانگین متحرکساده و قابل‌ردگیریجهش را در پنجره پخش می‌کند
میانهمقاومت در برابر جهش منفردممکن است رویداد کوتاه واقعی را حذف کند
EMAحافظهٔ کم و اجرای سادهتأخیر وابسته به ضریب و زمان نمونه

برای تصمیم کنترلی، تأخیر فیلتر را با تأخیر حسگر و زمان نمونه‌برداری جمعاً بررسی کنید. یک نمودار آرام لزوماً تصمیم درست نمی‌دهد. در مسیر هشدار، رفتار هنگام خطا و رویداد سریع باید مستقل آزموده شود.

همچنین میانگین‌گیری، آفست ثابت، خطای نصب یا محدودیت مرجع را حذف نمی‌کند. دادهٔ خام را برای عیب‌یابی نگه دارید و پارامتر فیلتر را همراه تاریخ و نسخهٔ نرم‌افزار ثبت کنید.

فایل‌های تمرین و گام بعدی

دریافت برگهٔ تمرین و فایل‌های همراه (ZIP)

فایل‌ها برای تمرین آموزشی آماده شده‌اند. بررسی نرم‌افزاری، جای آزمون قطعه و سیم‌کشی واقعی شما را نمی‌گیرد.

پرسش‌های متداول

آیا میانه همیشه بهتر از میانگین است؟

خیر. نوع نویز و رویداد واقعی تعیین‌کننده‌اند؛ میانه می‌تواند رخداد کوتاه را حذف کند.

آیا فیلتر دقت سنسور را تضمین می‌کند؟

خیر. فیلتر آفست ثابت، اشباع و نصب نامناسب را اصلاح نمی‌کند.

آیا هنگام قطع سنسور صفر وارد فیلتر کنیم؟

خیر. دادهٔ نامعتبر را با وضعیت خطا و زمان آخرین خوانش معتبر مشخص کنید.

منابع رسمی

منابع فنی در ۲۰۲۶/۱۰/۱۰ بررسی شده‌اند. برای اجرای سخت‌افزاری، مدل و نسخهٔ مستندات قطعهٔ خود را تطبیق دهید.