تعریف فیلتر کالمن (Kalman filter) قسمت 2
بخت حاشیهای
همانند تخمین بازگشتی بیز که پیشتر بیان شد، فیلتر کالمن را میتوان به عنوان یک مدل مولد دید. یعنی فرایندی برای تولید دنبالهای از مشاهدات تصادفی (… ,z = (z0, z1, z2. این فرایند به صورت زیر تعریف میشود:
- حالت پنهان را از توزیع گاوسی پیشین نمونهگیری کنید.
- حالت پنهان را از مدل مشاهده شده نمونهگیری کنید.
- برای
- حالت پنهان را از مدل انتقالی محاسبه کنید.
- مشاهده را از مدل مشاهده شده محاسبه کنید.
این فرایند ساختاری مشابه مدل پنهان مارکوف دارد که حالات گسسته در آن به متغیرهای تصادفی پیوسته با توزیع گاوسی تبدیل شدهاست.
محاسبه بخت حاشیهای به عنوان نتیجهای از فیلتر کردن بازگشتی بسیار آسان است. به کمک قانون زنجیرهای احتمال، بخت از حاصلضرب احتمال هر مشاهده به شرط مشاهدات قبلی بدست میآید،
به علاوه چون فیلتر کالمن معرف یک فرایند مارکوف است، تمام دانش بدست آمده از مشاهدات قبلی به تخمین محدود میشود. به این ترتیب بخت حاشیهای به صورت زیر محاسبه میشود:
رابطه بالا حاصلضرب چند توزیع احتمال گاوسی است که هر یک نمایانگر یک مشاهده zk تحت فیلتر است؛ که از آپدیتهای بازگشتی محاسبه میشود. برای راحتی محاسبه بهتر است از log بخت حاشیهای یعنی استفاده شود. با فرض محاسبه به صورت بازگشتی انجام میشود.
بهطوریکه بعد بردار اندازهگیریها میباشد.
فیلتر اطلاعاتی
در فیلتر اطلاعاتی یا فیلتر کوواریانس معکوس، تخمین کوواریانس و تخمین حالت به ترتیب با ماتریس اطلاعات و تابع اطلاعات جایگزین میشوند.
- به طریق مشابه کوواریانس و بردار مشاهدات هم با عبارات همارز اطلاعاتی جایگزین میشوند.
- با داشتن ماتریس و بردار مشاهدات که به صورت زیر تعریف شدهاند
- اطلاعات آپدیت شده به صورت زیر نوشته میشوند.
مزیت اصلی فیلتر اطلاعاتی این است که N مشاهده میتوانند در هر بازه زمانی با جمع زدن ماتریسها و بردارهای اطلاعاتی فیلتر شوند.
جهت پیشبینی فیلتر اطلاعات ماتریس و بردار اطلاعات به عبارات همارزشان در فضای حالات سیستم تبدیل میشوند. البته پیشبینی فضای اطلاعاتی هم قابل انجام است.
این مقادیر به شرطی قابل محاسبهاند که F و Q در زمان ثابت باشند. همچنینF و Q باید معکوسپذیر باشند.
تصفیهکننده تأخیر زمانی
تصفیهکننده بهینه تخمینی بهینه از برای تأخیر ثابت با استفاده از مشاهدات تا ارائه میکند. این تخمین به کمک روابط قبلی و برای یک حالت تکمیل شده به صورت زیر بدست میآید:
بهطوریکه:
- و با یک فیلتر استاندارد کالمن تخمین زده شدهاست.
- و متغیرهای جدیدی هستند که در فیلتر کالمن وجود نداشتند.
- نتایج کالمن از رابطه زیر بدست میآیند:
بهطوریکه و کوواریانس خطاهای پیشبینی شده و نتایج فیلتر استاندارد کالمن هستند. ()
اگر تخمین کوواریانس خطا را به صورت زیر تعریف کنیم:
تخمین بهتری از از رابطه زیر حاصل میشود.
تصفیهکننده بازه
تصفیهکننده بهینه تخمینی بهینه از () با استفاده از مشاهداتی در بازه تا ارائه میکند. به این مبحث «تصفیهکننده کالمن» هم گفته میشود. الگوریتمهای مختلفی با این منظور موجودند.
Rauch–Tung–Striebel
الگوریتمی دو مرحلهای و کارا برای تصفیه کردن بازه است. گام رو به جلو مشابه فیلتر عادی کالمن است. تخمینهای فیلتر شده پیشین و پسین ، و ، در گام رو به عقب کاربرد دارند.
در گام رو به عقب تخمین تصفیهشده و را محاسبه میکنیم. بدین طریق که از آخرین بازه زمانی شروع کرده و به صورت عقبگرد معادلات بازگشتی زیر را مییابیم:
- بهطوریکه
- تخمین حالت پسین زمان و تخمین حالت پیشین زمان است. درمورد کوواریانس نیز همین نوشتار به کار میرود.
تصفیهکننده Bryson–Frazier
این روش جایگزینی برای الگوریتم RTS است که توسط بیرمن ارائه شدهاست. این روش همچنین در گام رو به عقب دادههای بدست آمده در گام رو به جلوی فیلتر کالمن استفاده میکند. معادلات رو به عقب شامل محاسبات بازگشتی که پس از هر مشاهده جهت تصفیه حالت و کوواریانس به کار برده میشود.
معادلات بازگشتی عبارتند از:
بهطوریکه کوواریانس باقیماندهاست و . همچنین حالت و کوواریانس تصفیهشده با کمک معادلات زیر قابل محاسبه است.
- یا
از مزیتهای MBF عدم نیاز به یافتن معکوس ماتریس کوواریانس است.
تصفیهکننده کمینه واریانس
این روش میتواند بهترین خطای ممکن را با استفاده از پارامترها و آمارههای نویزی شناختهشده بدست آورد. این تصفیهکننده مدل کلیتری از فیلتر غیر علی وینر است. (non-causal Wiener filter)
محاسبات در دو گام انجام میشود. محاسبات گام رو به جلو در یک مرحله پیشبینی صورت میگیرد:
این عبارات معکوس وینر-هوف (Wiener-Hopf) است. نتیجه گام رو به عقب میتواند با استفاده بازگشت در زمان و از گام رو به جلو از محاسبه شود. در این حالت خروجی سیستم برابر است با:
با جایگذاری در رابطه بالا
این معادله برا ی فیلتر کالمن کمینه واریانس همواره یکسان است. حل معادلات بالا واریانس تخمین خطای خروجی را کمینه میکند. توجه کنید که در روش Rauch–Tung–Striebel فرض میشود که همه توزیعها گاوسی هستند اما در اینجا چنین نیست.
فیلترهای وزندار کالمن
توابع وزندار جهت وزن دادن به میانگین توزیع توان خطا در یک بازه تغییر مشخص استفاده میشوند. فرض کنید – یک تخمین خطای خروجی توسط فیلتر کالمن و یک تابع تخصیص وزن علی باشد. روش بهینهای که واریانس ( – ) را کمینه میکند استفاده از است.
نحوه طراحی فعلاً بیپاسخ است. یک راه آن شناسایی سیستمی که تخمین خطا را تولید میکند و قرارداد کردن به عنوان معکوس آن سیستم است. این روش میتواند جهت محاسبه خطای مربع میانگین استفاده شود تا هزینه فیلتر کاهش یابد. همچنین روش مشابهی جهت یافتن تصفیهکننده نیز وجود دارد.
فیلترهای غیرخطی
مبنای فیلتر کالمن، تبدیلات خطی است. اما سیستمهای پیچیدهتر میتوانند غیرخطی باشند. مسئله غیرخطی بودن میتواند در مشاهدات، مدلسازی یا هر دو بروز پیدا کند.
فیلتر کالمن بسطیافته – EKF
در فیلتر بسطیافته کالمن (EKF) انتقال حالات و مشاهدات نیاز به توابع حالت خطی یا غیرخطی دارند. اینها توابعی مشتقپذیر هستند.
تابع f میتواند جهت محاسبه حالت پیشبینی شده از تخمین قبلی به کار رود. همچنین تابع h جهت یافتن مشاهدهای از حالت قبلی به کار میرود. توابع f و h نمیتوانند مستقیماً به کوواریانس اعمال شوند، بلکه باید ماتریسی از مشتقات جزیی (ماتریس ژاکوبی) آنها محاسبه شود.
در هر بازه زمانی ماتریس ژاکوبی با استفاده از حالات پیشبینی شده قبلی محاسبه میشود. این ماتریسها در معادلات فیلتر کالمن کاربرد دارد. در واقع این فرایند عمل خطی کردن توابع غیرخطی را حول تخمین فعلی شامل میشود.
فیلتر کالمن از نوع UKF – Unscented
وقتی انتقال حالات و مشاهدات، یعنی توابع پیشبینی و آپدیت و ، کاملاً غیرخطی باشند، فیلتر کالمن بسطیافته کارایی پایینی خواهد داشت. به این دلیل که کوواریانس در عمل خطیسازی مدل غیرخطی افزایش مییابد. فیلتر کالمن Unscented از روش نمونهگیری قطعی که به Uncented Transform معروف است، استفاده میکند تا مجموعه نمونه مینیمالی از نقاط حول میانگین را جمعآوری کند. سپس این نقاط در تابع غیرخطی وارد شده تا میانگین و کوواریانس جدید حاصل شود. نتیجه برای سیستمهای قطعی با قطعیت بیشتری مقدار میانگین و کوواریانس را ارائه میکند.[۳۰]این روش به عنوان روش مونتکارلو یا بسط تیلور برای آمارههای پسین شناخته شدهاست. در واقع این روش ما را از محاسبه مستقیم ماتریس ژاکوبی که برای بعضی توابع بسیار پیچیدهاست، بینیاز میکند.
پیشبینی
مشابه EKF، در روش UKF فاز پیشبینی در مقایسه با یک آپدیت خطی مستقل از آپدیت UKF انجام میشود. تخمین حالت و کوواریانس با کمک میانگین و کوواریانس فرایند بدست میآیند.
مجموعهای شامل 2L + ۱ به کمک حالت و کوواریانس از حالت بعد L حاصل میشود.
- بهطوریکه
iامین ستون ماتریس مربع ریشه است.
با توجه به تعریف ریشه مربعی در ماتریس بدست میآید:
ریشه مربعی باید به صورت عددی و توسط روشهایی مانند تفکیک کولسکی محاسبه شود.
نقاط بدست آمده به عنوان ورودی تابع انتقال f داده میشوند:
بهطوریکه . از نقاط وزندار جهت محاسبه تخمین حالت و کوواریانس استفاده میشود
بهطوریکه وزنهای مربوط به حالات و کوواریانس از روابط زیر بدست میآیند:
و گستردگی نقاط را کنترل میکنند. مربوط به توزیع است.
اگر توزیع گاوسی باشد، مقادیر طبیعی برابر , و هستند. بهینه است.
آپدیت
پیشبینی حالت و کوواریانس مطابق بالا حاصل میشوند به جز زمانی که میانگین و کوواریانس نویز مشاهده شده در دست باشد.
مطابق قبل مجموعهای شامل 2L + ۱ نقطه درنظر میگیریم
اگر پیشبینی UKF استفاده شدهباشد، نقاط به صورت زیر مستقلاً قابل محاسبهاند.
بهطوریکه
نقاط به عنوان ورودی تابع h استفاده میشوند
نقاط وزندار جهت محاسبه مشاهده و کوواریانس مشاهدات پیشبینی شده استفاده میشوند.
کوواریانس ضربدری حالات و مشاهدات به صورت زیر محاسبه میشود
که برای محاسبه نتیجه فیلتر کالمن UKF استفاده میشود.
همانند فیلتر کالمن، حالت آپدیت شده از جمع حالت پیشبینی شده و وزندار کردن نتیجه کالمن محاسبه میشود
همچنین کوواریانس آپدیت شده برابر است با تفاضل کوواریانس پیشبینی شده و کوواریانس محاسبه پیشبینی شده که با نتیجه کالمن وزندار شدهاست.
فیلتر کالمن – بوسی
این فیلتر حالت پیوسته در زمان فیلتر کالمن میباشد که نام آن برگرفته از نام ریچارد اسنودن بوسی میباشد.
این فیلتر مبتنی بر فضای نمونه حالت مدل شدهاست
بهطوریکه و قوت نویزهای سفید و را بیان میکند.
فیلتر از دو معادله دیفرانسیلی بدست میآید. یکی برای تخمین حالت و دیگری برای کوواریانس.
بهطوریکه
کوواریانس نویز مشاهدهشده معادل کوواریانس خطای پیشبینی شده است. این دو کوواریانس تنها در حالت پیوسته زمان برابرند.
تمایز میان حالت پیشبینی و آپدیت فیلتر کالمن در اینجا وجود ندارد.
فیلتر کالمن هیبریدی
بسیاری از سیستمهای فیزیکی به صورت پیوسته در زمان مدل میشوند درحالیکه مشاهدات ورودی توسط یک پردازنده دیجیتال و به صورت گسسته در زمان به آن ارائه میشوند. به این ترتیب مدل سیستم و مشاهدات به این صورت بیان میشود:
بهطوریکه
مقداردهی
پیشبینی
این معادلاتت از حالت پیوسته فیلتر کالمن، بدون آپدیت توسط مشاهدات حاصل میشوند بهطوریکه . حالت و کوواریانس پیشبینی شده با حل مجموعهای از معادلات دیفرانسیلی دارای مقادیر اولیه تخمین حالت قبلی محاسبه میشوند.
آپدیت
معادلات آپدیت همان معادلات فیلتر کالمن گسسته هستند.
در ادامه برای یادگیری بیشتر و آشنایی با کاربردهای فیلتر کالمن پیشنهاد می کنیم فایل های زیر را دانلود و مشاهده فرمایید:
رمز فایل ها : behsanandish.com
Mobile Robot Localization and Mapping using the Kalman Filter
محاسبات عددی پیشرفته-فیلتر کالمن
تعریف فیلتر کالمن (Kalman filter) قسمت 1
تعریف فیلتر کالمن (Kalman filter) قسمت 2
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.