همانطور که از نمودارها شکل ۲.۱۱ و شکل ۲.۱۲ برمیآید، در سیستمهای خطی فیلتر کالمن از فیلتر UKF و فیلتر ذرهای کارآمدتر است، چون دقت پاسخها یکسان است، ولی حجم محاسبات فیلتر کالمن نسبت به دو فیلتر دیگر بسیار کمتر است؛ اما در سیستمهای غیرخطی و نویز غیر گوسی دقت پاسخ فیلتر ذرهای از دو فیلتر دیگر بیشتر است، درحالیکه حجم محاسبات آن از بقیه بیشتر است.
الگوریتم فیلتر کالمن ذرهای
هدف فیلتر ذرهای تخمین تابع چگالی احتمال اصلی به وسیلهی ذرات وزن داده شده است. تخمین بیزی به وسیلهی یک روش عددی است. برای زدن این تخمین ابتدا باید N عدد، به صورت تصادفی تولید کنیم. این N عدد، ذرات فیلتر ذرهای را تشکیل میدهند. اگر هر ذره به صورت که به معنای ذرهی xt ،i ام با وزن نمایش داده شود ، داریم:
( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
(۲.۲۷)
که در این رابطه تابع دلتای دیراک است و نیز وزن ذرهی iام میباشد.
در مرحلهی بعدی هر کدام از این N ذره، از سیستم اصلی عبور داده میشوند. به عنوان مثال اگر معادلات حالت سیستم اصلی به فرم زیر باشد:
(۲.۲۸)
(i=1,…,N) ذراتی هستند که به صورت تصادفی تولید شدهاند، پس از عبور این ذرات از معادلهی حالت سیستم اصلی داریم:
(۲.۲۹)
پس از این مرحله، با بهره گرفتن از این ذرات، اندازهگیریهای جدید را بدست آمده و با توجه به این اندازهگیری به هر ذره یک وزن بر اساس توزیع نویز اندازهگیری اختصاص داده میشود.
(۲.۳۰)
حال این وزنهای بدست آمده به صورت زیر نرمالیزه میشوند:
(۲.۳۱)
که sum(q)=1 است. مرحلهی بعدی در فیلتر ذرهای مرحلهی تجدید نمونه گیری[۵۳] است، این مرحله در فیلترهای ذرهای بسیار حائز اهمیت است، چون که هدف از این عملگر حذف مشکل فقر نمونه میباشد.
فقر نمونه[۵۴] زمانی اتفاق میافتد که پس از عملیات تجدید نمونه گیری تعداد کمی از ذرات انتخاب شوند و بقیهی ذرات حذف شوند، لذا روشهای تجدید نمونه گیری روی پاسخ فیلترهای ذرهای بسیار تأثیرگذار میباشد. بعد از این مرحله و انتخاب ذرات جدید میتوان با میانگینگیری از این ذرات یک تخمین از حالت سیستم را بدست آورد.
اکنون اندکی بیشتر راجع به نمونه گیری مجدد و روشهای آن توضیح میدهیم. این مرحلهی برای فیلتر ذرهای ضروری است، زیرا بدون این عملگر واریانس ذرات مهم با وزن زیاد ، افزایش مییابد و فیلتر واگرا خواهد شد. عملیات تجدید نمونه گیری در حقیقت وظیفه دوباره وزن دهی ذرات را بر عهده دارد و ذرات با چگالی وزنی غیریکنواخت را به یک سری از ذرات با چگالی وزنی یکنواخت تبدیل میکند.به عنوان مثال اگر چگالی ذرات در ابتدا به فرم زیر باشد،
(۲.۳۲)
پس از عملیات بارگزاری دوباره نمونه ها چگالی وزن ذرات به فرم زیر خواهد بود:
(۲.۳۳)
از روش های دیگر تجدید نمونه گیری می توان به موارد زیر اشاره کرد :
-
- نمونه گیری سیستمی[۵۵]
-
- نمونه گیری طبقاتی[۵۶]
-
- نمونه گیری بازمانده
۲-۳-۷ فیلتر کالمن مکعب CKF
در حال حاضر تمامی فیلترهای شناخته شده مشکلاتی از قبیل واگرایی یا ناتوانی در مواجهه با ابعاد بالا و یا هر دو این مشکلات را دارند. مشکل ابعاد در مدلهای فضای حالت با بعد بالا و اندازه بردار حالت از مرتبه ۲۰ یا بیشتر به خوبی دیده میشود. واگرایی دلایل مختلفی دارد، از جمله:
-
- ناصحیح بودن یا ناقص بودن مدل فیزیکی که از سیستم در دسترس است
-
- ناقص بودن یا اشتباه بودن اطلاعات در بدست آوردن تابع توزیع چگالی.
-
- بُعد بالای معادلات غیر خطی که فضای حالت را مدل میکنند.
-
- اشتباهات محاسباتی و عددی.
اخیراً فیلتر کالمن مکعبی معرفی شده است که واگرایی و مشکل ابعاد را که در فیلترهای کالمن قبلی همچون فیلتر کالمن توسعه یافته و فیلتر کالمن خنثی وجود داشت، را برطرف میکند. این فیلتر یک فیلتر غیر خطی جدید است که برای تخمین حالتهای با ابعاد بالا بر پایهای قواعد کروی-شعاعی مکعبی بنا شده است و با بهره گرفتن از قوانین مکعبی در هر لحظه به محاسبه انتگرالهای که به فرم (تابع غیرخطی×گوسی) است، میپردازد. CKF یک الگوریتم بهبودیافته برای فیلترهای غیر خطی است که دقت عددی خوبی دارد. ]۸[
قواعد مکعبی نیازی به مشتقگیری ندارند و این کمک میکند که CKF را برای کاربردهایی که نمیتوان از آنها مشتق گرفت یا مشتقگیری دشوار است و یا ماتریسهای ژاکوبین قابل محاسبه نیستند، به کار برد.
الگوریتم فیلتر کالمن مکعبی
مراحل فیلتر کالمن مکعبی در زیر آورده شده است:
فرض میشود که چگالی اولیه در لحظه k-1 را با بهره گرفتن از دادهها تا لحظهی k-1 را میدانیم، به صورت زیر تجزیه میشود.
(۲.۳۴)
میتوان تجزیه را از روش Cholesky حساب کرد، اما پیشنهاد میشود تجزیه ماتریسی را با بهره گرفتن از روش SVD[57] انجام شود.
بدست آوردن نقاط مکعبی :
(۲.۳۵)
نقاط مکعبی از تابع سیستم عبور داده می شود:
(۲.۳۶)
با بهره گرفتن از نقاط بدست آمده و وزنهای نقاط مکعبی تخمین اولیه در مرحله بهروزرسانی زمانی انجام میشود:
(۲.۳۷)
و ماتریس کوواریانس را به صورت زیر در مرحله بهروزرسانی زمانی بدست آورده می شود:
(۲.۳۸)
ماتریس بدست آمده ا دوباره تجزیه میشود و نقاط مکعبی جدید محاسبه میگردد:
(۲.۳۹)
با توجه به این نقاط و وزنهای نقاط مکعبی تخمین از خروجی بدست آورده می شود:
(۲.۴۰)