مصفات أو مرشح أو فلتر كلمان Kalman Filter هو مرشح يستعمل عادة لحساب أو التنبؤ بحالات نظام ديناميكي ما اعتمادًا على نموذج أو قياسات مشوشة له
يقوم فلتر كالمان بحساب قيم حالة نظام ديناميكي ما بطريقة مثلى تجعل القيمة المنتظر لمربع الفارق بين التنبؤ والحالة الصحيحة هي الأصغر. أي أنه عبارة على ملاحظ. سمي هذا المرشح باسم مخترعه الرياضياتي رودولف كالمان.أحيانا يسمى هذا المرشح أيضا بمرشح أو فلتر فينر.
نعلم انه للتحكم في شيء معين فلا بد من قياسه والمقارنة بينه وبين القيمة المطلوبة له ولكن تكمن المشكلة في أن المستشعرات دائما يوجد بها تشويش. وهذا يؤثر على القيمة المقاسة وبالتالى يؤثر سلبا في النهاية في التحكم في الشئ الذي أردنا التحكم فيه . ولكن إذ استطعنا معرفة الحد الذي يستطيع المستشعر ان يقيسه فاننا نستطيع ان نكتشف ما إذا كانت القيمة المقاسة صحيحة ام عبارة عن تشويش
ولكى تفهم مرشح كالمان فاننا ننصح ان تطلع اولا على تمثيل الحالة للأنظمة الديناميكية
مرشح كالمان بوسي المتصل واستعماله في التحكم بإرجاع الحالة
مرشح كالمان بوسي المتصل continous kalman bucy filter هو النسخة المتصلة لفلتر كالمان.
نحن نعرف المعادلا ت التالية
Xdot=AX+BU
Y=CX+DU
ولكن هذه المعادلات يحدث عليها زيادات نتيجة وجود تشويش (noise) وكذلك ما لا نعلم بيقين ان الارقام المكتوبة في A, B هي ارقام السيستم الصحيحة—يعنى ربما كان هناك خطأ في هذه الارقام مثلا ال stability derivatives وinertia ممكن يكون هناك بعض ال uncertainity في الارقام هذه فممكن نعتبرها ك disturbance على السيستم لذلك نضيف ترميين في المعادلات لتكون اقرب للحقيقة فتصبح كالتالى
Xdot=AX+BU+W
ȳ=CX+DU+V
ونستطيع ان نكتشف ان ȳ هي الكمية المقاسة ولكن مع وجود ال noise ---- v وان الكمية الحقيقية هي المفروض Y
ولكن لماذا نجمع ال NOISE ولا نضربها مثلا في x أو u ---- لماذا الجمع ؟
الإجابة هي ان عند زمن معين وليكن T=To فان ȳ في النهاية ما هي الا y واضيف أو طرح منها كمية معينة هي v فلا حاجة للتعقيد أو ايجاد علاقة بين X، V وان مثلا ȳ=CXV+DU/V^2 أو ما شابه ---- -- كذلك تستطيع اكتشاف ما معنى W من الشرح السابق.
لايجاد ŷ أو القيمة المتوقعة فانها ستعتمد على ȳ ,X,U بدون الدخول في التفاصيل الرياضية الآن يمكنك استخدام السيميولينك مباشره لعمل ذلك --- وخير طريقة للشرح هي المثال—لنطبق الشكل التالى
KB filter ليس block جاهز في السيميولينك ولكنك تقوم ببناءه imbedded matlab file
مرشح كالمان المتقطع
مرشح كالمان المتقطع discrete kalman filter هي النسخة المتقطعة منه ولذلك النسخة أو الخوارزمية المنتشرة والمستعملة في الحواسيب.