2010-01-06 10 views
6

मुझे अग्रिम कलमैन फ़िल्टर एल्गोरिदम की व्याख्या की आवश्यकता है। अधिमानतः एक सी कोड, लेकिन केवल एल्गोरिदम मेरे लिए काम करेगा।कोई भी अग्रिम कलमैन फ़िल्टर के एल्गोरिदम के लिए सी कोड को समझा सकता है और/या पोस्ट कर सकता है?

उत्तर

15

Kalman फिल्टर वीनर फिल्टर के विशेष संस्करण हैं। विशेष रूप से, काल्मैन फ़िल्टर किसी समस्या डोमेन के बारे में जानकारी लेते हैं और इस डोमेन विशिष्ट ज्ञान को लागू करके एक वीनर फ़िल्टर को बढ़ाते हैं। मैंने एल्गोरिदम के विवरण को समझने के लिए विकिपीडिया पृष्ठ को एक उत्कृष्ट संदर्भ स्रोत पाया है।

विशिष्ट विवरण यहाँ (कोई रेखीय बीजगणित कल्पना कार्यों) दोहरा के बिना, Kalman फिल्टर संवर्द्धित भविष्य राज्य का अनुमान (उस बात के लिए वीनर फिल्टर करते हैं, के रूप में)। विशेष रूप से, हम राज्य का अनुमान लगाते हैं, समस्या डोमेन विशिष्ट शोर अनुमान और राज्य परिवर्तन अनुमान लागू करते हैं, और फिर पुनरावृत्त करते हैं। यही कहना है, हम राज्य के वर्तमान अवलोकन लेते हैं, उन अवलोकनों को फ़िल्टर करते हैं, अगले राज्य की भविष्यवाणी करते हैं, फिर उस आउटपुट को कुछ नए अगले राज्य अवलोकन के लिए जोड़ते हैं।

मैंने पाया Kalman गति पथ की भविष्यवाणी के लिए काफी उपयोगी फिल्टर। चूंकि गति पथ चिकनी हैं क्योंकि कलमान फ़िल्टर विशेष रूप से अच्छी तरह से काम करते हैं - गति को राज्य के पिछले ज्ञात अवलोकनों का उपयोग करके आसानी से भविष्यवाणी की जा सकती है। तो मान लें कि आप सड़क पर गाड़ी चला रहे कार में हैं, आप वर्तमान स्थिति के रूप में कार के मौजूदा निर्देशांक रिकॉर्ड करेंगे। फिर आप अगले बिंदु की भविष्यवाणी करने के लिए राज्य (आपके पिछले स्थान) के पिछले अवलोकनों को फ़िल्टर करेंगे (समय में)। ध्यान दें कि आप इस फ़िल्टर को कस्टमाइज़ करने के लिए भौतिकी के नियम (कहें, गति) लागू कर सकते हैं और काफी तर्कसंगत परिणामों के साथ आ सकते हैं। गति या दिशा में यादृच्छिक परिवर्तन भविष्यवाणियों पर कुछ प्रभाव डालते हैं।

इस C implementation पर एक नजर डालें तो पाएंगे कि हम एक Kalman फिल्टर estimate और update चलाने में दो प्रमुख कार्य होते हैं कि (इन के बारे में wikipedia article talkes, लेकिन कॉल estimate "predict")।

अंतत: आप समस्या के लिए कुछ बहुत ही विशिष्ट आँकड़े जिसके साथ आप एक Kalman फिल्टर लागू करना चाहते हैं निर्धारित करने के लिए जरूरत के लिए जा रहे हैं। विशेष रूप से, आपको आंकड़ों को उत्पन्न/रिकॉर्ड/निरीक्षण करने की आवश्यकता है कि शोर सिग्नल का भिन्नता समय के साथ कैसे विकसित होता है। यह माना जाता है कि आप जिस प्रक्रिया की भविष्यवाणी कर रहे हैं वह भी स्टोकास्टिक है, और इस तरह आपको इसके आंकड़ों का अनुमान लगाने की आवश्यकता होगी।

+0

यह वास्तव में केवल मेटा थ्रेड के बारे में अपेक्षाकृत विनम्र संस्करण है: http://meta.stackexchange.com/questions/15650/ban-lmgtfy-let-me-google-that-for-you-links । मैं आपको अपना जवाब संपादित करने का आग्रह करता हूं। यदि आप जानते हैं कि कलमैन फ़िल्टर क्या विस्तृत करता है। अन्यथा यदि आप अपना जवाब हटा नहीं देते हैं। तो, संदर्भ और टिप्पणियां और एल्गोरिदम में कुछ अंतर्दृष्टि प्रदान करें। लेकिन केवल एक Google लिंक प्रदान करने के लिए प्रतिष्ठा अंक अर्जित करना प्रतिष्ठा बिंदुओं के अर्थ को कम करता है और अंततः स्टैक ओवरव्लो के मूल्य को कम करता है। – jason

+2

वाह, आप जानते हैं कि Google का उपयोग कैसे करें। – Greg

+1

fwiw, मेरी मूल प्रतिक्रिया एल्गोरिदम होने के ओपी के प्रश्न का उत्तर देती है, मैं एल्गोरिदम के उपयोग पर टिप्पणी प्रदान करने में प्रसन्न हूं, लेकिन रैखिक बीजगणित के लिए एसओ का समर्थन पर्याप्त रूप से कम है, इसे अच्छी तरह से बनाए रखा गणितीय से जोड़ने के लिए पर्याप्त होना चाहिए एक विश्वविद्यालय के संसाधन। मैं भविष्य में सीधे लिंक से दूर रहने की कोशिश करूंगा। –

संबंधित मुद्दे