فیلتر کالمن یک فیلتر بازگشتی کارامد است که حالت یک سیستم پویا را از یک سری اندازه گیریآهای همراه با خطا بر آورد میآکند. به همراه یک تنظیم کننده خطی مرتبه دوم (linear-quadratic regulator -LQR) فیلتر کالمن مسائل Gaussian control خطی مرتبه دوم (linear-quadratic-Gaussian control - LQG) را حل میآکند. فیلتر کالمن ، LQR و LQG راه حلی هستند برای آنچه شاید اساسیآترین مسائل تئوری کنترل می نامند.
مثالی برای کاربرد : تهیه اطلاعات پیوسته به روز و دقیق در مورد مکان و سرعت یک شی معین فقط به کمک توالی مشاهدات در مورد موقعیت آن شی، که هر کدام شامل مقداری خطاست امکان پذیر است. این فیلتر در طیف گستردهآای از کاربریآهای مهندسی از رادار گرفته تا بصیرت رایانهآای کاربرد دارد. روش تصفیه کالمن یکی از عناوین مهم در تئوری کنترل و مهندسی سیستمآهای کنترلی میآباشد.
به عنوان مثال ، برای کاربری آن در رادار ، آنجا که علاقه مند به ردیابی هدف هستید ، اطلاعات در مورد موقعیت ، سرعت و شتاب هدف با حجم عظیمی از انحراف به لطف پارازیت در هر لحظه اندازه گیری میآشود. فیلتر کالمن از پویایی هدف بهره میآگیرد به این صورت که سیر تکاملی آن را کنترل میآکند ، تا تاثیرات پارازیت را از بین ببرد و یک برآورد خوب از موقیت هدف در زمان حال (تصفیه کردن) و در آینده (پیش بینی) و یا در گذشته (الحاق یا هموار سازی) ارائه میآدهد. یک نسخه ساده شده فیلتر کالمن ، فیلتر آلفا بتا (alpha beta filter) ،که همچنان عموماً استفاده میآشود از ثابتآهای static weighting به جای ماتریسآهای کواریانس استفاده میآکند.
نام گذاری و تاریخچه توسعه : اگر چه Thorvald Nicolai Thiele و Peter Swerling قبلاً الگوریتم مشابهی ارائه داده بودند ، این فیلتر به افخار Rudolf E. Kalman ، فیلتر کالمن نام گذاری شد و Stanley F. Schmidt عموماً به خاطر توسعه اولین پیاده سازی فیلتر کالمن شهرت یافت. این رخدادهنگام ملاقات با کالمن در مرکز تحقیقاتی ناسا (NASA Ames Research Center) روی داد و وی شاهد کارائی ایده کالمن در برآورد مسیر پرتاب پروژه پولو بود ، که منجر به الحاق آن به رایانه ناوبری پولو شد. این فیلتر بر روی کاغذ در 1958 توسط Swerling ، در 1960 توسط Kalman و در 1961 توسط Kalman and Bucy ایجاد و بسط داده شد.
این فیلتر بعضی مواقع فیلتر Stratonovich-Kalman-Bucy نامیده میآشود ، چرا که یک نمونه خاص از فیلتر بسیار معمولی و غیر خطی ای است که قبلاً توسط Ruslan L. Stratonovich ایجاد شده ، در حقیقت معادله این نمونه خاص ، فیلتر خطی در اسنادی که از Stratonovich قبل از تابستان 1960 ، یعنی زمانی که کالمن ،Stratonovich را در کنفرانسی در موسکو ملاقات کرد به چاپ رسید بود.
در تئوری کنترل ، فیلتر کالمن بیشتر به برآورد مرتبه دوم (LQE) اشاره دارد. امروزه تنوع گستردهآای از فیلتر کالمن بوجود آمده ، از فرمول اصلی کالمن در حال حاظر فیلترهای : کالمن ساده ، توسعه یافته اشمیت ، اطلاعاتی و فیلترهای گوناگون جذر بیرمن ، تورنتون و بسیاری دیگر بوجود آمده اند. گویا مرسومآترین نوع فیلتر کالمن فاز حلقهٔ بسته (phase-locked loop) میآباشد که امروزه در رادیوها ، رایانهآها و تقریباً تمامی انواع ابزارهای تصویری و ارتباطی کاربرد دارد.
اساس مدل سیستم پویا فیلترهای کالمن بر اساس سیستمآهای خطی پویا (linear dynamical systems) گسسته در بازه زمانی هستند. آنها بر اساس زنجیره ماکوف (Markov chain) مدل شده ، به کمک عملگرهای خطی ساخته شده اند و توسط پارازیت گاشین (Gaussian noise) تحریک میآشوند. حالت سیستم توسط برداری از اعداد حقیقی بیان میآشود. در هر افزایش زمانی که در بازهآهای گسسته صورت میآگیرد ، یک عملگر خطی روی حالت فعلی اعمال میآشود تا حالت بعدی را با کمی پارازیت ایجاد کند و اختیاراً در صورت شناخت روی کنترل کنندهآهای سیستم برخی اطلاعات مرتبط را استخراج میآکند. سپس عملگر خطی دیگر به همراه مقدار دیگری پارازیت خروجی قابل مشاهدهآای از این حالت نامشخص تولید میآکند. فیلتر کالمن قادر است مشابه مدل نامشخص مارکوف برخورد کند. با این تفاوت کلیدی که متغییرهای حالت نامشخص در یک فضای پیوسته مقدار میآگیرند( نقطهٔ مقابل فضای حالت گسسته در مدل مارکوف). بعلاوه ، مدل نامشخص مارکوف میآتواند یک توزیع دلخواه برای مقادیر بعدی متغییرهای حالت ارائه کند، که در تناقض با مدل پارازیت گاشین ای است که در فیلتر کالمن استفاده میآشود. در اینجا یک دوگانگی بزرگ بین معادلات فیلتر کالمن و آن مدل مارکوف وجود دارد. مقالهآای در رابطه با این مدل و دیگر مدلآها در Roweis and Ghahramani (1999) ارائه شده است.
در سیستم های دینامیک مجهولات وابسته به زمان هستند.از جمله سیستم های دینامیک ژئودزی ماهوارهای میباشد.در یک رویکرد اولیه اگر بخواهیم اطلاعات را در یک بازه ی زمانی جمع آوری کنیم و سپس بهینه سازی انجام دهیم،این کار پاسخگوی بسیاری از کاربردهای Real Timeیا نزدیک بهReal Time نیست.رویکرد جایگزین آن میتواند کالمن فیلتر باشد.فرض کنیم مدل کینماتیکی یا دینامیکی سیستم مشخص باشد،در این صورت می توان برای اپک های آینده پیشبینی انجام داد وبا توجه به مشاهدات قبلی بهینه سازی انجام پذیرد.از این رو بجاست که که الگوریتم کالمن فیلتر را مورد بررسی قرار دهیم.
مفهوم کالمن فیلتر
از فرایند تعدیل میدانیم هر گاه یکسری اندازه گیری برای بدست آوردن یکسری از پارامترهای مجهول صورت پذیردو بهینه سازی انجام گیرد وبخواهیم یکسری مشاهدات جدید به مشاهدات قبلی اضافه کنیم لازم نیست کل مدل را مجدداً بازسازی کنیم،بلکه می توانیم از فرایند حل دنباله ای(sequential solution)استفاده کنیم که بصورت مختصری به شکل زیر است:
مشاهدات گروه اول l1 و گروه دوم l2 نام دارد که ناهمبسته می باشند.
تابع هدف که باید مینیمم گردد عبارت است از:
که در آن :
که از مینیمم سازی مجهولات برآورد میشوند.یک حالت عمومی این نوع حل این است که در هر مرحله یک مشاهده به مشاهدات قبلی اضافه میشود که در نهایت به روابط زیر می رسیم:
که در آن:
کالمن فیلتر در واقع همین فرایند ذکر شده است با این تفاوت که در آن بین مجهولات دو مرحله رابطه برقرار است که در آن Fماتریس Transitionنام دارد برخلاف حالت اول که برقرار بود . یعنی در اینجا مجهولات نسبت به زمان تغییر می کنند.به عنوان نمونه اگر مجهول مساله در حالت اول موقعیت یک نقطه بود با اضافه شدن مشاهدات در هر مرحله به موقعیت دقیقتری دست میافتیم اما در کالمن فیلتر به مجهول امکان تغییر نسبت به زمان داده می شود.این مجهول میتواند مختصات یک ماهواره ، مختصات سه بعدی یک گیرنده ی متحرک یا تاخیر ترپسفری سیگنال ها و یا دیگر پارامترهای متغیر با زمان باشد.
اگر بخواهیم یک مثال تحلیلی از فرایند کالمن فیلتر داشته باشیم یک متحرک را که با سرعت ثابت روی صفحه حرکت میکند در نظر میگیریم.فرض کنیم موقعیت متحرک را در 4زمان(t1,t2,t3,t4)اندازه گیری کردیم.اگر هدف اولیه را تعیین موقعیت متحرک به صورت بهینه در بازه ی زمانی باشد،باید مسیر بهینه را بدست آوریم.با توجه به این که متحرک با سرعت ثابت حرکت میکند،مسیر بهینه یک خط راست است که از نقاط اندازه گیری شده برازش داده می شود
(خط قرمز).حال اگر هدف نهایی را تعیین موقعیت متحرک در اپک قرار دهیم،باید مسیر بهینه در را
بدست آوریم.با توجه به اینکه موقعیت بدست آمده در t4و سرعت متحرک را داریم،مسیر پیشبینی شده مسیر قهوهای رنگ است که با مسیر برآورد شده قبلی تفاوت دارد.مسیر بهینه از کالمن فیلتر بدست آمده که بین این دو مسیر قرار دارد(مسیر آبی).نکته حئز اهمیت این است که با توجه به وزن دهی به مشاهدات انجام گرفته ومیزان اعتماد به مشاهدات و قوی وضعیف بودن مدل دینامیک،این مسیر بهینه میتواند تغییر کند
فرمول بندی کالمن فیلتر در حالت کلاسیک
در این فرمول بندی (_)نشانه یپیشبینی شده و()نشانه ی برآورد شده است.ابتدا سیستم معادلات خطی شده رابرای اپک i با بردار باقیمانده هایViدر نظر می گیریم:
(1)
اگر معادلات سیستم را که میتواند معادلات کینماتیک یا دینامیک باشد معلوم در نظر بگیریم، داریم:
(2)
بهF ماتریس transitionیا تغییر وضعیت گویند.اگر از قانون انتشار خطاها استفاده کنیم داریم:
(3)
اگر معادلت نرمال (1) را تشکیل دهیم،داریم:
برای گام نخست (i=1) اگر از کمترین مربعات استفاده کنیم خواهیم داشت:
جایی که با این فرض که .پس از برآورد ونوبت به پیشبینی مقادیر مجهول برای اپک بعدی
(4)
(i=2) میرسد: (5)
معادلات مرحله ی 4 و 5 تشکیل مرحله ی پیشبینی(prediction)میدهند.حال اگر از حل دنباله ای استفاده کنیم،خواهیم داشت:
(6)
(7)
(8)
6 و 7 و 8 تشکیل مرحله یUpdate یا CorrectیاFilter را میدهند.به کل پروسه ی prediction و Filter کالمن فیلتر گویند.
به k ماتریس بهره ی کالمن(gain matrix)گویند.اگر و آنگاه فلوچارت کالمن فیلتر به شکل زیر است :
کالمن فیلتر توسعه یافته
در بسیاری از کاربردها معادلات غیر خطی هستند و لازم میشود که خطی گردند. فلوچارت آن به شکل زیر است:
یک نمونه از بکارگیری فرمول کالمن فیلتر در GPS
هر گاه بخواهیم کالمن فیلتر رابا اطلاعات سرعت که از مشاهدات نرخ داپلر بدست می آید انجام دهیم، در اینجا معادلات سیستم را این اطلاعات تشکیل می هند.اگر معادله مشاهده فاز به شکل نرمال که در آن بردار مجهولات است و X موقعیت گیرنده و N ابهام فاز می باشد. برای گام نخست داریم:
اگر معادله مشاهده داپلر را تشکیل دهیم داریم:
که 4 در حقیقت مشتق 1 نسبت به زمان است. بردار سرعت گیرنده است. از 4 به حل زیر می رسیم:
اگر فرض کنیم متحرک با یک سرعت میانگین حرکت میکند آنگاه بخش پیشبینی کالمن فیلتر به صورت شکل زیر می گیرد:
و قسمت update عبارت خواهد بود از : [img]http://www.utgeomatics.com/images/stories
/kalmanfilter_files/image054.png[/img]
لازم به ذکر است از معادله 7 یعنی قسمت پیش بینی بدست می آید.
مشکلات کالمن فیلتر
ماتریس Transition از مدل های فیزیکی ناشی می شود.هر چه مدل فیزیکی قوی تر باشد برآورد بهتری صورت می پذیرد.اگر مدل فیزیکی قوی نباشد ممکن است کالمن فیلتر به مقادیر غیر واقعی همگرا شود.علاوه بر این، سیستمهای کینماتیک به سختی توسط معادلات تئوری مدل می شوند،اما برای یک پردازش دینامیک سیستم ها به خوبی میتوان آنرا فرموله کرد.مثل onboard-GPS برای ردیابی ماهواره به ماهواره یا تعیین مدار که با معادلات دینامیکی انجام می پذیرد.به دلیل مشکل بالا یا بروز اشتباه در مشاهدات الگوریتمی مثلRobust Kalman Filterبه وجود آمده است.در حالت کلاسیک ماتریس وزن مشاهدات ثابت در نظر گرفته شده است،اما اگر وزن دهی با توجه به باقی مانده های کالمن فیلتر صورت پذیرد به این فرایند Robust Kalman Filter گویند.مشکل دیگر کالمن فیلتر وابستگی شدید آن به مقادیر اولیه است،که در این زمینه مطالعات زیادی صورت پذیرفته است.
شرح مختصر برخی کاربردهای کالمن فیلتر درGPS
تعیین مدار ماهواره: مسئله تعیین مدار ماهواره عبارت است از پیدا کردن پارامترهایی که بتواند موقعیت وسرعت ماهواره را در یک بازه ی زمانی مشخص تعیین کند.کالمن فیلتر مورد استفاده در این مسئله کالمن فیلتر توسعه یافته است.فیلتر در بردارنده ی مدل های بسیار دقیق نیروهای گرانشی منتسب به زمین (همراه با تاثیرات توزیع جرم غیر یکنواخت زمین)ماه،خورشیدودیگر اجرام سماوی ،تاثیرات آیرودینامیک مربوط به اصطکاک اتمسفری ،وتاثیرات ناشی از فشار تشعشعات خورشیدی است.این مدل دقیق برای بدست آوردن موقعیت دقیق ماهواره لازم است.شمای ساده ای از این فیلتر در در شکل زیر آمده است:
کاربرد کالمن فیلتر در ppp :
اگر بردار مجهولات را که در بردارنده ی موقعیت گیرنده ،ابهام فاز،خطای ساعت گیرنده و تاخیرترو پسفری باشد ،در نظر بگیریم ماتریس ضرایبHمورد استفاده در EFK (کالمن فیلتر توسعه یافته) از قرار زیر خواهد بود:
سطر مربوط به ماهواره P در اپک i می باشد. مختصات ماهواره p و مختصات گیرنده است.برای مشاهدات فاز مشتق جزئی برای ابهام فاز یکه استو مشتق جزئی برای تاخیر تروپسفری تابع نگاشت تروپسفری می باشد. هر کدام از این مجهولات برای اینکه بتوانند در فرآیند EKF شرکت کنند باید دارای مدل دینامیکی باشند. به عنوان مثال برای خطای ساعت گیرنده میتوان از پروسه گاوس ـ مارکوف یا از random walk استفاده کرد.در حالت دوم از مشاهدات شبه فاصله که در بر دارنده خطای ساعت گیرنده است استفاده میکنیم خواهیم داشت:
یا در مورد ابهام فاز هنگامی که قطع lock ایجاد میگردد، نالیز غیر دیفرانسیلی ppp تنها حلّ شناوری از ابهام فاز خواهد داشت. بنابراین ابهام فازهای ppp عبارتند از ابهام فازهای مجدّد پارامترسازی شده که از جمعآوری ابهام فازهای l1 و l2 . مدل دینامیکی عبارت خواهد بود از :
که به w نویز گاوسی اطلاق می شود.
حل ابهام فاز بر مبنایی کالمن فیلتر در کاربردهای real time کینماتیک طول مبناهای بلند
همواره در کاربردهای بسیار دقیق GPS حلّ ابهام فاز یک مسئله اساسی است. این مسئله زمانی پیچیده میشود که با کاربردهای طول مبنای بلند و کنماتیک مواجه میشویم، زیرا با مسئله بزرگی در سریهای زمانی مشاهدات روبرو هستیم و پدیده چندمسیری رفتاری شکلی تصادفی دارد.با تفسیر صحصح نویز سیستم گیرنده برای مشاهدات انجام شده در حالت کنماتیک مشکل است. این مشکلات زمانی بیشتر میشود که با طول مبناهای بلند سروکار داریم. یک راه حلّ مناسب، استفاده از کارمن فیلتر است که با یک شیوه جستجوی ابهام فازی که در ارتباط با هر دو مدل تابعی و تصادفی به شکل بهینه است، میباشد. مدل تابعی باید دربردارنده خطاهای عمده باشد. همچنین یک بخش کنترل کیفیّت برای برخورد با cycle slip یا outliers باید وجود داشته باشد. شمای ساده این پروسه در زیر آمده است:
نتیجه گیری:
در کاربرد های real time و بسیار دقیق چنانچه مدل دینامیکی قوی باشد و حتّیالمقدور مشاهدات دارای اشتباه نباشد کالمن فیلتر میتواند یک الگوریتم بهینه برای به دست آوردن مجهولات باشد. اگر شرایط بالا به وضوح برقرار نبود وزندهی مشاهدات امری بسیار مهم خواهد شد و باید تشخیص دهیم که کدامیک از این مدلها بهتر است و با توجّه به آن وزن را تغییر دهیم.
دیدگاه