تشخیص خودکار خطا در شبکه حسگرهای دمایی مبتنی بر فیلتر کالمن و جبران سازی برخط خطا با استفاده از الگوریتم ژنتیک

نوع مقاله: مقاله علمی فارسی

نویسندگان

1 دانشجوی کارشناسی‌ارشد، دانشکده مهندسی برق- دانشگاه صنعتی نوشیروانی بابل- بابل- ایران

2 استادیار، دانشکده مهندسی برق- دانشگاه صنعتی نوشیروانی بابل - بابل- ایران

3 - دانشیار، دانشکده مهندسی برق- دانشگاه صنعتی نوشیروانی بابل - بابل- ایران

چکیده

جایگاه حسگرها در صنایع و علوم مختلف به عنوان یک عنصر اساسی و حیاتی، غیرقابل انکار می باشد. بنابراین موضوع خطایابی و رفع خطا در حسگرها اهمیت ویژه ای دارد. دراین تحقیق، یک شبکه از حسگرها شامل چند حسگر دما در نظر گرفته می شود به گونه ای که متوسط دمای حسگرها به عنوان دمای اندازه گیری شده در نظر گرفته می شود. برای مقاوم سازی سیستم در مقابل خطا ابتدا با استفاده از فیلتر کالمن خطای واقع شده تشخیص داده شده است و سپس با استفاده از الگوریتم ژنتیک آرایش سیستم اندازه گیری دما به صورتی مناسب تغییر داده می‌شود به گونه ای که خطای واقع شده تاثیری در دمای قرائت شده نداشته باشد. در این مقاله خطای بایاس، مقیاس، خطای سخت و نویز زیاد مورد مطالعه قرار گرفته‌اند. برای ارزیابی کارایی ساختار پیشنهادی شبیه سازی‌هایی در نرم افزار مطلب صورت گرفته است و نشان داده‌اند که برای طیف وسیعی از شدت خطا سیستم به صورت موثر مقاوم است.

کلیدواژه‌ها


عنوان مقاله [English]

Automatic Fault Detection in Temperature Sensor Network Based on Kalman Filter and Online Fault Recovery Using Genetic Algorithm

نویسندگان [English]

  • zahra khodadad 1
  • yasser baleghi 2
  • hossein miarnaimi 3
1 Dept. of Electrical Engineering, University of Babol Noshirvani, Babol, Iran
2 Dept. of Electrical Engineering, University of Babol Noshirvani, Babol, Iran
3 Dept. of Electrical Engineering, University of Babol Noshirvani, Babol, Iran
چکیده [English]

Sensors have a great role in industry and science. Thus fault detection and mitigation in sensors is of special importance. In this paper, a network of temperature sensors is considered to measure the temperature of an area. The weighted average of sensors is considered as the final output for more reliability. Some of sensors are considered to provide redundancy for fault mitigation. Kalman filter detects fault and Genetic algorithm changes system such that the fault is mitigated. In this paper, bias fault, scaling fault, high noise fault and hard fault are considered and this system is resistant and effective for a variety of faults.

کلیدواژه‌ها [English]

  • Genetic Algorithm
  • Fault Detection
  • Fault mitigation
  • Temperature sensor
  • Evolvable hardware
  • Kalman filter

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

حسگرهای دمایی از جمله حسگرهایی هستند که کاربرد‏های گسترده‏ای در زمینه‏های مختلف علوم دارند. حسگرهای دمایی انواع مختلفی مانند مقاومتی، ترموکوپل یا ترمیستور و... داشته و در بسیاری از زمینه‏های کاربردی به کار می‏روند. از این نوع حسگر‏ها ‏‏در کاربردهای فضایی ]1[، هواشناسی ]2[ و کاربرد‏های اختصاصی بسیاری در صنایع و علوم مختلف استفاده می‏شود. حسگرهای دمایی بسیار مستعد خطا هستند به همین علت‏ طراحی شبکه‌های حسگرهای دمایی مقاوم در برابر خطا یکی از موضوعات پژوهشی مورد توجه پژوهشگران‏‏ است ]3[.

در حسگرهای دمایی خطا در اثر تغییرات ناهمگون در ترکیب فلزاتی که در حرارت‏های بالا قرار می‌گیرند و همچنین، ایجاد گرما در اثر عبور جریان در حسگر و ایجاد فشار براثر شوک و نوسان، ایجاد می‌شود. اگر حسگر به طور مداوم در معرض حرارت‏های بالا قرار گیرد، به ازای هر سال، چندین درجه دچار خطا خواهد شد. مجموعه ‏‏این شرایط نامطلوب فیزیکی که در حسگر ایجاد می‏شود، باعث ایجاد خطاهای مختلفی مانند بایاس، مقیاس و انواع دیگر خطاها خواهد شد ]1 [.

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

در روش‌های سخت‏افزاری، از سخت‏افزارهای تکامل‏پذیر برای جبران خطا استفاده می‌شود. از سخت‏افزارهای تکامل‏پذیر می‌توان از FPGA و FPTA، FPAA نام برد. در کارهای قبلی بیشتر از سخت‏افزار آنالوگ FPAA در زمینه ‏تصحیح خطا در حسگرهای دمایی استفاده شده است ]3[. علت‏ انتخاب سخت‏افزار آنالوگ FPAA نسبت به سخت‏افزارهای دیجیتال آن است که دیگر نیاز به مبدل‏های آنالوگ به دیجیتال و دیجیتال به آنالوگ برای ذخیره کردن و بازبینی منابع اندوخته‌ها نیست. همچنین، معادل آنالوگ توان مصرفی کمتری دارد. که این مسأله در کاربردهای بدون سیم و شرایطی که فراهم کرد‏‏ن انرژی سخت است، از اهمیت زیادی برخوردار است. استفاده از طراحی آنالوگ به صورت بالقوه سطح مرده کمتری در مدار نسبت به نوع دیجیتال به جا می‌گذارد.

در روش‌های نرم‏افزاری از الگوریتم‌های متفاوتی برای تشخیص و تصحیح خطا بهره برده شده است که از آن جمله می‌توان به الگوریتم فیلتر کالمن ]4 و 5[، شبکه‌های عصبی ]1[، سیستم‌های مبتنی بر دانش ]6[، الگوریتم ژنتیک ]3[ و... اشاره کرد. پژوهش‌های زیادی در زمینه ‏‏تشخیص و جبران‏سازی خطا به روش‏های سخت‌افزاری و نرم‏افزاری انجام شده است.

در سال 2006 هیرفورد‏[1] با استفاده از روش فیلتر کالمن موفق به تشخیص خطا در حسگرهای مقاومتی‏ (‏PRTD) شد ‏‏]3 و 4[. با استفاده از مقایسه ‏‏سیگنال تخمین زده شده ‏‏حاصل از فیلتر کالمن با سیگنال اصلی، وقوع خطا تشخیص داده شد. نحوه ‏‏تشخیص خطا با استفاده از فیلتر کالمن در مقاله ‏یاد شده با استفاده از آستانه‌گذاری انجام شده‌است. اختلاف بیشتر از حد آستانه این دو سیگنال، به عنوان خطا در حسگر تشخیص داده می‏شود. در این پژوهش تنها دو خطای اتصال کوتاه و مدار باز بررسی شده است. در این مقاله، از سخت‌افزار تکامل پذیر FPAA، برای جبران خطا استفاده شده است.

ادوارد بالابان[2] به همراه همکارانش در سال 2009 با استفاده از مدل‌کردن انواع خطاها در حسگرهای فضایی، تشخیص خطاها را با استفاده از شبکه‌های عصبی چند لایه انجام داده‌اند. نقطه قوت این بررسی‏‏، ارایه‏‏ ‏‏پژوهشی در زمینه ‏انواع حسگرهایی است که دارای کاربرد فضایی‌اند و همچنین، انواع خطاها ‏ممکن به همراه مدل ریاضی آن‌ها که در هر یک از حسگر‌ها ممکن است به وجود بیاید ]1[. در پژوهش‏‏ یاد شده تنها فرآیند تشخیص‌خطا، آن هم تنها برای سه نوع خطای بایاس، مقیاس و دریفت، انجام شده است و در مورد جبران‏سازی خطا، گزارشی ارایه‏‏ نشده است.

این گروه پژوهشی در سال 2012، تشخیص و تصحیح خطا در حسگرهای فضایی را با استفاده از روش سیستم‌های مبتنی بر دانش انجام دادند که برتری‌ها و نقایصی نسبت به روش شبکه‏های عصبی داشت ]6[. وجه تمایز این پژوهش‏‏ با دو پژوهش‏‏ گذشته، در جداسازی خطای حسگر از خطای سیستم است. برای تشخیص و جداسازی، از زمان تشخیص خطا به عنوان عامل کلیدی در تمیز دادن این دو نوع خطا بهره برده شده است. البته پژوهش‏ها شامل تمام انواع خطاها نبود و از برخی خطاها چشم پوشی شده بود. در پژوهش‌های انجام شده، خطاهای محدودی در نظر گرفته شده است و در برخی از این پژوهش‏ها نیز فقط تشخیص خطا انجام شده شده است. در پژوهش‏‏‌های گذشته خطاهایی مانند نویز و خطای سخت در نظر گرفته نشده است. در این مقاله، کوشش شده است شبکه حسگرهای با قابلیت آرایش مجدد ارایه‏‏ شود‏‏ به گونه‌ای که امکان آشکارسازی و جبران دو خطای یاد شده به همراه خطاهای بایاس و مقیاس فراهم آید. ادامه مقاله به شکل زیر سازماندهی شده است. در فصل دوم پیش زمینه‏ای ‏‏از مفاهیم به کار گرفته شده ارایه‏‏ شده است. در فصل سوم سیستم پیشنهادی تجدید پذیر مقاوم در مقابل خطا معرفی شده است و الگوریتم کلی حل مسئله بیان شد‏‏ه است. در فصل چهارم نحوه ‏‏تشخیص انواع خطاها بیان شده است. در فصل پنجم نحوه ‏‏تصحیح خطا توسط الگوریتم ژنتیک ارایه‏‏ شده است و در فصل ششم شبیه‏سازی‌های انجام شده به همراه ارایه‏‏ ‏نتایج آورده شده است. در فصل آخر نیز راهکارهای ارایه‏‏ شده برای کارهای بیشتر در آینده پیشنهاد شده است.

 

1- پیش‌زمینه

قبل از بیان الگوریتم حل مسئله که در این مقاله ارایه‏‏ شده است، لازم است مفاهیم پایه‏ای به کار گرفته شده در این پژوهش‏‏ بیان شود. الگوریتم‏های مورد استفاده در این مقاله، الگوریتم فیلتر کالمن و الگوریتم ژنتیک است که از فیلتر کالمن در تشخیص خطای حسگر‏ها ‏‏و از الگوریتم ژنتیک در جهت رفع خطای ایجاد شده در حسگرها بهره گرفته شده است.

 

1-1- فیلترکالمن

فیلتر کالمن یک فیلتر بازگشتی است که حالت یک سیستم را با استفاده از اندازه‏گیری‌های همراه با خطا برآورد می‌کند ]5[. شکل‏ (1)، تصویر کلی الگوریتم فیلتر کالمن را نشان می‏دهد. در این فیلتر با توجه به مدل دینامیکی توصیف کننده ‏‏سیستم در حضور نویز مقادیر لحظه‏ای خروجی و متغیرهای سیستم پیش‏بینی می‌شود‏‏.

 

 

شکل‏ (1): نحوه عملکرد فیلتر کالمن

 

نحوه ‏‏عملکرد فیلترکالمن در دو مرحله ‏اصلی خلاصه می‌شود. مرحله ‏‏اول مرحله ‏‏پیش‌بینی نامیده می‌شود. در گام پیش‌بینی، با استفاده از حالت فعلی و مدل دینامیکی سیستم، حالت بعدی سیستم پیش‌بینی می‌شود. مدل دینامیکی، نحوه ‏‏عملکرد سیگنال را در یک بازه ‏‏زمانی نشان می‌دهد. برای سیستم‌های غیرخطی و در حالت کلی معادله ‏‏دیفرانسیلی به شکل رابطه (1) تعریف می‌شود.

‏ (‏1)

 

مدل تخمین خطی به شکل رابطه 2 بیان می‌شود.

‏ (‏2)

 

ماتریس F، ماتریس دینامیکی نامیده و ثابت در نظر گرفته می‌شود. n‏ (‏t) نیز نویز دینامیکی نامیده می‌شود که معمولا به شکل نویز سفید بیان می‌شود و دارای ماتریس کوواریانس Q‏ (‏t) است. در گام پیش‌بینی متغیری با عنوان کوواریانس خطا به شکل رابطه 3 تعریف می‌شود.

‏ (‏3)

 

دررابطه (3)، p معادل کوواریانس خطا تعریف می‌شود. در گام تصحیح، مقدار پیش‌بینی شده در مرحله ‏‏اول، با استفاده از مقادیر اندازه‌گیری شده، تصحیح می‌شود. در تصحیح مقدار پیش‌بینی شده، از مدل مشاهده استفاده می‌شود. مدل مشاهده ارتباط بین حالت و مقادیر اندازه‏گیری است و به شکل روابط (4) و (5) تعریف می‌شود:

‏ (‏4)

 

‏ (‏5)

 

در روابط بالا، L  بردار مشاهدات در زمان t،
H ماتریس مشاهدات و W نویز اندازه گیری است که دارای ماتریس کوواریانس R‏ (‏t) می‏باشد. در این پژوهش،‏‏ نویز اندازه‌گیری و دینامیکی با استفاده از روابط و فرضیات موجود در ]3[ و همچنین، مشخصات سیگنال اصلی به دست آمدند. برای اطمینان از عملکرد سیستم، نویز به مقدار بیشتری انتخاب شده است. شایان ذکر است که فیلتر کالمن دارای متغیری به نام بهره کالمن نیز می‏باشد که عمل تصحیح، با به روزرسانی این متغیر انجام می‏شود. با ضرب بهره کالمن در مقادیر اندازه‌گیری‌ شده با استفاده از مدل مشاهده، عمل تصحیح انجام می‏شود‏‏. رابطه ‏‏(6) ‏‏مربوط به نحوه محاسبه ‏‏بهره کالمن است.

‏ (‏6)

 

با استفاده از بهره به دست آمده در رابطه (6)، حالت بعدی سیستم پیش‌بینی می‌شود. در این رابطه K بهره ‏‏فیلتر کالمن است و همان‏طور که اشاره شد‏‏، P ماتریس کوواریانس و R ماتریس کوواریانس نویز اندازه‌گیری است. در رابطه‏های (7) و (8) تصحیح مقادیر پیش‌بینی شده، نشان داده شده است.

‏ (‏7)

 

‏ (‏8)

 

 

1-2- الگوریتم ژنتیک

الگوریتم ژنتیک از جمله الگوریتم‏های تکاملی است که با الهام از الگوریتم به کار رفته شده در طبیعت، راه کارهایی برای حل بسیاری از مسائل ارایه‏‏ می‏کند. در گام اول، مجموعه‌ای تصادفی از پاسخ‏ها ‏‏به عنوان نسل اول انتخاب می‌شوند و در ادامه کوشش می‌شود نسل موجود با مکانیسم تدریجی تکامل داده شده و در نهایت، پاسخ بهینه یا نزدیک به بهینه به دست آید. میزان نزدیکی هر پاسخ در هر نسل، برای هر پاسخ شاخصی به نام تابع برازندگی در نظر گرفته می‌شود. برای تولید نسل بعد از نسل فعلی، پاسخ‌های برازنده‌تر با احتمال بیشتر انتخاب می‌‏شوند. از ترکیب هر دو پاسخ انتخاب شده با عملگری به نام همبری، دو پاسخ جدید تولید می‏شود. این فرآیند تا تکمیل نسل جدید ادامه پیدا می‏کند.

برای جلوگیری از هم‏گرایی زودرس الگوریتم، عملگر دیگری به نام جهش، تغییر تصادفی کوچکی در نسل جدید ایجاد می‏کند. الگوریتم با دو معیار متوقف می‏شود:
الف – زمان اجرای از پیش تعیین شده منقضی شده باشد؛ و ب- کیفیت یا برازندگی پاسخ‏ها ‏‏به میزان مورد نظر رسیده باشد]7[.

 

2- سیستم پیشنهادی تجدید پذیر مقاوم در برابرخطا

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

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

پایگاه داده ‏‏برکلی شامل 2/3 میلیون دیتاست. از این پایگاه داده در پژوهش‏های زیادی استفاده شده است ]8[. این پایگاه شا‌‌مل حجم بالایی از اطلاعات جمع آوری شده از حسگرهای دمایی است و شامل مجموعه اطلاعاتی می‏باشد که از 54 حسگری که در نقاط مختلف یک آزمایشگاه قرار داده شده، به دست آمده است. این مجموعه اطلاعات از تاریخ 28 فوریه تا 5 آوریل سال 2004 در این آزمایشگاه جمع‏آوری شده است. دراین مقاله، از بخشی از داده‌های دمایی استفاده شده است.

 

 

 


شکل‏ (2): الگوریتم کلی سیستم مقاوم در برابر خطا

 

 

3- تشخیص خطا

خطا نتیجه هر گونه نقص فیزیکی یا نرم‏افزاری است که عملکرد یک سیستم را مختل می‏کند. در یک سیستم اندازه‌گیری، انواع مختلف خطا ممکن است واقع شود. در این پژوهش،‏‏ چندین نوع خطا مدل‏سازی شده و بر روی داده اعمال شده است. هر کدام از خطاها می‌تواند نتیجه ‏‏یک نقص فیزیکی باشد که در ساختار حسگر به وجود آمده است. در این پژوهش‏‏ 4 نوع خطای اصلی در نظر گرفته شده است و کوشش می‌شود سیستم شناسایی به گونه‌ای طرح شود که در صورت وقوع هریک از این خطاها، توانایی آشکار‌سازی خطا را داشته باشد.

همان‏طور که توضیح داده شد، روند تشخیص خطا در حسگرها، توسط فیلتر کالمن از طریق آستانه گذاری انجام می‏شود. رابطه ‏‏(9) این حد آستانه را نشان می‌دهد.

‏ (‏9)

 

در عبارت بالا d noise معادل با نویز دینامیکی است و m noise نویز اندازه‌گیری است.

برای تعیین دینامیک سیستم از مثال ارتباط بین متغیر مسافت و سرعت در حرکت یک قطار استفاده شده است. در حسگرها نیز می‌توان خروجی حاصل از حسگرها را به عنوان متغیر مسافت در حرکت قطار در نظر گرفت. مسافت و سرعت را می‏توان به شکل ماتریس زیر در نظرگرفت:

‏ (‏10)

 

در ماتریس بالا مقدار داده ‏‏اول بیانگر مسافت و داده ‏‏دوم بیانگر سرعت است. طبق قانون نیوتن داریم:

‏ (‏11)

 

در روابط 11 و 12 ، aیا ak شتاب،  سرعت اولیه و t زمان است. همچنین، تغییرات مسافت است. با مقایسه ‏‏رابطه ‏‏مربوط به قانون نیوتن و فیلتر کالمن داریم:

‏ (‏12)

 

بنابراین:

‏ (‏13)

 

‏ (‏14)

 

در رابطه‏های (13) و (14)،  اختلاف زمان بین داده ‏‏فعلی و داده ‏‏بعدی است. در مدل مشاهده داریم:

‏ (‏15)

 

‏ (‏16)

 

در روابط بالا، L بردار مشاهده، H ماتریس مشاهده و W نویز اندازه‌گیری است. مدل انواع خطاهای مختلف، در زیر آورده شده است.

 

3-1- خطای بایاس

در این نوع خطا یک مقدار ثابت (‏) به سیگنال اصلی اضافه می‏شود. در صورت ایجاد این خطا در حسگر، بدون حضور سیگنال ورودی، یک مقدار آفست در خروجی وجود دارد. رابطه ‏‏مربوط به مدل این نوع خطا در رابطه (17) نشان داده شده است.

‏ (‏17)

 

همان‏طور که در شکل ‏(3)-الف نشان داده شده است، خطای بایاس در ثانیه 70 بر روی سیگنال اعمال شده است. خطا با استفاده از اختلاف سیگنال اصلی حامل خطا از سیگنال تخمین زده شده توسط فیلتر کالمن آشکار می‏شود. هرگاه اختلاف این دو سیگنال از مجموع نویز اندازه گیری و نویز دینامیکی بیشتر باشد، به عنوان خطا در نظر گرفته می‌شود. در روابط‌‌‏ (17) تا (20)، X سیگنال اصلی و Yf سیگنال حاوی خطاست.

 

3-2- خطای مقیاس

در این نوع خطا، دامنه ‏‏سیگنال در ضریبی (‏ثابت یا متغیر با زمان)، ضرب می‏شود. مدل ریاضی این نوع خطا به شکل رابطه (18) است. نتایج عملکرد فیلتر کالمن بر روی خطای مقیاس در شکل ‏(3)- ب نشان داده شده است.

‏ (‏18)

 

در خطای بایاس به علت‏ تغییرات شدید در اثر اعمال خطا، نشان دادن عملکرد تشخیص خطا در این مورد بسیار دشوار بود. بنابراین، برای رفع مشکل کوشش شده است، محدوده ‏‏بسیار کوچک نزدیک به لحظه ‏‏اعمال خطا نشان داده شود که در این مورد به علت‏ تغییرات شدید باز هم همانند دیگر موارد واضح نیست. α شاخص‏‏ مقیاس است.

 

3-3- خطای نویز زیاد

خطای نویز زیاد معادل اضافه شدن نویزی با توان بالا در یک بازه ‏زمانی به سیگنال است. به علت توان بالا، نویز سبب تغییرات بزرگ در مقدار اندازه‏گیری شده، می‌شود. مدل ریاضی خطای نویز در رابطه ‏‏19 بیان شده است. در این رابطه High noise، نویز‌زیاد است.

‏ (‏19)

 

در شکل ‏(3) – ج نویز گوسی و سفید با واریانس 2 به سیگنال اضافه شده است. همان‏طور که مشاهده می‌شود، به علت ماهیت تصادفی نویز، فرآیند تشخیص ممکن است کمی با تاخیر انجام شود. خطای ایجاد شده ممکن است در زمان‌های بعدی از حد آستانه عبور نکند.

3-4- خطای سخت

در خطای سخت، قسمتی از سیگنال از بین می‌رود. در این شرایط یک مقدار ثابت به جای سیگنال از بین رفته، قرار می‏گیرد. مدل ریاضی ارایه‏‏ شده برای این نوع خطا به شکل رابطه ‏‏(20) است. در این رابطه C مقدار ثابتی است که در اثر ایجاد خطا جایگزین سیگنال اصلی می‌شود.

‏ (‏20)

 

در شکل‏ ‏(3) - د نحوه ‏‏تشخیص خطای سخت توسط فیلتر کالمن نشان داده شده است.

 

 

4- تصحیح خطا

همان‏طور که بیان شد، برای جبران‌سازی و تصحیح خطا با استفاده از الگوریتم ژنتیک کوشش می‌شود تا بهره‌های حسگرهای مختلف به گونه‌ای اصلاح ‏شوند که خروجی جدید ناشی از آن‌ها، بر خروجی پیش‏بینی شده توسط فیلتر کالمن منطبق باشد. شمای کلی روند تنظیم مقادیر بهره‌ها در شکل (2) نشان داده شده است. پس از تشخیص خطا توسط فیلتر کالمن، مقدار حسگر دارای خطا در مقدار بهره‌ای که توسط الگوریتم ژنتیک در سخت‏افزار تعیین شده است، ضرب می‌شود و از این طریق خطا تصحیح می‌شود.

 

 

 

ب- خطای مقیاس

 

الف- خطای بایاس

 

د- خطای سخت

 

ج- خطای نویز با دامنه ‏بالا

شکل‏ (3): نمایش عملکرد فیلتر کالمن و الگوریتم ژنتیک در تشخیص و جبران‏سازی خطا

 

 

 

برای تصحیح خطا توسط الگوریتم ژنتیک از تابع برازندگی[3] به شکل رابطه ‏‏21 استفاده شده است.

‏ (‏21)

 

در رابطه بالا G1، G2و G3 مقدار بهره‌هایی است که توسط الگوریتم ژنتیک به هر حسگراختصاص داده شده است. شاخص‏‏های S1، S2 وS3 مقدار هر حسگر است. مقدار est نیز تخمین فیلتر کالمن است.

در شکل (3) سیگنال تصحیح شده نشان داده شده است.

 

جدول‏ (1): شاخص‏‏های در نظر گرفته شده برای الگوریتم ژنتیک

کروموزوم ها

مقادیر عددی هر بهره به شکل یک کروموزوم در نظر گرفته می‌شود

میزان همبری[4]

8/0

میزان جهش[5]

7/0

الگوریتم انتخاب

چرخه ‏‏رولت[6]

معیار توقف الگوریتم

کیفیت یا برازندگی پاسخ‏ها ‏‏به میزان مطلوب رسیده باشد

 

5- نتایج

همان‏طور که پیش‏تر نیز اشاره شد، در این الگوریتم، ابتدا خطا توسط فیلتر کالمن تشخیص داده می‌شود، سپس خطای تشخیص داده شده توسط الگوریتم ژنتیک اصلاح می‌شود. هر چه شدت خطا بیشتر باشد، فیلتر کالمن خطا را بهتر تشخیص می‌دهد و هر چه خطا کمتر باشد به علت‏ کم شدن اختلاف بین سیگنال حاوی خطا با سیگنال عاری از خطا تشخیص خطا توسط فیلتر کالمن دشوارتر می‌شود.

در شکل ‏(4) - الف روند میزان تغییر میانگین مربعات خطا بر حسب مقدار بایاس نشان داده شده است. به ازای مقدار بایاس صفر خطایی در شبکه اتفاق نمی‏افتد و این مقدار خطا تقریبا برابر صفر است. با افزایش مقدار بایاس تا حدود مقدار4، خطا افزایش می‌یابد. البته این میزان افزایش خطا منظم نیست و به شکل نامنظم بین محدوده صفر تا 0. 14 است. علت این امر دخالت مقدار نویز در روند الگوریتم فیلتر کالمن است. در مقادیر بایاس 1، 2 و 3، خطا یا تشخیص داده نمی‌شود یا تصحیح به درستی انجام نمی‏شود. بنابراین، روش اعمالی در این بازه ‏‏بایاس، عملکرد خوبی ندارد. در مقادیر بایاس بیشتر از 3، الگوریتم عملکرد خوبی دارد و میزان میانگین مربعات خطا در این موارد حدود 0. 00005 است.

در شکل (4) - ب میزان تغییرات میانگین مربعات خطا بر حسب مقیاس نشان داده شده است. الگوریتم اعمال شده بر روی خطای مقیاس عملکرد بسیار خوبی داشته است. به جز در مواردی که میزان شاخص‏‏ مقیاس به مقدار یک بسیار نزدیک می‏شود، در باقی موارد خطا به خوبی تشخیص داده می‌شود. وقتی به شاخص‏‏ مقیاس مقدار یک اختصاص داده می‌شود، در واقع خطایی بر روی سیگنال اعمال نشده و طبیعی است که میزان خطا در این مورد تقریبا صفر باشد.

درخطای سخت که در شکل ‏(4) - ج نشان داده شده است، سیگنال بدون خطا کمابیش در محدوده ‏‏18. 5 تا 19 است. بنابراین، جایگزینی مقادیری بین 5 تا 12 به جای مقادیر سیگنال، که اختلاف زیادی با مقدار سیگنال دارد، باعث می‌شود که فیلتر کالمن خطا را به درستی تشخیص دهد و به تبع آن تصحیح خطا به درستی انجام ‏شود. هر چه این مقدار ثابت به محدوده ‏‏سیگنال اصلی نزدیک شود، عملکرد فیلتر کالمن در تشخیص خطا ضعیف‌تر می‌شود و مجددا با دور شدن این شاخص‏‏، عملکرد فیلتر کالمن بهبود یافته و خطای تشخیص‏ (‏میانگین مربعات خطا) کاهش می‌یابد. در تمامی مواردی که بیان شد، خطا فقط بر روی یک حسگر اعمال شده است.


 

الف- خطای بایاس

 

ب- خطای مقیاس

 

ج- خطای سخت

 

د- خطای نویز زیاد

 

شکل‏ (4): نمایش میزان تغییرات میانگین مربعات خطا بر حسب شاخص‏‏های خطا

 

 

در شکل ‏(4)- د، میزان میانگین مربعات خطا بر حسب واریانس نویز نمایش داده شده است. در محدوده ‏‏واریانس 3 تا 5، میانگین مربعات خطا به نسبت سایر مقادیر واریانس، بیشتر است. اما نسبت به سایر خطاها، مقدار میانگین مربعات خطا بیشتر است که علت آن، غیریکنواخت بودن نویز است.

نکته شایان توجه در تعیین بهره‌های اختصاص داده شده به هر حسگر این است که ممکن است عملکرد الگوریتم ژنتیک باعث پوشیده شدن خطا یا به عبارتی مخفی ماندن خطا شود. در چند مرحله خطا تشخیص داده شده است و در هر مرحله بهره‌های لازم برای هر حسگر تعیین می‌شود. در جدول (3) مقادیر این بهره‌ها نشان داده شده است. بهره 1، 2 و 3 به ترتیب متعلق به حسگر1، 2 و 3 است. در آزمایش یاد شده، خطا به حسگر 1 اعمال شده است. همان طور که در بخش‌های قبلی توضیح داده شد، الگوریتم ژنتیک با اختصاص بهره ‏‏کمتر به حسگر حاوی خطا، خطا را رفع می‌کند. همان‏طور که در جدول (2) نشان داده شده است، بهره ‏‏اختصاص داده شده به حسگر اول که حاوی خطا نیز می‏باشد، صفر و در موارد کمی نیز مقدار کوچک 1 و 3 اختصاص داده شده است. نکته ‏شایان توجه در این جدول، اختصاص یافتن مقادیر صفر به حسگر دوم و سوم است. به عبارتی در این حسگرها پوشش خطا رخ داده شده است. به این معنا که اگر در این حسگر‏ها ‏‏خطا رخ می‏داد، به علت اختصاص بهره ‏‏صفر به این حسگر خطا تشخیص داده نمی‌شد.

این روند مخفی شدن خطا توسط عملکرد الگوریتم ژنتیک طبیعی است. از آنجا که الگوریتم ژنتیک برگرفته شده از طبیعت و روندی تصادفی است، احتمال رخداد چنین پدیده‌ای طبیعی است، چنین پدیده‏ای در ]9 [نیز گزارش شده است. بدین صورت که در تکامل کنترل کننده ‏‏یک روبات خطا روی بعضی از حسگرها به هیچ وجه باعث کاهش کارایی عملکرد و برازندگی نمی‏شد. در این مقاله، نکته ‏اساسی که از الگوریتم ژنتیک انتظار می‏رفت، تصحیح خطا، یعنی اختصاص بهره کم به حسگر حاوی خطا بود که به درستی انجام شد.

در جدول (2)، از میانگین مربعات خطا به عنوان شاخص‏ ‏‏برای سنجش میزان خطا پس از تصحیح، استفاده شده است. بیش‏ترین میزان خطا مربوط به خطای نویز زیاد است. این امر به علت ویژگی غیر یکنواختی و پراکندگی زیاد نویز می‏باشد.

 

 

جدول‏ (2): بهره‏های به دست آمده از الگوریتم ژنتیک در هر بار اصلاح انواع خطا با تغییر تعداد نسل‏ها

میانگین مربعات خطا قبل از تصحیح

تعداد نسل‏ها

میانگین مربعات خطا بعد از تصحیح

بهره ‏سوم

بهره ‏دوم

بهره ‏اول

شاخص‏‏ خطا

انواع خطا

آزمایشات/شاخص‏‏ها

0. 7857

4

0. 005

0. 8531

0

0

5

خطای بایاس

اعمال خطا در حسگر اول

10

0. 001

0

9. 6051

0

12

0. 001

6

9

1

18

0. 004

6

9

1

25

0. 0011

6

9

1

35

0. 00005

4

0

0

50

0. 00006

0

3. 51

0

922100

4

0. 00005

0

23. 25

0

5

خطای مقیاس

10

0. 00005

0

23. 25

0

12

0. 00007

0

14. 23

0

18

0. 00006

40. 7

0

0

25

0. 00006

0

27. 34

0

35

0. 00005

29. 13

0

0

50

0. 00005

40. 7

0

0

79. 5133

4

0. 0015

60

40

3

5

خطای سخت

10

0. 0005

4

0

0

12

0. 00004

4

0

0

18

0. 00007

0

9. 6

0

25

0. 00005

4

0

0

35

0. 00005

8

9

0

50

0. 00006

0

9. 6

0

1. 2409

4

0. 00261

0

9. 6

0

2

خطای نویز

10

0. 0261

0

9. 6

0

12

0. 0161

4

0

0

18

0. 02

0

9. 6

0

25

0. 0196

6

9

1

35

0. 011

6

9

1

50

0. 0145

0. 4578

0

0

 

 

 

 

جدول‏ (3): بهره‏های به دست آمده از الگوریتم ژنتیک در هر بار اصلاح انواع خطا ‏به وجود آمده در دو حسگر

آزمای‏ها/ شاخص‏‏ها

شاخص‏‏خطا اول

شاخص‏‏ خطا دوم

بهره اول

بهره دوم

بهره سوم

میانگین مربعات خطا پس ازاعمال خطا

تعداد نسل‏ها

میانگین مربعات خطا قبل از اعمال خطا

اعمال خطای بایاس در حسگر اول و خطای مقیاس در حسگر سوم

5

5

0

9. 6051

0

0. 00005

5

226. 4493

0

9. 6

0

0. 00006

15

0

9

0

0. 000049

25

0

10

0

0. 000056

35

0

3. 5186

0

0. 00005

50

اعمال خطای مقیاس در حسگر اول و خطای سخت در حسگر سوم

5

5

0

9. 6

0

0. 000069

5

132. 6282

0

9. 6

0

0. 000058

15

0

9

0

0. 000054

25

0

6

0

0. 0081

35

0

7. 7063

0

0. 000037

50

اعمال خطای نویز در حسگر اول و خطای بایاس در حسگر سوم

2

2

0

5

0

0. 0025

5

0. 9061

0

7. 7063

0

0. 0038

15

0

6

0

0. 0016

25

0

3. 58

0

0. 0011

35

0

9. 6

0

0. 0043

50


در جدول (2)، شاخص‏‏ تعداد نسل‏ها ‏‏نیز مطرح شده است که در مورد خطای بایاس با افزایش تعداد نسل‏ها ‏‏میزان خطا کاهش یافته است. اما درمورد سایر خطا‏ها، شاخص‏‏ تعداد نسل‌ها تأثیری در روند تغییرات خطا ندارد. علت این امر را باید شدت تغییرات اعمالی برروی داده دانست. برای مثال درخطای نویز، سیگنال در قسمت‏هایی که حاوی خطا نیست دارای واریانس 0. 4 است اما در هنگام اعمال خطای نویز با دامنه ‏بالا، نویزی با واریانس 2 به سیگنال اضافه شده است. بنابراین، این شدت تغییرات توسط الگوریتم به وضوح قابل تشخیص است و با افزایش تعداد نسل‏ها ‏‏تغییر چندانی نمی‏کند.

در خطای سخت، مقادیر انتخاب شده در این آزمایش 5 است و محدوده ‏تغییرات سیگنال در قسمت‌های بدون خطا حدود 18/5 تا 19 است. بنابراین، در این مورد نیز این اختلاف به وضوح توسط الگوریتم تشخیص داده می‌شود و با تغییر تعداد نسل‏ها ‏‏تغییر چندانی نمی‌کند. علت‏ انتخاب این شاخص‏‏، خطای کم بوده است. همان‏طور که در شکل (4) نیز نشان داده شد،  هر چه این مقدار ثابت به 19 نزدیکتر می‏شد، در مرحله ‏تشخیص الگوریتم دچار اشکال می‌شد و خطا بیشتر می‌شد. در مورد خطای مقیاس نیز به علت عمل ضرب، در سیگنال تغییرات شدیدی ایجاد می‏شود که باز هم به راحتی توسط الگوریتم قابل تشخیص است. درخطای بایاس، به علت اضافه شدن مقدار ثابت 5 و استفاده از میانگین‌گیر به عنوان خروجی حسگرها، تغییرات بسیار واضح نیست و نیاز به تعداد نسل‏های بیشتری برای تصحیح خطاست.

 

6- نتیجه‌گیری

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



[1]  Hereford

[2] Edward Balaban

[3] Fitness function

[4] Crossover

[5] Mutation

[6] Roulette wheel

 

[1] Edward Balaban, AbhinavSaxena, PrasunBansal, Kai F. Goebeland Simon Curran, "Modeling, Detection, and Disambiguation of Sensor Faults for Aerospace Applications", IEEE Sensors Journal, Vol. 9, N0. 12, pp. 1907-1917, 2009.

[2] Michelena, E. D.  Gutman, S. I. " An automatic meteorological data collection system that is installed at Global Positioning System monitoring stations",OCEANS '02 MTS/IEEE,Vol. 4, pp. 1930-1934, 2002.

[3] James M. Hereford, IEEE Transactions on Instrumentation and Measurement, "Fault-Tolerant Sensor Systems Using Evolvable Hardware", Vol. 55, No. 3, pp. 846-853, 2006.

[4] J. Hereford and N. Galyen, "Failure detection for multiple input system",in Proc. IEEE SoutheastCon, Greensboro, NC, pp. 186–193, Mar. 2004.

[5] Simon haykin, Kalman Filtering And Neural Networks Book, Haykin, S. (ed) ,Frontmatter and Index, in Kalman Filtering and Neural Networks, John Wiley & Sons, Inc, 2002.

[6] Jonny Carlos da Silva , AbhinavSaxena , Edward Balaban , Kai Goebel,"A knowledge-based system approach for sensor fault modeling, detection and mitigation", Expert Systems with Applications, Vol 39, No. 12, pp. 10977–10989, 2012.

[7] S. N. Sivanandam, S. N. Deepa, Introduction To Genetic Algorithm, Spring publishing company, 2007.

[8] Amol Deshpande and Carlos Guestrin, "Model-Driven Data Acquisition in Sensor Network", VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Vol 30 , pp. 588-599,2004.

[9] Garrison W. Greenwood and Andrew M.