دادهٔ سنسور نویزی است؟ مقایسهٔ میانگین، میانه و فیلتر EMA
با یک آزمایش پایتون، اثر جهش، تغییر واقعی و دادهٔ نامعتبر را ببینید؛ انتخاب فیلتر همراه با توجه به تأخیر و حفظ هشدار خطا.
فهرست مطالب
آزمایشگاه سنسورها • ۱۸ مهر ۱۴۰۵
با یک آزمایش پایتون، اثر جهش، تغییر واقعی و دادهٔ نامعتبر را ببینید؛ انتخاب فیلتر همراه با توجه به تأخیر و حفظ هشدار خطا.

۱. قبل از نرمکردن نمودار، علت را ببینید
یک خروجی پرنوسان ممکن است نویز اندازهگیری، تغییر واقعی محیط، اشباع یا پاسخ خراب باشد. فیلتر برای همهٔ این موارد یک درمان مشترک نیست. ابتدا دادهٔ خام را نگه دارید و بررسی کنید تغییر با روشنشدن یک بار، جابهجایی کابل یا خطای ارتباط همزمان است یا نه.
در این مقاله، دادهٔ ساختگی برای مقایسه تولید میکنیم؛ نمودار نتیجهٔ آزمون هیچ سنسور فیزیکی نیست. هدف دیدن رفتار الگوریتمها در برابر یک جهش و یک تغییر واقعی پلهای است. فیلتر را بعد از بررسی اعتبار داده قرار دهید، نه بهعنوان راهی برای تبدیل پاسخ خراب به عددی آرام.
۲. میانگین متحرک؛ ساده با هزینهٔ تأخیر
میانگین متحرک، مجموع نمونههای پنجره را بر تعداد آنها تقسیم میکند. پنجرهٔ بزرگتر معمولاً نوسان سریع را آرامتر نشان میدهد، اما تغییر تازه را دیرتر دنبال میکند. فصل میانگین متحرک در راهنمای DSP رفتار این فیلتر را توضیح میدهد.
برای پنجرهٔ پنجنمونهای، یک جهش منفرد در چند خروجی بعدی سهم دارد تا از پنجره خارج شود. اگر فاصلهٔ زمانی نمونهها تغییر کند، پنجرهٔ پنجنمونهای همیشه مدت زمان یکسانی را پوشش نمیدهد. بنابراین زمان نمونهبرداری را هم ثبت کنید.
۳. میانه؛ مناسب برای بررسی جهشهای منفرد
میانهٔ یک پنجره، مقدار وسط دادههای مرتبشده است. در مثال پنجنمونهای، یک مقدار خیلی بزرگ میان چهار مقدار نزدیک، نتیجه را مانند میانگین جابهجا نمیکند. این ویژگی برای بررسی جهشهای منفرد مفید است، اما نشانهٔ برتری همیشگی میانه نیست.
اگر یک رویداد واقعی کوتاه باشد، میانه ممکن است آن را حذف کند. برای تشخیص ضربه یا رخداد سریع، حذف یک قله میتواند دقیقاً همان اطلاعات موردنیاز پروژه را از بین ببرد. انتخاب باید از نوع رویداد و مدت آن شروع شود.
۴. EMA؛ حافظهٔ کم و ضریب روشن
فیلتر نمایی از مقدار قبلی و نمونهٔ تازه استفاده میکند. در فرمول زیر، آلفا بین صفر و یک انتخاب میشود. مقدار کوچکتر، سهم نمونهٔ جدید را کم میکند و پاسخ را کندتر میسازد. اولین خروجی را از نخستین نمونهٔ معتبر آغاز کنید تا یک مقدار اولیهٔ دلخواه نتیجه را منحرف نکند.
y = alpha * x + (1 - alpha) * previous_yاگر فاصلهٔ نمونهها ثابت نیست، یک آلفای ثابت الزاماً پاسخ زمانی ثابتی نمیدهد. برای طراحی پیشرفته میتوان ضریب را متناسب با زمان نمونه تنظیم کرد؛ در مثال این مقاله، فاصلهٔ نمونهها عمداً برابر فرض شده است تا مقایسهٔ اولیه روشن بماند.
۵. آزمایش قابلاجرای همراه مقاله
فایل filters_demo.py بدون کتابخانهٔ اضافی روی Python 3 اجرا میشود. یک دنبالهٔ کاملاً ساختگی با تغییر پلهای و یک جهش میسازد و خروجی خام، میانگین متحرک، میانه و EMA را در CSV ذخیره میکند. پنجرهٔ پنجنمونهای و آلفای ۰٫۲ انتخابهای آموزشیاند، نه تنظیم پیشنهادی برای همهٔ حسگرها.
فایل CSV را رسم کنید و سه پرسش بپرسید: کدام خروجی جهش را کمتر نشان میدهد؟ کدام دیرتر به سطح تازه میرسد؟ اگر هشدار باید سریع فعال شود، کدام تأخیر قابلقبول است؟ پاسخ را با نیاز پروژه مقایسه کنید و بعد پارامترها را عوض کنید.
۶. دادهٔ نامعتبر و شکاف زمانی
قطع ارتباط، NaN و پاسخ خارج از قرارداد قطعه را به صفر تبدیل نکنید. صفر ممکن است یک مقدار فیزیکی معتبر باشد. کد همراه مقدار غیرمتناهی را نمیپذیرد و پنجرهٔ خالی را نیز خطا میداند؛ این رفتار کمک میکند ورودی خراب پنهان نشود.
در محصول، وضعیت داده، زمان آخرین نمونهٔ معتبر و سیاست شروع دوبارهٔ فیلتر را مشخص کنید. پس از یک قطع طولانی، ادامهدادن حافظهٔ قدیمی ممکن است نمایش را کند یا گمراهکننده کند. گاهی بازنشانی با نخستین نمونهٔ تازه مناسب است؛ این تصمیم را صریح بنویسید و آزمون کنید.
۷. معیار انتخاب و مرز کاربرد
| روش | مزیت در مثال آموزشی | محدودیت مهم |
|---|---|---|
| میانگین متحرک | ساده و قابلردگیری | جهش را در پنجره پخش میکند |
| میانه | مقاومت در برابر جهش منفرد | ممکن است رویداد کوتاه واقعی را حذف کند |
| EMA | حافظهٔ کم و اجرای ساده | تأخیر وابسته به ضریب و زمان نمونه |
برای تصمیم کنترلی، تأخیر فیلتر را با تأخیر حسگر و زمان نمونهبرداری جمعاً بررسی کنید. یک نمودار آرام لزوماً تصمیم درست نمیدهد. در مسیر هشدار، رفتار هنگام خطا و رویداد سریع باید مستقل آزموده شود.
همچنین میانگینگیری، آفست ثابت، خطای نصب یا محدودیت مرجع را حذف نمیکند. دادهٔ خام را برای عیبیابی نگه دارید و پارامتر فیلتر را همراه تاریخ و نسخهٔ نرمافزار ثبت کنید.
فایلهای تمرین و گام بعدی
دریافت برگهٔ تمرین و فایلهای همراه (ZIP)
فایلها برای تمرین آموزشی آماده شدهاند. بررسی نرمافزاری، جای آزمون قطعه و سیمکشی واقعی شما را نمیگیرد.
پرسشهای متداول
آیا میانه همیشه بهتر از میانگین است؟
خیر. نوع نویز و رویداد واقعی تعیینکنندهاند؛ میانه میتواند رخداد کوتاه را حذف کند.
آیا فیلتر دقت سنسور را تضمین میکند؟
خیر. فیلتر آفست ثابت، اشباع و نصب نامناسب را اصلاح نمیکند.
آیا هنگام قطع سنسور صفر وارد فیلتر کنیم؟
خیر. دادهٔ نامعتبر را با وضعیت خطا و زمان آخرین خوانش معتبر مشخص کنید.
منابع رسمی
منابع فنی در ۲۰۲۶/۱۰/۱۰ بررسی شدهاند. برای اجرای سختافزاری، مدل و نسخهٔ مستندات قطعهٔ خود را تطبیق دهید.
پرسش و پاسخ مقاله
سوال فنی خود را مطرح کنید
پرسشها و پاسخها پس از بررسی مدیر منتشر میشوند. نویسنده، پیشنویس در انتظار بررسی را میبیند.
هنوز پرسش تاییدشدهای برای این مقاله ثبت نشده است.