กลับไปหน้าบทความ

อ่าน 64 นาที

ตัวกรองคาลมาน

ใน สถิติ และ ทฤษฎีการควบคุม การ กรอง Kalman (หรือที่รู้จักกันในชื่อ การประมาณเชิงเส้นกำลังสอง ) เป็น อัลกอริทึม ที่ใช้ชุดการวัดที่สังเกตได้ในช่วงเวลาหนึ่ง รวมถึง...

ตัวกรองคาลมาน

ตัวกรอง Kalman จะติดตามสถานะโดยประมาณของระบบและความแปรปรวนหรือความไม่แน่นอนของการประมาณค่า การประมาณค่าจะได้รับการปรับปรุงโดยใช้ แบบจำลอง การเปลี่ยนสถานะและการวัดค่าแสดงถึงการประมาณค่าสถานะของระบบ ณ ขั้นเวลาkก่อนที่จะนำการวัดค่าที่k ( y k) มาพิจารณา และ คือความไม่แน่นอนที่สอดคล้องกัน

ในสถิติและทฤษฎีการควบคุมการกรอง Kalman (หรือที่รู้จักกันในชื่อการประมาณเชิงเส้นกำลังสอง ) เป็นอัลกอริทึมที่ใช้ชุดการวัดที่สังเกตได้ในช่วงเวลาหนึ่ง รวมถึงสัญญาณรบกวนทางสถิติและความไม่แม่นยำอื่นๆ เพื่อสร้างการประมาณค่าของตัวแปรที่ไม่ทราบค่าซึ่งมีแนวโน้มที่จะแม่นยำกว่าการประมาณค่าที่ได้จากการวัดเพียงครั้งเดียว โดยการประมาณการกระจายความน่าจะเป็นร่วมกันของตัวแปรสำหรับแต่ละขั้นตอนเวลา ตัวกรองถูกสร้างขึ้นเป็น ตัวลด ค่าความคลาดเคลื่อนกำลังสองเฉลี่ยให้เหลือน้อยที่สุดแต่ยังมีวิธีการสร้างตัวกรองแบบอื่นที่แสดงให้เห็นว่าตัวกรองมีความสัมพันธ์กับสถิติความน่าจะเป็นสูงสุดอย่างไร[ 1 ]ตัวกรองนี้ตั้งชื่อตามRudolf E. Kálmán

การกรอง Kalman มีการใช้งานทางเทคโนโลยีมากมาย การใช้งานทั่วไปอย่างหนึ่งคือการนำทาง การกำหนดตำแหน่ง และการควบคุมยานพาหนะ โดยเฉพาะอย่างยิ่งเครื่องบิน ยานอวกาศ และเรือที่วางตำแหน่งแบบไดนามิก [ 2 ] นอกจากนี้ การกรอง Kalman ยังถูกนำไปใช้อย่างมากใน งานวิเคราะห์ อนุกรมเวลาเช่นการประมวลผลสัญญาณและเศรษฐศาสตร์การกรอง Kalman ยังมีความสำคัญต่อ การวางแผน และการควบคุมการเคลื่อนที่ ของหุ่นยนต์ [ 3 ] [ 4 ]และสามารถใช้สำหรับการเพิ่มประสิทธิภาพวิถีการเคลื่อนที่ [ 5 ] การกรอง Kalman ยังทำงานสำหรับการสร้างแบบจำลอง การควบคุมการเคลื่อนไหวของ ระบบประสาทส่วนกลางเนื่องจากความล่าช้าของเวลาระหว่างการออกคำสั่งมอเตอร์และการรับข้อมูลป้อนกลับทางประสาทสัมผัสการใช้ตัวกรอง Kalman จึงให้แบบจำลองที่สมจริงสำหรับการประมาณสถานะปัจจุบันของระบบมอเตอร์และการออกคำสั่งที่อัปเดต[ 6 ]

อัลกอริทึมทำงานผ่านกระบวนการสองขั้นตอน ได้แก่ขั้นตอนการทำนายและขั้นตอนการปรับปรุงในขั้นตอนการทำนาย ตัวกรอง Kalman จะสร้างค่าประมาณของตัวแปรสถานะ ปัจจุบัน รวมถึงความไม่แน่นอนของตัวแปรเหล่านั้น เมื่อได้ผลลัพธ์จากการวัดครั้งต่อไป (ซึ่งอาจมีข้อผิดพลาดอยู่บ้าง รวมถึงสัญญาณรบกวนแบบสุ่ม) ค่าประมาณเหล่านี้จะได้รับการปรับปรุงโดยใช้ค่าเฉลี่ยถ่วงน้ำหนักโดยให้น้ำหนักมากขึ้นกับค่าประมาณที่มีความแน่นอนสูงกว่า อัลกอริทึมนี้เป็นแบบเรียกซ้ำสามารถทำงานได้แบบเรียลไทม์โดยใช้เพียงการวัดค่าปัจจุบันและสถานะที่คำนวณไว้ก่อนหน้านี้และเมทริกซ์ความไม่แน่นอนเท่านั้น ไม่จำเป็นต้องใช้ข้อมูลในอดีตเพิ่มเติม

ความเหมาะสมที่สุดของการกรอง Kalman ถือว่าข้อผิดพลาดมี การกระจาย แบบปกติ (Gaussian)ตามคำกล่าวของRudolf E. Kálmán “สมมติฐานต่อไปนี้ถูกนำมาใช้เกี่ยวกับกระบวนการสุ่ม: ปรากฏการณ์สุ่มทางกายภาพอาจถือได้ว่าเกิดจากแหล่งกำเนิดสุ่มหลักที่กระตุ้นระบบไดนามิก แหล่งกำเนิดหลักถือว่าเป็นกระบวนการสุ่มแบบ Gaussian ที่เป็นอิสระโดยมีค่าเฉลี่ยเป็นศูนย์ ระบบไดนามิกจะเป็นเชิงเส้น” [ 7 ]อย่างไรก็ตาม ไม่ว่าจะเป็นแบบ Gaussian หรือไม่ก็ตาม หากทราบความแปรปรวนร่วมของกระบวนการและการวัด ตัวกรอง Kalman ก็เป็น ตัวประมาณ เชิงเส้น ที่ดีที่สุดเท่าที่จะเป็นไป ได้ในแง่ของข้อผิดพลาดกำลังสองเฉลี่ยต่ำสุด [ 8 ]แม้ว่าอาจมีตัวประมาณแบบไม่เชิงเส้นที่ดีกว่าก็ตาม เป็นความเข้าใจผิดทั่วไป (ที่แพร่หลายในวรรณกรรม) ว่าตัวกรอง Kalman ไม่สามารถนำไปใช้ได้อย่างเคร่งครัดเว้นแต่จะถือว่ากระบวนการเสียงรบกวนทั้งหมดเป็นแบบ Gaussian [ 9 ]

ส่วนขยายและการวางนัยทั่วไปของวิธีการนี้ได้รับการพัฒนาขึ้นเช่นกัน เช่นตัวกรอง Kalman แบบขยายและตัวกรอง Kalman แบบไม่ระบุทิศทางซึ่งทำงานบนระบบที่ไม่เป็นเชิงเส้นพื้นฐานคือแบบจำลอง Markov ที่ซ่อนอยู่โดยที่ปริภูมิสถานะของตัวแปรแฝงมีความต่อเนื่องและตัวแปรแฝงและตัวแปรที่สังเกตได้ทั้งหมดมีการกระจายแบบเกาส์เซียน การกรอง Kalman ถูกนำมาใช้ประสบความสำเร็จใน การรวม ข้อมูลจากเซ็นเซอร์หลายตัว [ 10 ]และเครือข่ายเซ็นเซอร์ แบบกระจายเพื่อพัฒนาการ กรอง Kalman แบบกระจายหรือแบบฉันทามติ[ 11 ]

ประวัติศาสตร์

วิธีการกรองนี้ตั้งชื่อตามRudolf E. Kálmán ผู้ลี้ภัย ชาวฮังการี แม้ว่าThorvald Nicolai Thiele [ 12 ] [ 13 ]และPeter Swerlingจะพัฒนาอัลกอริทึมที่คล้ายกันมาก่อนแล้วก็ตาม Richard S. Bucy จากห้องปฏิบัติการฟิสิกส์ประยุกต์ของ Johns Hopkinsมีส่วนร่วมในทฤษฎี ทำให้บางครั้งเรียกวิธีการนี้ว่าการกรอง Kalman–Bucy Kalman ได้รับแรงบันดาลใจในการสร้างตัวกรอง Kalman โดยการใช้ตัวแปรสถานะกับปัญหาการกรอง Wiener [ 14 ] โดยทั่วไปแล้ว Stanley F. Schmidtได้รับการยกย่องว่าเป็นผู้พัฒนาการใช้งานตัวกรอง Kalman ครั้งแรก เขาตระหนักว่าตัวกรองสามารถแบ่งออกเป็นสองส่วนที่แตกต่างกัน โดยส่วนหนึ่งสำหรับช่วงเวลาระหว่างเอาต์พุตของเซ็นเซอร์ และอีกส่วนหนึ่งสำหรับการรวมการวัด[ 15 ]ในระหว่างที่ Kálmán มาเยือนศูนย์วิจัย NASA Ames Schmidt ได้เห็นถึงการประยุกต์ใช้แนวคิดของ Kálmán กับปัญหาการประมาณวิถีโคจรแบบไม่เชิงเส้นสำหรับโครงการ Apolloซึ่งส่งผลให้มีการนำไปรวมไว้ในคอมพิวเตอร์นำทาง Apollo [ 16 ] : 16

ตัวกรองดิจิทัลนี้บางครั้งเรียกว่าตัวกรอง Stratonovich–Kalman–Bucyเนื่องจากเป็นกรณีพิเศษของตัวกรองแบบไม่เชิงเส้นทั่วไปที่พัฒนาโดยนักคณิตศาสตร์ชาวโซเวียตRuslan Stratonovich [ 17 ] [ 18 ] [ 19 ] [ 20 ] อันที่จริง สมการบางส่วนของตัวกรองเชิงเส้นกรณีพิเศษปรากฏในเอกสารของ Stratonovich ที่ตีพิมพ์ก่อนฤดูร้อนปี 1961 เมื่อ Kalman พบกับ Stratonovich ระหว่างการประชุมในมอสโก[ 21 ]

การกรองแบบ Kalman นี้ได้รับการอธิบายและพัฒนาบางส่วนเป็นครั้งแรกในเอกสารทางเทคนิคโดย Swerling (1958), Kalman (1960) และ Kalman และ Bucy (1961)

คอมพิวเตอร์ Apollo ใช้ RAM แบบแกนแม่เหล็กขนาด 2k และสายเคเบิลลวดขนาด 36k [...] ซีพียูสร้างขึ้นจากวงจรรวม [...] ความเร็วสัญญาณนาฬิกาต่ำกว่า 100 kHz [...] ความจริงที่ว่าวิศวกรของ MIT สามารถบรรจุซอฟต์แวร์ที่ดีเช่นนี้ (หนึ่งในแอปพลิเคชันแรกๆ ของตัวกรอง Kalman) ลงในคอมพิวเตอร์ขนาดเล็กเช่นนี้ได้นั้นเป็นสิ่งที่น่าทึ่งอย่างแท้จริง

— บทสัมภาษณ์ Jack Crenshaw โดย Matthew Reed, TRS-80.org (2009) [1]

ตัวกรอง Kalman มีบทบาทสำคัญในการนำระบบนำทางของเรือดำน้ำขีปนาวุธนิวเคลียร์ ของ กองทัพเรือสหรัฐฯมาใช้ และในระบบนำทางของขีปนาวุธร่อน เช่นขีปนาวุธ Tomahawk ของกองทัพเรือสหรัฐฯ และขีปนาวุธร่อนปล่อยจากอากาศของกองทัพอากาศสหรัฐฯนอกจากนี้ยังใช้ในระบบนำทางของยานปล่อยที่สามารถนำกลับมาใช้ใหม่ได้และระบบควบคุมทิศทางและการนำทางของยานอวกาศที่เทียบท่าที่สถานีอวกาศนานาชาติ [ 22 ]

ภาพรวมของการคำนวณ

การกรองแบบ Kalman ใช้แบบจำลองพลวัตของระบบ (เช่น กฎการเคลื่อนที่ทางฟิสิกส์) อินพุตควบคุมที่ทราบของระบบนั้น และการวัดหลายครั้งต่อเนื่องกัน (เช่น จากเซ็นเซอร์) เพื่อสร้างค่าประมาณของปริมาณที่เปลี่ยนแปลงของระบบ ( สถานะ ของระบบ ) ซึ่งดีกว่าค่าประมาณที่ได้จากการใช้การวัดเพียงครั้งเดียว ดังนั้นจึงเป็นอัลกอริธึม การรวมข้อมูลจากเซ็นเซอร์และการรวมข้อมูล ที่ใช้กันทั่วไป

ข้อมูลเซ็นเซอร์ที่มีสัญญาณรบกวน การประมาณค่าในสมการที่อธิบายวิวัฒนาการของระบบ และปัจจัยภายนอกที่ไม่ได้นำมาพิจารณา ล้วนจำกัดความสามารถในการกำหนดสถานะของระบบได้อย่างแม่นยำ ตัวกรอง Kalman สามารถจัดการกับความไม่แน่นอนที่เกิดจากข้อมูลเซ็นเซอร์ที่มีสัญญาณรบกวนได้อย่างมีประสิทธิภาพ และในระดับหนึ่งก็จัดการกับปัจจัยภายนอกแบบสุ่มได้ด้วย ตัวกรอง Kalman สร้างค่าประมาณสถานะของระบบโดยเฉลี่ยจากสถานะที่คาดการณ์ไว้ของระบบและจากการวัดใหม่โดยใช้ค่าเฉลี่ยถ่วงน้ำหนักจุดประสงค์ของน้ำหนักคือการ "เชื่อถือ" ค่าที่มีความไม่แน่นอนที่คาดการณ์ได้ดีกว่า (เช่น น้อยกว่า) มากกว่า น้ำหนักคำนวณจากค่าความแปรปรวนร่วมซึ่งเป็นตัววัดความไม่แน่นอนที่คาดการณ์ไว้ของการคาดการณ์สถานะของระบบ ผลลัพธ์ของค่าเฉลี่ยถ่วงน้ำหนักคือค่าประมาณสถานะใหม่ที่อยู่ระหว่างสถานะที่คาดการณ์และสถานะที่วัดได้ และมีความไม่แน่นอนที่คาดการณ์ได้ดีกว่าค่าใดค่าหนึ่งเพียงอย่างเดียว กระบวนการนี้จะทำซ้ำในทุกขั้นตอนเวลา โดยค่าประมาณใหม่และค่าความแปรปรวนร่วมจะใช้ในการคาดการณ์ในรอบถัดไป นั่นหมายความว่าตัวกรอง Kalman ทำงานแบบเรียกซ้ำและต้องการเพียง "การคาดเดาที่ดีที่สุด" ครั้งล่าสุดเท่านั้น ไม่จำเป็นต้องใช้ประวัติทั้งหมดของสถานะของระบบ เพื่อคำนวณสถานะใหม่

การจัดระดับความแน่นอนของการวัดและการประมาณสถานะปัจจุบันเป็นสิ่งสำคัญที่ต้องพิจารณา โดยทั่วไปแล้วจะมีการอธิบายการตอบสนองของตัวกรองในแง่ของค่าเกน ของตัวกรอง Kalman ค่าเกนของ Kalman คือน้ำหนักที่ให้กับการวัดและการประมาณสถานะปัจจุบัน และสามารถ "ปรับแต่ง" เพื่อให้ได้ประสิทธิภาพที่ต้องการได้ หากค่าเกนสูง ตัวกรองจะให้น้ำหนักกับการวัดล่าสุดมากกว่า และปรับตัวให้เข้ากับการวัดเหล่านั้นได้รวดเร็วยิ่งขึ้น ในทางกลับกัน หากค่าเกนต่ำ ตัวกรองจะปรับตัวให้เข้ากับการคาดการณ์ของแบบจำลองได้ใกล้เคียงมากขึ้น ในกรณีสุดขั้ว ค่าเกนสูง (ใกล้หนึ่ง) จะทำให้วิถีการประมาณค่ากระโดดไปมา ในขณะที่ค่าเกนต่ำ (ใกล้ศูนย์) จะช่วยลดสัญญาณรบกวนแต่ลดการตอบสนองลง

เมื่อทำการคำนวณจริงสำหรับตัวกรอง (ดังที่กล่าวไว้ด้านล่าง) ค่าประมาณสถานะและความแปรปรวนร่วมจะถูกเข้ารหัสเป็นเมทริกซ์เนื่องจากมีมิติหลายมิติที่เกี่ยวข้องในชุดการคำนวณเดียว วิธีนี้ช่วยให้สามารถแสดงความสัมพันธ์เชิงเส้นระหว่างตัวแปรสถานะต่างๆ (เช่น ตำแหน่ง ความเร็ว และความเร่ง) ในแบบจำลองการเปลี่ยนสถานะหรือความแปรปรวนร่วมใดๆ ก็ได้

ตัวอย่างการใช้งาน

ตัวอย่างการประยุกต์ใช้ ลองพิจารณาปัญหาการกำหนดตำแหน่งที่แม่นยำของรถบรรทุก รถบรรทุกอาจติดตั้ง อุปกรณ์ GPSที่ให้ค่าประมาณตำแหน่งภายในไม่กี่เมตร ค่าประมาณจาก GPS มักจะมีสัญญาณรบกวนสูง ค่าที่อ่านได้จะ "กระโดดไปมา" อย่างรวดเร็ว แม้ว่าจะยังคงอยู่ในช่วงไม่กี่เมตรจากตำแหน่งจริงก็ตาม นอกจากนี้ เนื่องจากคาดว่ารถบรรทุกจะปฏิบัติตามกฎทางฟิสิกส์ ตำแหน่งของรถบรรทุกจึงสามารถประมาณได้โดยการอินทิเกรตความเร็วของรถบรรทุกเมื่อเวลาผ่านไป ซึ่งกำหนดโดยการติดตามการหมุนของล้อและมุมของพวงมาลัย นี่คือเทคนิคที่เรียกว่าการคำนวณตำแหน่งโดยประมาณ (dead reckoning ) โดยทั่วไปแล้ว การคำนวณตำแหน่งโดยประมาณจะให้ค่าประมาณตำแหน่งของรถบรรทุกที่ราบเรียบมาก แต่จะคลาดเคลื่อนไปตามเวลาเนื่องจากข้อผิดพลาดเล็กๆ น้อยๆ สะสมกัน

ในตัวอย่างนี้ ตัวกรอง Kalman สามารถมองได้ว่าทำงานในสองขั้นตอนที่แตกต่างกัน คือ การคาดการณ์และการปรับปรุง ในขั้นตอนการคาดการณ์ ตำแหน่งเดิมของรถบรรทุกจะถูกปรับเปลี่ยนตามกฎการเคลื่อนที่ ทางฟิสิกส์ (แบบจำลองพลวัตหรือ "การเปลี่ยนสถานะ") ไม่เพียงแต่จะคำนวณค่าประมาณตำแหน่งใหม่เท่านั้น แต่ยังคำนวณค่าความแปรปรวนร่วมใหม่ด้วย อาจเป็นไปได้ว่าค่าความแปรปรวนร่วมเป็นสัดส่วนกับความเร็วของรถบรรทุก เนื่องจากเราไม่แน่ใจเกี่ยวกับความแม่นยำของค่าประมาณตำแหน่งจากการคำนวณแบบ Dead Reckoning ที่ความเร็วสูง แต่แน่ใจมากเกี่ยวกับค่าประมาณตำแหน่งที่ความเร็วต่ำ ต่อมา ในขั้นตอนการปรับปรุง จะมีการวัดตำแหน่งของรถบรรทุกจากหน่วย GPS การวัดนี้มาพร้อมกับความไม่แน่นอนบางส่วน และค่าความแปรปรวนร่วมของการวัดนี้เมื่อเทียบกับค่าความแปรปรวนร่วมของการคาดการณ์จากขั้นตอนก่อนหน้าจะเป็นตัวกำหนดว่าการวัดใหม่จะส่งผลต่อการคาดการณ์ที่ปรับปรุงแล้วมากน้อยเพียงใด ในอุดมคติแล้ว เนื่องจากค่าประมาณแบบ Dead Reckoning มีแนวโน้มที่จะคลาดเคลื่อนจากตำแหน่งจริง การวัดจาก GPS ควรดึงค่าประมาณตำแหน่งกลับมาสู่ตำแหน่งจริง แต่ไม่ควรทำให้เกิดความคลาดเคลื่อนจนถึงจุดที่เกิดสัญญาณรบกวนและกระโดดอย่างรวดเร็ว

คำอธิบายทางเทคนิคและบริบท

ตัวกรอง Kalman เป็นตัวกรองแบบวนซ้ำ ที่มีประสิทธิภาพ ในการประมาณสถานะภายในของระบบไดนามิกเชิงเส้นจากชุด การวัด ที่มีสัญญาณรบกวนมีการใช้งานในหลากหลายด้านทางวิศวกรรมและเศรษฐศาสตร์ตั้งแต่เรดาร์และคอมพิวเตอร์วิชั่นไปจนถึงการประมาณแบบจำลองโครงสร้างเศรษฐกิจมหภาค[ 23 ] [ 24 ]และเป็นหัวข้อสำคัญในทฤษฎีการควบคุมและ วิศวกรรม ระบบควบคุมร่วมกับตัวควบคุมเชิงเส้น-กำลังสอง (LQR) ตัวกรอง Kalman สามารถแก้ ปัญหา การควบคุมเชิงเส้น-กำลังสอง-เกาส์เซียน (LQG) ได้ ตัวกรอง Kalman ตัวควบคุมเชิงเส้น-กำลังสอง และตัวควบคุมเชิงเส้น-กำลังสอง-เกาส์เซียน เป็นวิธีแก้ปัญหาที่อาจกล่าวได้ว่าเป็นปัญหาพื้นฐานที่สุดของทฤษฎีการควบคุม

ในแอปพลิเคชันส่วนใหญ่ สถานะภายในมักมีขนาดใหญ่กว่า (มีระดับความเป็นอิสระ มากกว่า ) พารามิเตอร์ "ที่สังเกตได้" เพียงไม่กี่ตัวที่วัดได้ อย่างไรก็ตาม ด้วยการรวมการวัดหลายๆ ครั้ง ตัวกรอง Kalman สามารถประมาณสถานะภายในทั้งหมดได้

สำหรับทฤษฎี Dempster–Shaferนั้น สมการสถานะหรือการสังเกตแต่ละครั้งถือเป็นกรณีพิเศษของฟังก์ชันความเชื่อเชิงเส้นและการกรอง Kalman เป็นกรณีพิเศษของการรวมฟังก์ชันความเชื่อเชิงเส้นบนแผนผังการเชื่อมต่อหรือแผนผัง Markovนอกจากนี้ยังมีวิธีการกรองความเชื่อที่ใช้การปรับปรุงแบบ Bayes หรือแบบอิงหลักฐานกับสมการสถานะ ด้วย

ปัจจุบันมีตัวกรอง Kalman หลากหลายประเภท ได้แก่ สูตรดั้งเดิมของ Kalman ซึ่งปัจจุบันเรียกว่าตัวกรอง Kalman แบบ "ง่าย" ตัวกรองKalman–Bucy ตัวกรองแบบ "ขยาย" ของ Schmidt ตัวกรองข้อมูลและตัวกรองแบบ "รากที่สอง" หลายประเภทที่พัฒนาโดย Bierman, Thornton และคนอื่นๆ อีกมากมาย ตัวกรอง Kalman แบบง่ายที่ใช้กันทั่วไปมากที่สุดอาจเป็นวงจรล็อกเฟส (phase-locked loop ) ซึ่งพบได้ทั่วไปในวิทยุ โดยเฉพาะ วิทยุ แบบปรับความถี่ (FM) โทรทัศน์ เครื่องรับ สัญญาณดาวเทียมระบบสื่อสารในอวกาศ และอุปกรณ์สื่อสาร อิเล็กทรอนิกส์ อื่นๆ เกือบทุกชนิด

แบบจำลองระบบพลวัตพื้นฐาน

การกรองแบบ Kalman นั้นอยู่บนพื้นฐานของระบบพลวัตเชิงเส้นที่ถูกทำให้เป็นแบบไม่ต่อเนื่องในโดเมนเวลา โดยแบบจำลองจะสร้างขึ้น จาก ห่วงโซ่ Markovที่สร้างขึ้นจากตัวดำเนินการเชิงเส้นที่ถูกรบกวนด้วยข้อผิดพลาด ซึ่งอาจรวมถึงสัญญาณรบกวนแบบ Gaussian สถานะของระบบเป้าหมายหมายถึงการกำหนดค่าระบบที่แท้จริง (แต่ซ่อนอยู่) ซึ่งแสดงเป็นเวกเตอร์ของจำนวนจริงในแต่ละช่วงเวลาที่ไม่ต่อเนื่อง ตัวดำเนินการเชิงเส้นจะถูกนำไปใช้กับสถานะเพื่อสร้างสถานะใหม่ โดยมีสัญญาณรบกวนผสมอยู่ด้วย และอาจมีข้อมูลจากตัวควบคุมในระบบหากทราบ จากนั้น ตัวดำเนินการเชิงเส้นอีกตัวหนึ่งที่ผสมกับสัญญาณรบกวนเพิ่มเติมจะสร้างเอาต์พุตที่วัดได้ (เช่น การสังเกต) จากสถานะที่แท้จริง ("ซ่อนอยู่") ตัวกรอง Kalman อาจถือได้ว่าคล้ายคลึงกับแบบจำลอง Markov ที่ซ่อนอยู่ โดยมีความแตกต่างตรงที่ตัวแปรสถานะที่ซ่อนอยู่มีค่าอยู่ในพื้นที่ต่อเนื่อง ตรงข้ามกับพื้นที่สถานะแบบไม่ต่อเนื่องเช่นเดียวกับแบบจำลอง Markov ที่ซ่อนอยู่ มีความคล้ายคลึงกันอย่างมากระหว่างสมการของตัวกรอง Kalman และสมการของแบบจำลอง Markov ที่ซ่อนอยู่ บทวิจารณ์เกี่ยวกับโมเดลนี้และโมเดลอื่นๆ อยู่ใน Roweis และGhahramani (1999) [ 25 ]และ Hamilton (1994) บทที่ 13 [ 26 ]

ในการใช้ตัวกรอง Kalman เพื่อประมาณสถานะภายในของกระบวนการโดยใช้เพียงลำดับของการสังเกตที่มีสัญญาณรบกวน จำเป็นต้องสร้างแบบจำลองกระบวนการตามกรอบต่อไปนี้ ซึ่งหมายถึงการระบุเมทริกซ์สำหรับแต่ละช่วงเวลาดังนี้:

  • แบบจำลองการเปลี่ยนสถานะ;
  • แบบจำลองการสังเกต;
  • ค่าความแปรปรวนร่วมของสัญญาณรบกวนในกระบวนการ;
  • ค่าความแปรปรวนร่วมของสัญญาณรบกวนจากการสังเกต;
  • และบางครั้งรูปแบบการควบคุมอินพุตดังที่อธิบายไว้ด้านล่าง หากรวมอยู่ด้วย ก็จะมีด้วยเช่นกัน
  • เวกเตอร์ควบคุม ซึ่งแสดงถึงอินพุตควบคุมในแบบจำลองอินพุตควบคุม

ดังที่แสดงด้านล่าง เป็นเรื่องปกติในหลายๆ แอปพลิเคชันที่เมทริกซ์, , , , และมีค่าคงที่ตลอดเวลา ในกรณีเช่นนี้ดัชนีของเมทริกซ์เหล่านี้อาจถูกตัดทิ้งได้

แบบจำลองพื้นฐานของตัวกรอง Kalman สี่เหลี่ยมแทนเมทริกซ์ วงรีแทนการแจกแจงปกติแบบ หลายตัวแปร (โดยมีค่าเฉลี่ยและเมทริกซ์ความแปรปรวนร่วมอยู่ภายใน) ค่าที่อยู่นอกกรอบคือเวกเตอร์สำหรับกรณีง่ายๆ เมทริกซ์ต่างๆ จะคงที่เมื่อเวลาผ่านไป ดังนั้นจึงไม่ได้ใช้ดัชนี แต่การกรอง Kalman อนุญาตให้เมทริกซ์ใดๆ ก็ได้เปลี่ยนแปลงในแต่ละช่วงเวลา

แบบจำลองตัวกรอง Kalman ถือว่าสถานะที่แท้จริง ณ เวลา t มีการเปลี่ยนแปลงมาจากสถานะ ณ เวลา t ตามสมการ

ที่ไหน

  • คือแบบจำลองการเปลี่ยนสถานะซึ่งนำไปใช้กับสถานะก่อนหน้าx k −1 ;
  • คือแบบจำลองอินพุตควบคุมซึ่งนำไปใช้กับเวกเตอร์ควบคุม
  • คือสัญญาณรบกวนของกระบวนการ ซึ่งถือว่าได้มาจากการกระจายแบบปกติหลายตัวแปรที่ มีค่าเฉลี่ยเป็นศูนย์ , , และค่าความแปรปรวนร่วม , : .

หากเป็นอิสระจากเวลา เราอาจเขียน แทน Roweis และ Ghahramani [ 25 ] : 307 เพื่อเน้นว่าเสียงรบกวนไม่มีความรู้ที่ชัดเจนเกี่ยวกับเวลา

ในเวลาหนึ่ง จะมี การสังเกต (หรือวัด) สถานะที่แท้จริงตาม

ที่ไหน

  • คือแบบจำลองการสังเกต ซึ่งแปลงพื้นที่สถานะที่แท้จริงไปเป็นพื้นที่ที่สังเกตได้ และ
  • คือสัญญาณรบกวนจากการสังเกต ซึ่งถือว่าเป็นสัญญาณรบกวนสีขาว แบบเกาส์เซียนที่มีค่าเฉลี่ยเป็นศูนย์ และมีความแปรปรวนร่วม: .

ในทำนองเดียวกันกับสถานการณ์สำหรับ เราอาจเขียนแทนได้ หากไม่ขึ้นอยู่กับเวลา

สถานะเริ่มต้นและเวกเตอร์สัญญาณรบกวนในแต่ละขั้นตอนถือว่ามีความเป็นอิสระ ต่อ กัน

ระบบไดนามิกแบบเรียลไทม์จำนวนมากไม่ได้สอดคล้องกับแบบจำลองนี้อย่างแม่นยำ อันที่จริง ไดนามิกที่ไม่ได้จำลองไว้อาจทำให้ประสิทธิภาพของตัวกรองลดลงอย่างมาก แม้ว่าจะถูกออกแบบมาให้ทำงานกับสัญญาณสุ่มที่ไม่ทราบค่าเป็นอินพุตก็ตาม เหตุผลก็คือ ผลกระทบของไดนามิกที่ไม่ได้จำลองไว้นั้นขึ้นอยู่กับอินพุต และด้วยเหตุนี้จึงอาจทำให้ขั้นตอนวิธีประมาณค่าไม่เสถียร (เกิดการเบี่ยงเบน) ในทางกลับกัน สัญญาณรบกวนสีขาวที่เป็นอิสระจะไม่ทำให้ขั้นตอนวิธีเบี่ยงเบน ปัญหาของการแยกแยะระหว่างสัญญาณรบกวนจากการวัดและไดนามิกที่ไม่ได้จำลองไว้นั้นเป็นปัญหาที่ยาก และถือเป็นปัญหาของทฤษฎีการควบคุมโดยใช้ การ ควบคุมที่แข็งแกร่ง[ 27 ] [ 28 ]

รายละเอียด

ตัวกรอง Kalman เป็น ตัวประมาณค่าแบบ เรียกซ้ำซึ่งหมายความว่าจำเป็นต้องใช้เพียงค่าประมาณสถานะจากขั้นตอนเวลาที่ผ่านมาและการวัดค่าปัจจุบันเพื่อคำนวณค่าประมาณสำหรับสถานะปัจจุบัน แตกต่างจากเทคนิคการประมาณค่าแบบกลุ่ม ไม่จำเป็นต้องมีประวัติการสังเกตและ/หรือค่าประมาณ ต่อไปนี้ สัญลักษณ์จะแทนค่าประมาณของณ เวลาn โดย พิจารณา จากการสังเกตจนถึงและรวมถึง ณ เวลาmn

สถานะของตัวกรองแสดงด้วยตัวแปรสองตัว:

  • ค่าเฉลี่ยการประมาณสถานะ ภายหลังณ เวลาkโดย พิจารณาจากการ สังเกตการณ์จนถึงและรวมถึงเวลาk
  • เมท ริกซ์ความแปรปรวนร่วมของการประมาณค่า ภายหลัง (ซึ่งเป็นตัววัดความแม่นยำของการประมาณค่าสถานะ)

โครงสร้างอัลกอริธึมของตัวกรอง Kalman คล้ายคลึงกับตัวกรอง Alpha betaตัวกรอง Kalman สามารถเขียนได้ในรูปสมการเดียว แต่โดยทั่วไปแล้วมักจะถูกมองว่าเป็นสองขั้นตอนที่แตกต่างกัน คือ "การทำนาย" และ "การปรับปรุง" ขั้นตอนการทำนายใช้ค่าประมาณสถานะจากช่วงเวลาที่ผ่านมาเพื่อสร้างค่าประมาณสถานะในช่วงเวลาปัจจุบัน ค่าประมาณสถานะที่ทำนายได้นี้เรียกว่า ค่าประมาณสถานะ ก่อนหน้า (a priori state estimate) เพราะถึงแม้จะเป็นค่าประมาณสถานะในช่วงเวลาปัจจุบัน แต่ก็ไม่ได้รวมข้อมูลการสังเกตจากช่วงเวลาปัจจุบัน ในขั้นตอนการปรับปรุงนวัตกรรม (ค่าตกค้างจากการปรับแบบจำลองก่อนหน้า) กล่าวคือ ความแตกต่างระหว่าง การทำนาย ก่อนหน้า ในปัจจุบัน กับข้อมูลการสังเกตในปัจจุบัน จะถูกคูณด้วยค่า Kalman gain ที่เหมาะสมที่สุดและรวมกับค่าประมาณสถานะก่อนหน้าเพื่อปรับปรุงค่าประมาณสถานะ ค่าประมาณที่ได้รับการปรับปรุงนี้โดยอิงจากการสังเกตในปัจจุบันเรียกว่า ค่าประมาณสถานะ ภายหลัง (a posteriori state estimate)

โดยทั่วไปแล้ว ทั้งสองขั้นตอนจะสลับกัน โดยการคาดการณ์จะทำให้สถานะก้าวหน้าไปจนถึงการสังเกตการณ์ตามกำหนดการครั้งถัดไป และการอัปเดตจะรวมการสังเกตการณ์นั้นเข้าไปด้วย อย่างไรก็ตาม ไม่จำเป็นต้องเป็นเช่นนั้นเสมอไป หากไม่มีการสังเกตการณ์ด้วยเหตุผลบางประการ การอัปเดตอาจถูกข้ามไปและดำเนินการขั้นตอนการคาดการณ์หลายขั้นตอน ในทำนองเดียวกัน หากมีการสังเกตการณ์อิสระหลายรายการในเวลาเดียวกัน อาจมีการดำเนินการขั้นตอนการอัปเดตหลายขั้นตอน (โดยทั่วไปแล้วจะใช้เมทริกซ์การสังเกตการณ์H k ที่แตกต่างกัน ) [ 29 ] [ 30 ]

ทำนาย

การประมาณค่าสถานะ ที่คาดการณ์ไว้ล่วงหน้า ( a priori )
ค่าประมาณความแปรปรวน ที่คาดการณ์ไว้ ( ล่วงหน้า )

อัปเดต

นวัตกรรมหรือการวัดค่าคงเหลือก่อนการติดตั้ง
ความแปรปรวนร่วมของนวัตกรรม (หรือค่าตกค้างก่อนการปรับ)
ค่าเกน Kalman ที่เหมาะสมที่สุด
การประเมินสถานะ ที่ปรับปรุงแล้ว ( ภายหลัง )
ค่าความแปรปรวนร่วม ที่ปรับปรุงแล้ว ( หลัง การปรับปรุง ) (รูปแบบปกติ)
ค่าประมาณความแปรปรวน ที่ปรับปรุงแล้ว ( ภายหลัง การปรับปรุง ) (รูปแบบของโจเซฟ)
ค่าความคลาดเคลื่อนหลังการวัดหลังการปรับ

สูตรที่สองสำหรับการประมาณค่าความแปรปรวนที่ปรับปรุงแล้ว ( ภายหลัง ) ข้างต้นเรียกว่า "รูปแบบโจเซฟ" ซึ่งมักใช้ในการประยุกต์ใช้ (มีความเสถียรทางตัวเลขมากกว่าสูตรทั่วไปที่ง่ายกว่า) การพิสูจน์สูตรสามารถพบได้ใน ส่วน การหาอนุพันธ์ ซึ่ง แสดงให้เห็นว่า สูตรนั้นใช้ได้กับK k ใดๆ ด้วย

วิธีที่เข้าใจง่ายกว่าในการแสดงค่าประมาณสถานะที่อัปเดตแล้ว ( ) คือ:

นิพจน์นี้ทำให้เรานึกถึงการประมาณค่าเชิงเส้นในช่วงระหว่าง [0,1] ในกรณีของเรา:

  • คือเมทริกซ์ที่รับค่าจาก(ความคลาดเคลื่อนสูงในเซ็นเซอร์) ไปยังหรือค่าที่ฉายออกมา (ความคลาดเคลื่อนต่ำ)
  • คือสถานะภายในที่ประเมินจากแบบจำลอง
  • คือสถานะภายในที่ประมาณได้จากการวัด โดยสมมติว่าเมทริกซ์นั้นไม่ใช่เมทริกซ์เอกฐาน (ซึ่งในหลายแอปพลิเคชันนั้นไม่ใช่สมมติฐานที่สมเหตุสมผล เช่น เมื่อมิติของสถานะมากกว่ามิติของการสังเกต)

นิพจน์นี้ยังมีลักษณะคล้ายกับขั้นตอนการอัปเดต ตัวกรองอัลฟาเบตา ด้วย

ตัวแปรคงที่

หากแบบจำลองมีความแม่นยำ และค่าสำหรับและสะท้อนถึงการกระจายของค่าสถานะเริ่มต้นอย่างถูกต้องแล้ว ค่าคงที่ต่อไปนี้จะยังคงอยู่:

โดยที่คือค่าที่คาดหวังของนั่นคือ ค่าประมาณทั้งหมดมีค่าความคลาดเคลื่อนเฉลี่ยเป็นศูนย์

อีกด้วย:

ดังนั้นเมทริกซ์ความแปรปรวนร่วมจึงสะท้อนความแปรปรวนร่วมของการประมาณค่าได้อย่างแม่นยำ

การประมาณค่าความแปรปรวนร่วมของสัญญาณรบกวน Q kและ R k

การนำ Kalman Filter ไปใช้ในทางปฏิบัติมักเป็นเรื่องยาก เนื่องจากความยากลำบากในการประมาณเมทริกซ์ความแปรปรวนร่วมของสัญญาณรบกวนQ kและR kได้อย่างแม่นยำ มีการวิจัยอย่างกว้างขวางเพื่อประมาณค่าความแปรปรวนร่วมเหล่านี้จากข้อมูล วิธีการปฏิบัติวิธีหนึ่งในการทำเช่นนี้คือ เทคนิค กำลังสองน้อยที่สุดของความแปรปรวนร่วมอัตโนมัติ (ALS) ซึ่งใช้ ความแปรปรวนร่วมอัตโนมัติที่ล่าช้าตามเวลาของข้อมูลการทำงานประจำวันเพื่อประมาณค่าความแปรปรวนร่วม[ 31 ] [ 32 ] รหัสGNU OctaveและMatlabที่ใช้ในการคำนวณเมทริกซ์ความแปรปรวนร่วมของสัญญาณรบกวนโดยใช้เทคนิค ALS มีให้ใช้งานออนไลน์ภายใต้ใบอนุญาตสาธารณะทั่วไปของ GNU [ 33 ]

ตัวกรอง Kalman ของสนาม (FKF) ซึ่งเป็นอัลกอริทึมแบบเบย์เซียนที่ช่วยให้สามารถประมาณค่าสถานะ พารามิเตอร์ และความแปรปรวนร่วมของสัญญาณรบกวนได้พร้อมกัน ได้รับการเสนอ[ 34 ]อัลกอริทึม FKF มีสูตรแบบวนซ้ำ มีการบรรจบกันที่สังเกตได้ดี และมีความซับซ้อนค่อนข้างต่ำ จึงแนะนำว่าอัลกอริทึม FKF อาจเป็นทางเลือกที่คุ้มค่าสำหรับวิธีการกำลังสองน้อยที่สุดของความแปรปรวนร่วมอัตโนมัติ

แนวทางอื่นคือตัวกรอง Kalman ที่ได้รับการปรับให้เหมาะสม (OKF) ซึ่งพิจารณาเมทริกซ์ความแปรปรวนร่วมไม่ใช่ในฐานะตัวแทนของสัญญาณรบกวน แต่เป็นพารามิเตอร์ที่มุ่งไปสู่การประมาณสถานะที่แม่นยำที่สุด[ 35 ]มุมมองทั้งสองนี้สอดคล้องกันภายใต้สมมติฐานของ KF แต่มักจะขัดแย้งกันในระบบจริง ดังนั้น การประมาณสถานะของ OKF จึงมีความทนทานต่อความไม่แม่นยำของการสร้างแบบจำลองมากกว่า

ความเหมาะสมและประสิทธิภาพ

ตัวกรอง Kalman ให้การประมาณสถานะที่เหมาะสมที่สุดในกรณีที่ ก) แบบจำลองตรงกับระบบจริงอย่างสมบูรณ์ ข) สัญญาณรบกวนขาเข้าเป็น "สีขาว" (ไม่สัมพันธ์กัน) และ ค) ทราบค่าความแปรปรวนร่วมของสัญญาณรบกวนอย่างแม่นยำ สัญญาณรบกวนที่สัมพันธ์กันก็สามารถจัดการได้โดยใช้ตัวกรอง Kalman เช่นกัน[ 36 ]

ในช่วงหลายทศวรรษที่ผ่านมา มีการเสนอวิธีการประมาณค่าความแปรปรวนร่วมของสัญญาณรบกวนหลายวิธี รวมถึง ALS ที่กล่าวถึงในส่วนด้านบน โดยทั่วไปแล้ว หากสมมติฐานของแบบจำลองไม่ตรงกับระบบจริงอย่างสมบูรณ์ การประมาณค่าสถานะที่เหมาะสมที่สุดอาจไม่ได้มาจากการตั้งค่าQ kและR kให้เป็นค่าความแปรปรวนร่วมของสัญญาณรบกวนเสมอไป แต่ในกรณีนั้น พารามิเตอร์Q kและR kอาจถูกกำหนดเพื่อเพิ่มประสิทธิภาพการประมาณค่าสถานะอย่างชัดเจน[ 35 ]เช่น การใช้การเรียนรู้แบบมีผู้กำกับดูแลมาตรฐาน

หลังจากตั้งค่าความแปรปรวนร่วมแล้ว การประเมินประสิทธิภาพของตัวกรองจะเป็นประโยชน์ กล่าวคือ เป็นไปได้หรือไม่ที่จะปรับปรุงคุณภาพการประมาณค่าสถานะ หากตัวกรอง Kalman ทำงานได้อย่างเหมาะสม ลำดับนวัตกรรม (ข้อผิดพลาดในการทำนายเอาต์พุต) จะเป็นสัญญาณรบกวนสีขาว ดังนั้นคุณสมบัติความเป็นสีขาวของนวัตกรรม จึง วัดประสิทธิภาพของตัวกรอง สามารถใช้วิธีการต่างๆ หลายวิธีเพื่อจุดประสงค์นี้[ 37 ]หากเทอมสัญญาณรบกวนมีการกระจายแบบไม่เป็นแบบเกาส์เซียน วิธีการประเมินประสิทธิภาพของการประมาณค่าตัวกรองซึ่งใช้ความไม่เท่าเทียมกันของความน่าจะเป็นหรือทฤษฎีตัวอย่างขนาดใหญ่เป็นที่รู้จักในวรรณกรรม[ 38 ] [ 39 ]

ตัวอย่างการใช้งานทางเทคนิค

  ความจริง
  กระบวนการกรอง
  ข้อสังเกต

ลองพิจารณาถึงรถบรรทุกที่วิ่งอยู่บนรางตรงที่ไม่มีแรงเสียดทาน ในตอนเริ่มต้น รถบรรทุกจะอยู่นิ่งที่ตำแหน่ง 0 แต่จะถูกแรงสุ่มที่ไม่สามารถควบคุมได้กระทำต่อมัน เราวัดตำแหน่งของรถบรรทุกทุกๆ Δt วินาที แต่การวัดเหล่านี้ไม่แม่นยำ เราจึงต้องการรักษารูปแบบของตำแหน่งและ ความเร็วของรถ บรรทุก ไว้ เราจะแสดงวิธีการสร้างแบบจำลองซึ่งเราใช้สร้างตัวกรอง Kalman ของเรา

เนื่องจากค่าเหล่านี้คงที่ ดัชนีเวลาจึงถูกตัดทิ้ง

ตำแหน่งและความเร็วของรถบรรทุกถูกอธิบายโดยปริภูมิสถานะเชิงเส้น

โดยที่ความเร็วคืออนุพันธ์ของตำแหน่งเทียบกับเวลา

เราสมมติว่าระหว่างช่วงเวลา ( k  − 1) และkแรงที่ควบคุมไม่ได้ทำให้เกิดความเร่งคงที่เท่ากับkซึ่งมีการกระจายแบบปกติโดยมีค่าเฉลี่ย 0 และส่วนเบี่ยงเบนมาตรฐานσaจากกฎการเคลื่อนที่ของนิวตันเราสรุปได้ ว่า

(ไม่มีเทอมเนื่องจากไม่มีอินพุตควบคุมที่ทราบ แต่kคือผลของอินพุตที่ไม่ทราบค่าและ นำผลนั้นไปใช้ กับเวกเตอร์สถานะ) โดยที่

ดังนั้น

ที่ไหน

เมทริกซ์นี้ไม่ใช่เมทริกซ์ที่มีอันดับเต็ม (จะมีอันดับหนึ่งก็ต่อเมื่อ) ดังนั้น การแจกแจงจึงไม่ต่อเนื่องอย่างสมบูรณ์และไม่มีฟังก์ชันความหนาแน่นความน่าจะเป็นอีกวิธีหนึ่งในการแสดงสิ่งนี้โดยหลีกเลี่ยงการแจกแจงแบบเสื่อมสภาพอย่างชัดเจนคือ

ในแต่ละช่วงเวลา จะมีการวัด ตำแหน่ง ที่แท้จริงของรถบรรทุกซึ่งมีสัญญาณรบกวนอยู่ สมมติว่าสัญญาณรบกวนในการวัดv kมีการกระจายแบบปกติเช่นกัน โดยมีค่าเฉลี่ย 0 และส่วนเบี่ยงเบนมาตรฐานσ z

ที่ไหน

และ

เราทราบสถานะเริ่มต้นของรถบรรทุกอย่างแม่นยำ ดังนั้นเราจึงทำการเริ่มต้นระบบ

และเพื่อให้ตัวกรองทราบว่าเรารู้ตำแหน่งและความเร็วที่แน่นอน เราจึงกำหนดเมทริกซ์ความแปรปรวนร่วมเป็นศูนย์ให้กับมัน:

หากไม่ทราบตำแหน่งและความเร็วเริ่มต้นอย่างแม่นยำ ควรตั้งค่าเมทริกซ์ความแปรปรวนร่วมเริ่มต้นด้วยค่าความแปรปรวนที่เหมาะสมบนแนวทแยงมุมของเมทริกซ์:

จากนั้นตัวกรองจะเลือกใช้ข้อมูลจากการวัดครั้งแรกมากกว่าข้อมูลที่มีอยู่แล้วในแบบจำลอง

รูปแบบเชิงเส้นกำกับ

เพื่อความง่าย ให้สมมติว่าอินพุตควบคุมคือจากนั้นตัวกรอง Kalman สามารถเขียนได้ดังนี้:

สมการที่คล้ายกันนี้ยังคงใช้ได้หากเรารวมอินพุตควบคุมที่ไม่เป็นศูนย์เข้าไปด้วย เมทริกซ์อัตราขยายและเมทริกซ์ความแปรปรวนร่วมจะเปลี่ยนแปลงไปโดยอิสระจากการวัดจากข้างต้น สมการทั้งสี่ที่จำเป็นสำหรับการอัปเดตเมทริกซ์มีดังนี้:

เนื่องจากสิ่งเหล่านี้ขึ้นอยู่กับแบบจำลองเท่านั้น ไม่ใช่การวัด จึงสามารถคำนวณแบบออฟไลน์ได้ การลู่เข้าของเมทริกซ์เกนไปยังเมทริกซ์เชิง เส้นกำกับ นั้นใช้ได้กับเงื่อนไขที่กำหนดไว้ใน Walrand และ Dimakis [ 40 ]หากอนุกรมลู่เข้า ก็จะลู่เข้าแบบเอกซ์โพเนนเชียลไปยังเชิงเส้น กำกับ โดย สมมติว่ามีสัญญาณรบกวนของระบบที่ไม่เป็นศูนย์[ 41 ]การวิเคราะห์ล่าสุดแสดงให้เห็นว่าอัตราและลักษณะของการลู่เข้านี้อาจเกี่ยวข้องกับโหมดร่วมที่เท่ากันหลายโหมด รวมถึงส่วนประกอบการสั่น ขึ้นอยู่กับโครงสร้างค่าลักษณะเฉพาะของ Jacobian ของแผนที่ Riccati ข้างต้นที่ประเมินที่[ 42 ] สำหรับตัวอย่างรถบรรทุกเคลื่อนที่ที่อธิบายไว้ข้างต้น โดยที่และการจำลองแสดงให้เห็นการลู่เข้าในจำนวนรอบ

เมื่อใช้ค่าเกนเชิงอะซิมโทติก และสมมติว่าและเป็นอิสระจากตัวกรอง Kalman จะกลายเป็น ตัวกรองเชิง เส้นที่ไม่เปลี่ยนแปลงตามเวลา :

หากมี การได้กำไรแบบอะซิมโทติกจะสามารถคำนวณได้โดยการแก้สมการ Riccati แบบไม่ต่อเนื่องต่อไปนี้ สำหรับความแปรปรวนของสถานะอะซิมโทติก ก่อน : [ 40 ]

จากนั้นจึงคำนวณค่ากำไรเชิงอะซิมโทติกตามวิธีการเดิม

นอกจากนี้ รูปแบบของตัวกรอง Kalman แบบ asymptotic ที่นิยมใช้ในทฤษฎีการควบคุมนั้นแสดงได้ดังนี้

ที่ไหน

สิ่งนี้ทำให้ได้ตัวประมาณค่าในรูปแบบ

อนุพันธ์

ตัวกรอง Kalman สามารถอนุมานได้ว่าเป็น วิธี การกำลังสองน้อยที่สุดแบบทั่วไปที่ดำเนินการกับข้อมูลก่อนหน้า[ 43 ]

การหาเมทริกซ์ความแปรปรวนร่วมของการประมาณค่าภายหลัง

เริ่มต้นด้วยค่าคงที่ของเราเกี่ยวกับความแปรปรวนร่วมของข้อผิดพลาดP k  |  kดังที่กล่าวมาข้างต้น

แทนที่ในคำจำกัดความของ

และทดแทน

และ

และโดยการรวบรวมเวกเตอร์ข้อผิดพลาด เราจะได้

เนื่องจากข้อผิดพลาดในการวัดv kไม่มีความสัมพันธ์กับพารามิเตอร์อื่นๆ ดังนั้นจึงกลายเป็นเช่นนี้

โดยอาศัยคุณสมบัติของความแปรปรวนร่วมของเวกเตอร์จะได้ว่า

ซึ่งเมื่อใช้ค่าคงที่ของเราบนP k  |  k −1และนิยามของR kจะได้ว่า

สูตรนี้ (บางครั้งเรียกว่ารูปแบบโจเซฟของสมการปรับปรุงความแปรปรวนร่วม) ใช้ได้กับค่าK k ใดๆ ก็ตาม ปรากฏว่าหากK kคือค่าเกนของ Kalman ที่เหมาะสมที่สุด สูตรนี้สามารถลดรูปให้ง่ายขึ้นได้อีกดังที่แสดงด้านล่าง

การหาค่ากำไรของ Kalman

ตัวกรอง Kalman เป็น ตัวประมาณ ค่าความคลาดเคลื่อนกำลังสองเฉลี่ยต่ำสุด (MMSE)ความคลาดเคลื่อนใน การประมาณค่าสถานะ ภายหลังคือ

เราต้องการลดค่าคาดหวังของกำลังสองของขนาดของเวกเตอร์นี้ให้เหลือน้อยที่สุดซึ่งเทียบเท่ากับการลดค่าร่องรอยของเมทริกซ์ความแปรปรวนร่วมของการประมาณค่าภายหลังให้ เหลือน้อยที่สุด โดยการกระจายพจน์ในสมการข้างต้นและรวบรวม เราจะได้:

ค่าร่องรอยจะมีค่าน้อยที่สุดเมื่ออนุพันธ์เมทริกซ์ของร่องรอย นั้น เทียบกับเมทริกซ์อัตราขยายเป็นศูนย์ โดยใช้กฎของเมทริกซ์เกรเดียนต์และความสมมาตรของเมทริกซ์ที่เกี่ยวข้อง เราพบว่า

เมื่อแก้สมการนี้เพื่อ หาค่า K kจะได้ค่า Kalman gain:

ค่าเกนนี้ ซึ่งเรียกว่าค่าเกนคาลมานที่เหมาะสมที่สุดคือค่าเกนที่ให้ค่าประมาณ MMSE เมื่อนำไปใช้

การลดรูปสูตรความแปรปรวนร่วมของข้อผิดพลาดภายหลัง

สูตรที่ใช้ในการคำนวณ ความแปรปรวนร่วมของข้อผิดพลาด ภายหลังสามารถทำให้ง่ายขึ้นได้เมื่อค่าเกนของ Kalman เท่ากับค่าที่เหมาะสมที่สุดที่ได้มาข้างต้น การคูณทั้งสองข้างของสูตรเกนของ Kalman ทางด้านขวาด้วยS k K k Tจะได้ว่า

เมื่ออ้างอิงกลับไปยังสูตรที่ขยายแล้วของเราสำหรับค่าความแปรปรวนร่วมของข้อผิดพลาด ภายหลัง

เราพบว่าพจน์สองพจน์สุดท้ายหักล้างกัน ทำให้ได้ผลลัพธ์ดังนี้

สูตรนี้ใช้ต้นทุนการคำนวณน้อยกว่า จึงมักถูกนำมาใช้ในทางปฏิบัติ แต่จะถูกต้องเฉพาะกับค่าเกนที่เหมาะสมที่สุดเท่านั้น หากความแม่นยำทางคณิตศาสตร์ต่ำผิดปกติจนทำให้เกิดปัญหาเกี่ยวกับเสถียรภาพเชิงตัวเลขหรือหากจงใจใช้ค่าเกนของ Kalman ที่ไม่เหมาะสม การลดรูปนี้จะไม่สามารถนำไปใช้ได้ ต้องใช้สูตรความแปรปรวนของข้อผิดพลาด ภายหลังการคำนวณตามที่ได้มาจากข้างต้น (รูปแบบของ Joseph) แทน

การวิเคราะห์ความไว

สมการการกรอง Kalman ให้ค่าประมาณของสถานะและความแปรปรวนร่วมของข้อผิดพลาดแบบวนซ้ำ ค่าประมาณและคุณภาพของค่าประมาณนั้นขึ้นอยู่กับพารามิเตอร์ของระบบและสถิติของสัญญาณรบกวนที่ป้อนเป็นอินพุตให้กับตัวประมาณ ส่วนนี้จะวิเคราะห์ผลกระทบของความไม่แน่นอนในอินพุตทางสถิติของตัวกรอง[ 44 ]ในกรณีที่ไม่มีสถิติที่เชื่อถือได้หรือค่าที่แท้จริงของเมทริกซ์ความแปรปรวนร่วมของสัญญาณรบกวนและนิพจน์

ไม่สามารถให้ค่าความแปรปรวนของข้อผิดพลาดที่แท้จริงได้อีกต่อไป กล่าวอีกนัยหนึ่งคือในแอปพลิเคชันแบบเรียลไทม์ส่วนใหญ่ เมทริกซ์ความแปรปรวนที่ใช้ในการออกแบบตัวกรอง Kalman จะแตกต่างจากเมทริกซ์ความแปรปรวนของสัญญาณรบกวนที่แท้จริง การวิเคราะห์ความไวนี้อธิบายพฤติกรรมของค่าความแปรปรวนของข้อผิดพลาดในการประมาณค่าเมื่อเมทริกซ์ความแปรปรวนของสัญญาณรบกวน รวมถึงเมทริกซ์ระบบที่ป้อนเป็นอินพุตให้กับตัวกรองนั้นไม่ถูกต้อง ดังนั้น การวิเคราะห์ความไวจึงอธิบายถึงความทนทาน (หรือความไว) ของตัวประมาณค่าต่ออินพุตทางสถิติและพารามิเตอร์ที่ไม่ถูกต้องของตัวประมาณค่า

การอภิปรายนี้จำกัดเฉพาะการวิเคราะห์ความไวต่อข้อผิดพลาดสำหรับกรณีของความไม่แน่นอนทางสถิติ ในที่นี้ ค่าความแปรปรวนร่วมของสัญญาณรบกวนจริงจะถูกแทนด้วยและตามลำดับ ในขณะที่ค่าออกแบบที่ใช้ในตัวประมาณค่าคือและตามลำดับ ค่าความแปรปรวนร่วมของข้อผิดพลาดจริงจะถูกแทนด้วยและค่าที่คำนวณโดยตัวกรอง Kalman จะเรียกว่าตัวแปร Riccati เมื่อและหมายความว่าเมื่อคำนวณค่าความแปรปรวนร่วมของข้อผิดพลาดจริงโดยใช้แทนค่าและใช้ข้อเท็จจริงที่ว่าและส่งผลให้ได้สมการเวียนเกิดต่อไปนี้สำหรับ :

และ

ในระหว่างการคำนวณตัวกรองจะออกแบบโดยปริยายว่าและนิพจน์แบบเรียกซ้ำสำหรับและจะเหมือนกัน ยกเว้นการมีอยู่ของและแทนที่ค่าการออกแบบและตามลำดับ มีการวิจัยเพื่อวิเคราะห์ความทนทานของระบบตัวกรอง Kalman [ 45 ]

รูปแบบตัวประกอบ

ปัญหาหนึ่งของตัวกรอง Kalman คือความเสถียรเชิงตัวเลขหากค่าความแปรปรวนร่วมของสัญญาณรบกวนกระบวนการQ kมีค่าน้อย ข้อผิดพลาดจากการปัดเศษมักทำให้ค่าไอเกนบวกขนาดเล็กของเมทริกซ์ความแปรปรวนร่วมของสถานะPถูกคำนวณเป็นจำนวนลบ ซึ่งทำให้การแสดงผลเชิงตัวเลขของP ไม่แน่นอนในขณะที่รูปแบบที่แท้จริงของมันเป็นบวก แน่นอน

เมทริก ซ์บวกกำหนด (Positive definite matrices) มีคุณสมบัติที่สามารถแยกตัวประกอบได้เป็นผลคูณของ เมทริกซ์สามเหลี่ยมล่างที่ ไม่เอกฐาน (non-singular , lower-triangular matrix ) S และ เมทริกซ์ทรานสโพส (transpose) ของมัน  : P  =  S · S TโดยสามารถคำนวณตัวประกอบS ได้อย่างมีประสิทธิภาพโดยใช้อัลกอริทึม การแยกตัวประกอบ Choleskyรูปแบบผลคูณของเมทริกซ์ความแปรปรวนร่วมP นี้ รับประกันได้ว่าเป็นเมทริกซ์สมมาตร และสำหรับทุก 1 <= k <= n องค์ประกอบแนวทแยงมุมที่ k ของ P kkจะเท่ากับกำลังสองของนอร์มยุคลิดของแถวที่ k ของSซึ่งจำเป็นต้องมีค่าเป็นบวก รูปแบบที่เทียบเท่ากัน ซึ่งหลีกเลี่ยง การดำเนินการ รากที่สอง จำนวนมาก ที่เกี่ยวข้องกับ อัลกอริทึม การแยกตัวประกอบ Choleskyแต่ยังคงรักษาคุณสมบัติเชิงตัวเลขที่พึงประสงค์ไว้ คือ รูปแบบการแยกตัวประกอบ UD: P  =  U · D · U Tโดยที่Uเป็นเมทริกซ์สามเหลี่ยมเอกลักษณ์ (มีแนวทแยงมุมเป็นหนึ่ง ) และDเป็นเมทริกซ์แนวทแยงมุม

ระหว่างสองวิธีนี้ การแยกตัวประกอบ UD ใช้พื้นที่จัดเก็บเท่ากัน และใช้การคำนวณน้อยกว่าเล็กน้อย และเป็นการแยกตัวประกอบสามเหลี่ยมที่ใช้กันทั่วไปมากที่สุด (เอกสารในยุคแรกเกี่ยวกับประสิทธิภาพเชิงสัมพัทธ์ค่อนข้างทำให้เข้าใจผิด เนื่องจากสันนิษฐานว่ารากที่สองใช้เวลานานกว่าการหารมาก[ 46 ] : 69 ในขณะที่ในคอมพิวเตอร์ยุคศตวรรษที่ 21 รากที่สองมีราคาแพงกว่าเพียงเล็กน้อยเท่านั้น)

GJ Bierman และ CL Thornton ได้พัฒนาอัลกอริธึมที่มีประสิทธิภาพสำหรับขั้นตอนการทำนายและการอัปเดต Kalman ในรูปแบบแยกส่วน[ 46 ] [ 47 ]

การแยกส่วนL · D · L Tของเมทริกซ์ความแปรปรวนร่วมของนวัตกรรมS kเป็นพื้นฐานสำหรับตัวกรองรากที่สองที่มีประสิทธิภาพเชิงตัวเลขและแข็งแกร่งอีกประเภทหนึ่ง[ 48 ]อัลกอริทึมเริ่มต้นด้วยการแยกส่วน LUตามที่นำไปใช้ใน Linear Algebra PACKage ( LAPACK ) ผลลัพธ์เหล่านี้จะถูกแยกส่วนเพิ่มเติมเป็น โครงสร้าง L · D · L Tด้วยวิธีการที่ Golub และ Van Loan ให้ไว้ (อัลกอริทึม 4.1.2) สำหรับเมทริกซ์สมมาตรที่ไม่เอกฐาน[ 49 ]เมทริกซ์ความแปรปรวนร่วมเอกฐานใด ๆ จะถูกหมุนเพื่อให้พาร์ติชันแนวทแยงแรกไม่เอกฐานและมีสภาพดีอัลกอริทึมการหมุนต้องเก็บส่วนใด ๆ ของเมทริกซ์ความแปรปรวนร่วมของนวัตกรรมที่สอดคล้องโดยตรงกับตัวแปรสถานะที่สังเกตได้H k · x k|k-1ที่เกี่ยวข้องกับการสังเกตเสริมใน y kตัวกรองรากที่สองl · d · l t ต้องการการตั้งฉากของเวกเตอร์การสังเกต[ 47 ] [ 48 ]สามารถทำได้โดยใช้รากที่สองผกผันของเมทริกซ์ความแปรปรวนร่วมสำหรับตัวแปรเสริมโดยใช้วิธีที่ 2 ใน Higham (2002, หน้า 263) [ 50 ]

รูปแบบขนาน

ตัวกรอง Kalman มีประสิทธิภาพสำหรับการประมวลผลข้อมูลแบบลำดับบนหน่วยประมวลผลกลาง (CPU) แต่ในรูปแบบดั้งเดิมนั้นไม่มีประสิทธิภาพบนสถาปัตยกรรมแบบขนาน เช่นหน่วยประมวลผลกราฟิก (GPU) อย่างไรก็ตาม เป็นไปได้ที่จะแสดงขั้นตอนการอัปเดตตัวกรองในรูปของตัวดำเนินการแบบเชื่อมโยงโดยใช้สูตรใน Särkkä และ García-Fernández (2021) [ 51 ]จากนั้นสามารถดึงโซลูชันตัวกรองได้โดยใช้ อัลกอริธึมผล รวมคำนำหน้าซึ่งสามารถนำไปใช้งานบน GPU ได้อย่างมีประสิทธิภาพ[ 52 ]ซึ่งจะลดความซับซ้อนในการคำนวณจากจำนวนขั้นตอนเวลาเป็น

ความสัมพันธ์กับการประมาณค่าแบบเบย์เซียนแบบวนซ้ำ

ตัวกรอง Kalman สามารถนำเสนอได้ว่าเป็นเครือข่าย Bayesian แบบไดนามิก ที่ง่ายที่สุดเครือ ข่ายหนึ่ง ตัวกรอง Kalman คำนวณค่าประมาณของค่าจริงของสถานะแบบวนซ้ำตลอดเวลาโดยใช้การวัดที่เข้ามาและแบบจำลองกระบวนการทางคณิตศาสตร์ ในทำนองเดียวกันการประมาณค่า Bayesian แบบวนซ้ำจะคำนวณค่าประมาณของฟังก์ชันความหนาแน่นความ น่าจะเป็น (PDF) ที่ไม่ทราบค่าแบบวนซ้ำตลอดเวลาโดยใช้การวัดที่เข้ามาและแบบจำลองกระบวนการทางคณิตศาสตร์[ 53 ]

ในการประมาณค่าแบบเบย์เซียนแบบวนซ้ำ สถานะที่แท้จริงจะถือว่าเป็นกระบวนการมาร์คอฟ ที่ไม่สามารถสังเกตได้ และค่าที่วัดได้คือสถานะที่สังเกตได้ของแบบจำลองมาร์คอฟแบบซ่อนเร้น (HMM)

แบบจำลองมาร์คอฟที่ซ่อนอยู่
แบบจำลองมาร์คอฟที่ซ่อนอยู่

เนื่องจากสมมติฐานของมาร์คอฟ สถานะที่แท้จริงจึงเป็นอิสระจากสถานะก่อนหน้าทั้งหมดแบบมีเงื่อนไข โดยพิจารณาจากสถานะก่อนหน้าทันที

ในทำนองเดียวกัน การวัดที่ขั้นเวลาที่k นั้นขึ้นอยู่กับสถานะปัจจุบันเท่านั้น และเป็นอิสระจากสถานะอื่นๆ อย่างมีเงื่อนไข เมื่อกำหนดสถานะปัจจุบันแล้ว

โดยใช้สมมติฐานเหล่านี้ การกระจายความน่าจะเป็นเหนือสถานะทั้งหมดของแบบจำลองมาร์คอฟที่ซ่อนอยู่สามารถเขียนได้อย่างง่ายๆ ดังนี้:

อย่างไรก็ตาม เมื่อใช้ตัวกรอง Kalman เพื่อประมาณค่าสถานะxการกระจายความน่าจะเป็นที่สนใจคือการกระจายความน่าจะเป็นที่เกี่ยวข้องกับสถานะปัจจุบันโดยมีเงื่อนไขจากการวัดจนถึงช่วงเวลาปัจจุบัน ซึ่งทำได้โดยการตัดสถานะก่อนหน้าออกและหารด้วยความน่าจะเป็นของชุดการวัด

ผลลัพธ์ที่ได้คือ ขั้นตอน การทำนายและการปรับปรุงของตัวกรอง Kalman ที่เขียนในรูปแบบความน่าจะเป็น การกระจายความน่าจะเป็นที่เกี่ยวข้องกับสถานะที่ทำนายได้คือผลรวม (ปริพันธ์) ของผลคูณของการกระจายความน่าจะเป็นที่เกี่ยวข้องกับการเปลี่ยนจากช่วงเวลาที่ ( k  − 1) ไปยังช่วงเวลาที่kและการกระจายความน่าจะเป็นที่เกี่ยวข้องกับสถานะก่อนหน้า ครอบคลุมทุกค่าที่เป็นไปได้

ชุดการวัดที่ตั้งไว้จนถึงเวลาtคือ

การกระจายความน่าจะเป็นของการอัปเดตจะเป็นสัดส่วนกับผลคูณของความน่าจะเป็นของการวัดและสถานะที่คาดการณ์ไว้

ตัวหาร

เป็นเงื่อนไขการทำให้เป็นมาตรฐาน

ฟังก์ชันความหนาแน่นความน่าจะเป็นที่เหลืออยู่คือ

โดยหลักการแล้ว ฟังก์ชันความหนาแน่นความน่าจะเป็น (PDF) ในขั้นตอนเวลาที่ผ่านมา ถือว่าเป็นค่าประมาณสถานะและความแปรปรวนร่วม ซึ่งมีเหตุผลรองรับ เนื่องจากตัวกรอง Kalman เป็นตัวประมาณค่าที่ดีที่สุด จึงใช้ประโยชน์จากการวัดได้อย่างดีที่สุด ดังนั้น PDF สำหรับ ค่าที่วัดได้จึงเป็นค่าประมาณของตัวกรอง Kalman

ความน่าจะเป็นแบบมาร์จินัล

เมื่อพิจารณาตามการตีความแบบเบย์เซียนเชิงเวียนซ้ำที่อธิบายไว้ข้างต้น ตัวกรองคาลมานสามารถมองได้ว่าเป็นแบบจำลองเชิงกำเนิดกล่าวคือ กระบวนการสร้างกระแสของการสังเกตแบบสุ่มz = ( z 0 , z 1 , z 2 , ...) โดยเฉพาะอย่างยิ่ง กระบวนการนี้คือ

  1. สุ่มเลือกสถานะที่ซ่อนอยู่จากความน่าจะเป็นล่วงหน้าแบบเกาส์เซียน
  2. สุ่มตัวอย่างข้อมูลจากแบบจำลองการสังเกต
  3. สำหรับ, ทำ
    1. สุ่มเลือกสถานะที่ซ่อนอยู่ถัดไปจากแบบจำลองการเปลี่ยนสถานะ
    2. สุ่มตัวอย่างการสังเกตจากแบบจำลองการสังเกต

กระบวนการนี้มีโครงสร้างเหมือนกับแบบจำลองมาร์คอฟที่ซ่อนอยู่ทุกประการยกเว้นว่าสถานะและการสังเกตแบบไม่ต่อเนื่องจะถูกแทนที่ด้วยตัวแปรต่อเนื่องที่สุ่มมาจาก1การแจกแจงแบบเกาส์เซียน

ในบางแอปพลิเคชัน การคำนวณความน่าจะเป็นที่ตัวกรอง Kalman ที่มีชุดพารามิเตอร์ที่กำหนด (การกระจายความน่าจะเป็นก่อนหน้า รูปแบบการเปลี่ยนผ่านและการสังเกต และอินพุตควบคุม) จะสร้างสัญญาณที่สังเกตได้เฉพาะเจาะจงนั้นมีประโยชน์ ความน่าจะเป็นนี้เรียกว่าความน่าจะเป็นแบบมาร์จินัล (marginal likelihood ) เนื่องจากเป็นการอินทิเกรต (ตัดส่วนมาร์จินัลออกไป) ค่าของตัวแปรสถานะที่ซ่อนอยู่ ดังนั้นจึงสามารถคำนวณได้โดยใช้เพียงสัญญาณที่สังเกตได้เท่านั้น ความน่าจะเป็นแบบมาร์จินัลมีประโยชน์ในการประเมินตัวเลือกพารามิเตอร์ต่างๆ หรือเพื่อเปรียบเทียบตัวกรอง Kalman กับแบบจำลองอื่นๆ โดยใช้การเปรียบเทียบแบบจำลองแบบเบย์เซียน

การคำนวณความน่าจะเป็นส่วนชายขอบนั้นทำได้ง่าย โดยเป็นผลพลอยได้จากการคำนวณการกรองแบบวนซ้ำ ตามกฎลูกโซ่ความน่าจะเป็นสามารถแยกตัวประกอบได้เป็นผลคูณของความน่าจะเป็นของการสังเกตแต่ละครั้งโดยพิจารณาจากการสังเกตครั้งก่อนหน้า

,

และเนื่องจากตัวกรอง Kalman อธิบายกระบวนการ Markov ข้อมูลที่เกี่ยวข้องทั้งหมดจากการสังเกตการณ์ก่อนหน้านี้จึงบรรจุอยู่ในค่าประมาณสถานะปัจจุบันดังนั้นความน่าจะเป็นแบบมาร์จินัลจึงกำหนดโดย

กล่าวคือ ผลคูณของความหนาแน่นแบบเกาส์เซียน โดยแต่ละความหนาแน่นสอดคล้องกับความหนาแน่นของการสังเกตz k หนึ่ง รายการภายใต้การกระจายการกรองปัจจุบันสามารถคำนวณได้ง่ายๆ โดยใช้การอัปเดตแบบวนซ้ำอย่างง่าย อย่างไรก็ตาม เพื่อหลีกเลี่ยงปัญหาค่าต่ำเกินไป (numeric underflow)ในการใช้งานจริง มักเป็นที่พึงปรารถนาที่จะคำนวณค่าลอการิทึมความน่าจะเป็นแบบมาร์ จินัลแทน โดยใช้ธรรมเนียมนี้ สามารถทำได้ผ่านกฎการอัปเดตแบบวนซ้ำ

โดยที่มิติของเวกเตอร์การวัดคือ[ 54 ]

แอปพลิเคชันที่สำคัญอย่างหนึ่งที่ใช้ความน่าจะเป็น (แบบลอการิทึม) ของการสังเกตการณ์ (โดยพิจารณาจากพารามิเตอร์ของตัวกรอง) คือการติดตามเป้าหมายหลายเป้าหมาย ตัวอย่างเช่น พิจารณาสถานการณ์การติดตามวัตถุที่ข้อมูลการสังเกตการณ์เป็นอินพุต แต่ไม่ทราบจำนวนวัตถุในฉาก (หรือทราบจำนวนวัตถุแต่มากกว่าหนึ่ง) สำหรับสถานการณ์เช่นนี้ อาจไม่ทราบล่วงหน้าว่าการสังเกตการณ์/การวัดใดถูกสร้างขึ้นโดยวัตถุใด ตัวติดตามสมมติฐานหลายตัว (MHT) โดยทั่วไปจะสร้างสมมติฐานการเชื่อมโยงการติดตามที่แตกต่างกัน โดยแต่ละสมมติฐานสามารถพิจารณาได้ว่าเป็นตัวกรอง Kalman (สำหรับกรณี Gaussian เชิงเส้น) ที่มีชุดพารามิเตอร์เฉพาะที่เกี่ยวข้องกับวัตถุที่ตั้งสมมติฐานไว้ ดังนั้น การคำนวณความน่าจะเป็นของการสังเกตการณ์สำหรับสมมติฐานต่างๆ ที่กำลังพิจารณาจึงมีความสำคัญ เพื่อให้สามารถค้นหาสมมติฐานที่มีความน่าจะเป็นสูงสุดได้

ตัวกรองข้อมูล

ในกรณีที่มิติของเวกเตอร์การสังเกตyมีขนาดใหญ่กว่ามิติของเวกเตอร์ปริภูมิสถานะxตัวกรองข้อมูลสามารถหลีกเลี่ยงการผกผันเมทริกซ์ขนาดใหญ่ในการคำนวณกำไร Kalman โดยแลกกับการผกผันเมทริกซ์ขนาดเล็กในขั้นตอนการทำนาย ซึ่งจะช่วยประหยัดเวลาในการคำนวณ นอกจากนี้ ตัวกรองข้อมูลยังช่วยให้สามารถเริ่มต้นข้อมูลระบบตามซึ่งจะไม่สามารถทำได้สำหรับตัวกรอง Kalman ทั่วไป[ 55 ]ในตัวกรองข้อมูล หรือตัวกรองความแปรปรวนร่วมผกผัน ความแปรปรวนร่วมที่ประมาณค่าและสถานะที่ประมาณค่าจะถูกแทนที่ด้วยเมทริกซ์ข้อมูลและ เวกเตอร์ ข้อมูลตามลำดับ ซึ่งกำหนดไว้ดังนี้:

ในทำนองเดียวกัน ค่าความแปรปรวนร่วมที่คาดการณ์ไว้และสถานะมีรูปแบบข้อมูลที่เทียบเท่ากัน ซึ่งกำหนดไว้ดังนี้:

และค่าความแปรปรวนร่วมของการวัดและเวกเตอร์การวัด ซึ่งกำหนดไว้ดังนี้:

การอัปเดตข้อมูลในตอนนี้กลายเป็นผลรวมเล็กน้อย[ 56 ]

ข้อได้เปรียบหลักของตัวกรองข้อมูลคือสามารถกรองข้อมูลการวัด N ค่าในแต่ละช่วงเวลาได้ง่ายๆ โดยการรวมเมทริกซ์และเวกเตอร์ข้อมูลของค่าเหล่านั้นเข้าด้วยกัน

เพื่อทำนายตัวกรองข้อมูล เมทริกซ์ข้อมูลและเวกเตอร์สามารถแปลงกลับไปเป็นค่าเทียบเท่าในปริภูมิสถานะได้ หรืออีกทางเลือกหนึ่งคือสามารถใช้การทำนายปริภูมิข้อมูลได้[ 56 ]

ตัวปรับความเรียบแบบหน่วงคงที่

ตัวปรับเรียบแบบหน่วงเวลาคงที่ที่เหมาะสมจะให้ค่าประมาณที่เหมาะสมของ สำหรับ ค่าหน่วงเวลาคงที่ที่กำหนดโดยใช้การวัดจากถึง[ 57 ]สามารถอนุมานได้โดยใช้ทฤษฎีก่อนหน้าผ่านสถานะเสริม และสมการหลักของตัวกรองมีดังต่อไปนี้:

ที่ไหน:

  • คำนวณโดยใช้ตัวกรอง Kalman มาตรฐาน
  • นวัตกรรมนี้เกิดขึ้นโดยพิจารณาจากการประมาณค่าของตัวกรอง Kalman มาตรฐานหรือไม่
  • ตัวแปร ต่างๆ เหล่านี้เป็นตัวแปรใหม่ กล่าวคือ ตัวแปรเหล่านี้ไม่ปรากฏในตัวกรอง Kalman มาตรฐาน
  • ผลกำไรจะคำนวณโดยใช้แผนการดังต่อไปนี้:
และ
โดยที่และคือค่าความแปรปรวนร่วมของข้อผิดพลาดในการทำนาย และค่าเกณฑ์ของตัวกรอง Kalman มาตรฐาน (เช่น)

หากกำหนดค่าความแปรปรวนร่วมของข้อผิดพลาดในการประมาณค่าไว้ดังนี้

จากนั้นเราจะได้ว่าการปรับปรุงการประมาณค่าของนั้นกำหนดโดย:

ตัวปรับเรียบช่วงเวลาคงที่

ตัวปรับเรียบช่วงเวลาคงที่ที่เหมาะสมที่สุดจะให้ค่าประมาณที่เหมาะสมที่สุดของ( ) โดยใช้การวัดจากช่วงเวลาคงที่ถึงซึ่งเรียกอีกอย่างว่า "การปรับเรียบแบบ Kalman" มีอัลกอริธึมการปรับเรียบหลายแบบที่ใช้กันทั่วไป

ราวช์-ตุง-สตรีเบล

ตัวปรับเรียบ Rauch–Tung–Striebel (RTS) เป็นอัลกอริธึมแบบสองรอบที่มีประสิทธิภาพสำหรับการปรับเรียบช่วงเวลาคงที่[ 58 ]

ขั้นตอนการส่งผ่านไปข้างหน้าจะเหมือนกับอัลกอริธึมตัวกรอง Kalman ทั่วไปค่าประมาณสถานะก่อนและหลังการกรองรวมถึงค่าความแปรปรวนจะถูกบันทึกไว้เพื่อใช้ในขั้นตอนการส่งผ่านย้อนกลับ (สำหรับการทำนายย้อนหลัง )

ในการคำนวณย้อนกลับ เราจะคำนวณค่าประมาณสถานะที่ปรับเรียบแล้วและค่าความแปรปรวนร่วมโดยเริ่มจากขั้นตอนเวลาสุดท้ายและดำเนินการย้อนกลับไปตามเวลาโดยใช้สมการเวียนเกิดต่อไปนี้:

ที่ไหน

คือค่าประมาณสถานะภายหลังของช่วงเวลาและคือค่าประมาณสถานะก่อนหน้าของช่วงเวลาสัญลักษณ์เดียวกันนี้ใช้กับค่าความแปรปรวนร่วมด้วย

เครื่องปรับผิวเรียบแบบ Bryson–Frazier ดัดแปลง

ทางเลือกอื่นนอกเหนือจากอัลกอริธึม RTS คือตัวปรับเรียบช่วงเวลาคงที่ Bryson–Frazier ที่ได้รับการดัดแปลง (MBF) ซึ่งพัฒนาโดย Bierman [ 47 ]วิธีนี้ใช้การส่งผ่านย้อนกลับที่ประมวลผลข้อมูลที่บันทึกไว้จากการส่งผ่านไปข้างหน้าของตัวกรอง Kalman สมการสำหรับการส่งผ่านย้อนกลับเกี่ยวข้องกับการคำนวณข้อมูลแบบวนซ้ำซึ่งใช้ในแต่ละเวลาการสังเกตเพื่อคำนวณสถานะที่ปรับเรียบและความแปรปรวนร่วม

สมการเวียนเกิดคือ

โดยที่คือค่าความแปรปรวนส่วนเหลือ และ. จากนั้นสามารถหาค่าสถานะและความแปรปรวนที่ปรับเรียบแล้วได้โดยการแทนค่าลงในสมการ

หรือ

ข้อได้เปรียบที่สำคัญของ MBF คือไม่จำเป็นต้องหาเมทริกซ์ผกผันของเมทริกซ์ความแปรปรวนร่วม การพิสูจน์ของ Bierman ขึ้นอยู่กับตัวปรับเรียบ RTS ซึ่งถือว่าการแจกแจงพื้นฐานเป็นแบบเกาส์เซียน อย่างไรก็ตาม Gibbs ได้ให้การพิสูจน์ MBF โดยอาศัยแนวคิดของตัวปรับเรียบจุดคงที่ ซึ่งไม่จำเป็นต้องใช้สมมติฐานแบบเกาส์เซียน[ 59 ]

MBF ยังสามารถใช้เพื่อตรวจสอบความสอดคล้องของค่าตกค้างของตัวกรองและความแตกต่างระหว่างค่าของสถานะตัวกรองหลังจากการอัปเดตและค่าสถานะที่ปรับให้เรียบ นั่นคือ[ 60 ]

ตัวปรับเรียบความแปรปรวนต่ำสุด

ตัวปรับเรียบความแปรปรวนต่ำสุดสามารถบรรลุประสิทธิภาพข้อผิดพลาดที่ดีที่สุดได้ หากแบบจำลองเป็นเชิงเส้น พารามิเตอร์และสถิติของสัญญาณรบกวนเป็นที่ทราบอย่างแม่นยำ[ 61 ]ตัวปรับเรียบนี้เป็นการวางนัยทั่วไปของพื้นที่สถานะที่เปลี่ยนแปลงตามเวลาของตัวกรอง Wiener ที่ไม่เป็นสาเหตุที่เหมาะสม ที่สุด

การคำนวณที่ราบรื่นกว่านั้นทำในสองรอบ การคำนวณล่วงหน้าเกี่ยวข้องกับตัวทำนายล่วงหน้าหนึ่งขั้นตอนและกำหนดโดย

ระบบข้างต้นเรียกว่าตัวประกอบ Wiener-Hopf ผกผัน การเรียกย้อนกลับคือตัวผกผันของระบบส่งต่อข้างต้น ผลลัพธ์ของการส่งผ่านย้อนกลับ สามารถคำนวณได้โดยการดำเนินการสมการส่งต่อกับผลลัพธ์ที่ย้อนเวลา และย้อนเวลา ในกรณีของการประมาณค่าเอาต์พุต ค่าประมาณที่ปรับเรียบจะได้รับจาก

การนำส่วนที่เป็นเหตุเป็นผลของตัวปรับเรียบความแปรปรวนต่ำสุดนี้มาใช้จะได้ผลลัพธ์ดังนี้

ซึ่งเหมือนกับตัวกรอง Kalman ที่มีความแปรปรวนต่ำสุด วิธีแก้ปัญหาข้างต้นจะลดความแปรปรวนของข้อผิดพลาดในการประมาณค่าเอาต์พุตให้เหลือน้อยที่สุด โปรดทราบว่าการหาค่าตัวปรับเรียบ Rauch–Tung–Striebel นั้นสมมติว่าการกระจายตัวพื้นฐานเป็นแบบเกาส์เซียน ในขณะที่วิธีแก้ปัญหาที่มีความแปรปรวนต่ำสุดไม่ได้สมมติเช่นนั้น สามารถสร้างตัวปรับเรียบที่เหมาะสมที่สุดสำหรับการประมาณค่าสถานะและการประมาณค่าอินพุตได้ในทำนองเดียวกัน

เวอร์ชันเวลาต่อเนื่องของตัวปรับเรียบข้างต้นอธิบายไว้ใน[ 62 ] [ 63 ]

อัลกอริทึมการคาดการณ์-การเพิ่มค่าสูงสุดอาจถูกนำมาใช้เพื่อคำนวณค่าประมาณความน่าจะเป็นสูงสุดของพารามิเตอร์ปริภูมิสถานะที่ไม่ทราบค่าภายในตัวกรองและตัวปรับเรียบที่มีความแปรปรวนต่ำสุด บ่อยครั้งที่ความไม่แน่นอนยังคงอยู่ภายในสมมติฐานของปัญหา ตัวปรับเรียบที่รองรับความไม่แน่นอนสามารถออกแบบได้โดยการเพิ่มเทอมบวกที่แน่นอนลงในสมการ Riccati [ 64 ]

ในกรณีที่แบบจำลองไม่เป็นเชิงเส้น การแปลงเป็นเชิงเส้นทีละขั้นตอนอาจอยู่ภายในตัวกรองความแปรปรวนต่ำสุดและการคำนวณแบบวนซ้ำที่ราบเรียบกว่า ( การกรอง Kalman แบบขยาย )

ตัวกรอง Kalman แบบถ่วงน้ำหนักความถี่

งานวิจัยบุกเบิกเกี่ยวกับการรับรู้เสียงที่ความถี่ต่างๆ นั้นดำเนินการโดยเฟลตเชอร์และมุนสันในช่วงทศวรรษ 1930 งานของพวกเขานำไปสู่มาตรฐานการถ่วงน้ำหนักระดับเสียงที่วัดได้ในการตรวจสอบเสียงรบกวนในอุตสาหกรรมและการสูญเสียการได้ยิน ตั้งแต่นั้นมา การถ่วงน้ำหนักความถี่ได้ถูกนำมาใช้ในการออกแบบตัวกรองและตัวควบคุมเพื่อจัดการประสิทธิภาพภายในย่านความถี่ที่สนใจ

โดยทั่วไป ฟังก์ชันปรับรูปความถี่จะถูกใช้เพื่อถ่วงน้ำหนักกำลังเฉลี่ยของความหนาแน่นสเปกตรัมของข้อผิดพลาดในแถบความถี่ที่กำหนด ให้แทนข้อผิดพลาดในการประมาณค่าเอาต์พุตที่แสดงโดยตัวกรอง Kalman แบบดั้งเดิม และให้แทนฟังก์ชันถ่ายโอนการถ่วงน้ำหนักความถี่เชิงสาเหตุ คำตอบที่เหมาะสมที่สุดซึ่งลดความแปรปรวนของ ให้เหลือน้อยที่สุดนั้นเกิดขึ้นจากการสร้าง อย่างง่ายๆ

การออกแบบยังคงเป็นคำถามที่เปิดกว้าง วิธีหนึ่งในการดำเนินการคือการระบุระบบที่สร้างข้อผิดพลาดในการประมาณค่าและตั้งค่าให้เท่ากับค่าผกผันของระบบนั้น[ 65 ]ขั้นตอนนี้สามารถทำซ้ำได้เพื่อให้ได้การปรับปรุงข้อผิดพลาดกำลังสองเฉลี่ยโดยแลกกับการเพิ่มลำดับตัวกรอง เทคนิคเดียวกันนี้สามารถนำไปใช้กับตัวปรับเรียบได้

ตัวกรองแบบไม่เชิงเส้น

ตัวกรอง Kalman พื้นฐานนั้นจำกัดอยู่เพียงสมมติฐานเชิงเส้น อย่างไรก็ตาม ระบบที่ซับซ้อนกว่านั้นอาจเป็นแบบไม่เชิงเส้นได้ความไม่เป็นเชิงเส้นนั้นอาจเกี่ยวข้องกับแบบจำลองกระบวนการ หรือแบบจำลองการสังเกต หรือทั้งสองอย่าง

ตัวกรอง Kalman ที่ใช้กันทั่วไปสำหรับระบบที่ไม่เป็นเชิงเส้น ได้แก่ ตัวกรอง Kalman แบบขยายและตัวกรอง Kalman แบบไม่ใช้การประมาณค่าเชิงเส้น ความเหมาะสมของตัวกรองที่จะใช้ขึ้นอยู่กับดัชนีความไม่เป็นเชิงเส้นของกระบวนการและแบบจำลองการสังเกต[ 66 ]

ตัวกรอง Kalman แบบขยาย

ในตัวกรอง Kalman แบบขยาย (EKF) แบบจำลองการเปลี่ยนสถานะและการสังเกตไม่จำเป็นต้องเป็นฟังก์ชันเชิงเส้นของสถานะ แต่สามารถเป็นฟังก์ชันไม่เชิงเส้นได้ โดยฟังก์ชันเหล่านี้เป็นฟังก์ชันที่ สามารถหาอนุพันธ์ได้

ฟังก์ชันfสามารถใช้คำนวณสถานะที่คาดการณ์ได้จากค่าประมาณก่อนหน้า และในทำนองเดียวกัน ฟังก์ชันhสามารถใช้คำนวณค่าการวัดที่คาดการณ์ได้จากสถานะที่คาดการณ์ไว้ อย่างไรก็ตาม ฟังก์ชันfและh ไม่สามารถนำไปใช้กับเมทริกซ์ความแปรปรวนร่วมโดยตรงได้ จึง ต้องคำนวณ เมทริกซ์อนุพันธ์ย่อย (เมทริกซ์จาโคเบียน ) แทน

ในแต่ละช่วงเวลา จะมีการประเมินเมทริกซ์ Jacobian โดยใช้สถานะที่คาดการณ์ไว้ในปัจจุบัน เมทริกซ์เหล่านี้สามารถนำไปใช้ในสมการตัวกรอง Kalman ได้ กระบวนการนี้โดยพื้นฐานแล้วเป็นการแปลงฟังก์ชันที่ไม่เป็นเชิงเส้นให้เป็นเชิงเส้นโดยรอบค่าประมาณปัจจุบัน

ไส้กรอง Kalman ไร้กลิ่น

เมื่อแบบจำลองการเปลี่ยนสถานะและการสังเกต—นั่นคือ ฟังก์ชันการทำนายและการอัปเดต — มีความไม่เป็นเชิงเส้นสูง ตัวกรอง Kalman แบบขยายอาจให้ประสิทธิภาพที่แย่เป็นพิเศษ[ 67 ] [ 68 ]ทั้งนี้เนื่องจากความแปรปรวนร่วมถูกส่งผ่านการทำให้เป็นเชิงเส้นของแบบจำลองที่ไม่เป็นเชิงเส้นพื้นฐาน ตัวกรอง Kalman แบบไม่ใช้การประมาณค่า (UKF)  [ 67 ]ใช้เทคนิคการสุ่มตัวอย่างแบบกำหนดที่เรียกว่าการแปลงแบบไม่ใช้การประมาณค่า (UT)เพื่อเลือกชุดจุดตัวอย่างขั้นต่ำ (เรียกว่าจุดซิกมา) รอบค่าเฉลี่ย จากนั้นจุดซิกมาจะถูกส่งผ่านฟังก์ชันที่ไม่เป็นเชิงเส้น ซึ่งจะสร้างค่าเฉลี่ยและการประมาณค่าความแปรปรวนร่วมใหม่ ตัวกรองที่ได้จะขึ้นอยู่กับวิธีการคำนวณสถิติที่แปลงแล้วของ UT และชุดจุดซิกมาที่ใช้ ควรสังเกตว่าสามารถสร้าง UKF ใหม่ได้เสมอในลักษณะที่สอดคล้องกัน[ 69 ] สำหรับบางระบบ UKF ที่ได้จะประมาณค่าเฉลี่ยและความแปรปรวนร่วมที่แท้จริงได้แม่นยำยิ่งขึ้น[ 70 ] สามารถตรวจสอบได้ด้วยการสุ่มตัวอย่างแบบมอนเตคาร์โลหรือ การขยาย อนุกรมเทย์เลอร์ของสถิติภายหลัง นอกจากนี้ เทคนิคนี้ยังขจัดความจำเป็นในการคำนวณจาโคเบียนอย่างชัดเจน ซึ่งสำหรับฟังก์ชันที่ซับซ้อนอาจเป็นงานที่ยากในตัวเอง (เช่น ต้องใช้การอนุพันธ์ที่ซับซ้อนหากทำแบบวิเคราะห์ หรือมีค่าใช้จ่ายในการคำนวณสูงหากทำแบบเชิงตัวเลข) หรืออาจเป็นไปไม่ได้เลย (หากฟังก์ชันเหล่านั้นไม่สามารถหาอนุพันธ์ได้)

คะแนนซิกมา

สำหรับเวกเตอร์สุ่มจุดซิกมาคือเซตของเวกเตอร์ใดๆ

มีคุณสมบัติที่ได้รับการรับรองจาก

  • น้ำหนักลำดับแรกที่ตรงตามเงื่อนไข
  1. สำหรับทุกคน:
  • น้ำหนักลำดับที่สองที่ตรงตามข้อกำหนด
  1. สำหรับทุกคู่

การเลือกจุดซิกมาและน้ำหนักอย่างง่ายสำหรับอัลกอริทึม UKF คือ

โดยที่คือค่าประมาณเฉลี่ยของเวกเตอร์คือคอลัมน์ที่j ของ โดย ที่โดยทั่วไปจะได้มาจากการแยกส่วน Choleskyของด้วยความระมัดระวัง สมการตัวกรองสามารถแสดงในลักษณะที่จะถูกประเมินโดยตรงโดยไม่ต้องคำนวณขั้นกลางของซึ่งเรียกว่า ตัวกรอง Kalman แบบรากที่สองที่ไม่ระบุค่า[ 71 ]

สามารถเลือก น้ำหนักของค่าเฉลี่ย ได้อย่างอิสระ

การกำหนดพารามิเตอร์อีกวิธีที่นิยมใช้ (ซึ่งเป็นการขยายความจากวิธีข้างต้น) คือ

และควบคุมการกระจายของจุดซิกมา เกี่ยวข้องกับการกระจายของ โปรดทราบว่านี่เป็นการกำหนดพารามิเตอร์มากเกินไปในแง่ที่ว่าสามารถเลือกค่าใดค่าหนึ่งของ, และได้ตามอำเภอใจ

ค่าที่เหมาะสมจะขึ้นอยู่กับปัญหาที่เกิดขึ้น แต่โดยทั่วไปแล้วคำแนะนำคือ, , และ. หากการกระจายที่แท้จริงของเป็นแบบเกาส์เซียน ค่าจะเหมาะสมที่สุด[ 72 ]

ทำนาย

เช่นเดียวกับ EKF การทำนายของ UKF สามารถนำไปใช้ได้อย่างอิสระจากการปรับปรุง UKF ใช้ร่วมกับการปรับปรุงเชิงเส้น (หรือแม้แต่ EKF) หรือในทางกลับกันก็ได้

เมื่อกำหนดค่าประมาณของค่าเฉลี่ยและความแปรปรวนร่วมและ แล้วจะได้จุดซิกมาตามที่อธิบายไว้ในส่วนด้านบน จุดซิกมาเหล่านี้จะถูกส่งผ่านฟังก์ชันการเปลี่ยนผ่าน f

.

ค่าซิกมาที่ได้จากการแพร่กระจายจะถูกถ่วงน้ำหนักเพื่อสร้างค่าเฉลี่ยและความแปรปรวนที่คาดการณ์ไว้

โดยที่คือค่าน้ำหนักอันดับแรกของจุดซิกมาดั้งเดิม และคือค่าน้ำหนักอันดับสอง เมทริกซ์คือเมทริกซ์ความแปรปรวนร่วมของสัญญาณรบกวนการเปลี่ยนผ่าน

อัปเดต

เมื่อพิจารณาค่าประมาณการคาดการณ์และจะมีการคำนวณชุดจุดซิกมา ใหม่ พร้อมน้ำหนักลำดับแรกและน้ำหนักลำดับที่สอง ที่สอดคล้องกัน [ 73 ]จุดซิกมาเหล่านี้จะถูกแปลงผ่านฟังก์ชันการวัด

.

จากนั้นจึงคำนวณค่าเฉลี่ยเชิงประจักษ์และค่าความแปรปรวนร่วมของจุดที่แปลงแล้ว

โดยที่คือเมทริกซ์ความแปรปรวนร่วมของสัญญาณรบกวนจากการสังเกตนอกจากนี้ ยังจำเป็นต้องมีเมทริกซ์ความแปรปรวนร่วมไขว้ด้วย

กำไรของ Kalman คือ

ค่าประมาณค่าเฉลี่ยและความแปรปรวนร่วมที่ปรับปรุงแล้วมีดังนี้

ตัวกรอง Kalman แบบจำแนก

เมื่อแบบจำลองการสังเกต มีความไม่เป็นเชิงเส้นสูงและ/หรือไม่เป็นแบบเกาส์เซียน การใช้ กฎของเบย์สและการประมาณค่า อาจเป็นประโยชน์

โดยที่สำหรับฟังก์ชันที่ไม่เป็นเชิงเส้นวิธีนี้จะแทนที่ข้อกำหนดเชิงกำเนิดของตัวกรอง Kalman มาตรฐานด้วยแบบจำลองเชิงจำแนกสำหรับสถานะแฝงโดยพิจารณาจากข้อมูลสังเกตการณ์

ภายใต้แบบจำลองสถานะ คงที่

ที่ไหนถ้า

จากนั้นเมื่อพิจารณาการสังเกตใหม่แล้วจึงสรุปได้ว่า[ 74 ]

ที่ไหน

โปรดทราบว่าการประมาณค่านี้จำเป็นต้องใช้เมทริกซ์บวกแน่นอน (positive-definite matrix) หากไม่ใช่เช่นนั้น

ถูกนำมาใช้แทน วิธีการดังกล่าวพิสูจน์แล้วว่ามีประโยชน์อย่างยิ่งเมื่อมิติของการสังเกตมีขนาดใหญ่กว่ามิติของสถานะแฝงมาก[ 75 ]และสามารถใช้สร้างตัวกรองที่มีความทนทานต่อความไม่เสถียรในแบบจำลองการสังเกตเป็นพิเศษ[ 76 ]

ตัวกรอง Kalman แบบปรับได้

ตัวกรอง Kalman แบบปรับได้ช่วยให้สามารถปรับให้เข้ากับพลวัตของกระบวนการซึ่งไม่ได้จำลองไว้ในแบบจำลองกระบวนการซึ่งเกิดขึ้นตัวอย่างเช่นในบริบทของเป้าหมายที่เคลื่อนที่เมื่อใช้ตัวกรอง Kalman ความเร็วคงที่ (ลำดับลดลง) สำหรับการติดตาม[ 77 ]

ตัวกรอง Kalman–Bucy

การกรอง Kalman–Bucy (ตั้งชื่อตาม Richard Snowden Bucy) เป็นการกรอง Kalman เวอร์ชันเวลาต่อเนื่อง[ 78 ] [ 79 ]

มันตั้งอยู่บนพื้นฐานของแบบจำลองปริภูมิสถานะ

โดยที่และแทนความเข้มของสัญญาณรบกวนสีขาวสองเทอมคือ และตามลำดับ

ตัวกรองประกอบด้วยสมการเชิงอนุพันธ์สองสมการ สมการหนึ่งสำหรับประมาณค่าสถานะ และอีกสมการหนึ่งสำหรับค่าความแปรปรวนร่วม:

โดยที่ค่า Kalman gain กำหนดโดย

โปรดทราบว่าในนิพจน์นี้สำหรับความแปรปรวนร่วมของสัญญาณรบกวนการสังเกต แสดงถึงความแปรปรวนร่วมของข้อผิดพลาดในการทำนาย (หรือ นวัตกรรม ) ในเวลาเดียวกันความแปรปรวนร่วมเหล่านี้จะเท่ากันเฉพาะในกรณีของเวลาต่อเนื่องเท่านั้น[ 80 ]

ในระบบเวลาต่อเนื่องนั้นไม่มีความแตกต่างระหว่างขั้นตอนการทำนายและการปรับปรุงข้อมูลของการกรองคาลมานแบบเวลาไม่ต่อเนื่อง

สมการเชิงอนุพันธ์ที่สองสำหรับค่าความแปรปรวนร่วม เป็นตัวอย่างของสมการ Riccatiการขยายแบบไม่เชิงเส้นของตัวกรอง Kalman–Bucy รวมถึงตัวกรอง Kalman แบบขยายเวลาต่อเนื่อง

ตัวกรอง Kalman แบบไฮบริด

ระบบทางกายภาพส่วนใหญ่แสดงด้วยแบบจำลองเวลาต่อเนื่อง ในขณะที่การวัดเวลาไม่ต่อเนื่องมักทำเพื่อประมาณค่าสถานะผ่านโปรเซสเซอร์ดิจิทัล ดังนั้น แบบจำลองระบบและแบบจำลองการวัดจึงกำหนดโดย

ที่ไหน

.

เริ่มต้น

ทำนาย

สมการการทำนายได้มาจากสมการของตัวกรอง Kalman แบบต่อเนื่องโดยไม่ต้องปรับปรุงจากการวัด กล่าวคือสถานะที่ทำนายได้และความแปรปรวนร่วมจะคำนวณได้จากการแก้ชุดสมการเชิงอนุพันธ์โดยมีค่าเริ่มต้นเท่ากับค่าประมาณในขั้นตอนก่อนหน้า

สำหรับกรณีของ ระบบเชิง เส้นที่ไม่เปลี่ยนแปลงตามเวลา พลวัตในเวลาต่อเนื่องสามารถแปลงเป็นระบบเวลาไม่ต่อเนื่องได้อย่างแม่นยำโดยใช้เมทริกซ์เอกซ์โพเนนเชีย

อัปเดต

สมการการปรับปรุงนั้นเหมือนกับสมการของตัวกรอง Kalman แบบเวลาไม่ต่อเนื่องทุกประการ

รูปแบบต่างๆ สำหรับการกู้คืนสัญญาณที่กระจัดกระจาย

ตัวกรอง Kalman แบบดั้งเดิมยังถูกนำมาใช้สำหรับการกู้คืน สัญญาณ ที่เบาบางซึ่งอาจเป็นสัญญาณไดนามิก จากการสังเกตที่มีสัญญาณรบกวน งานล่าสุด[ 81 ] [ 82 ] [ 83 ]ใช้แนวคิดจากทฤษฎีการตรวจจับ/การสุ่มตัวอย่างแบบบีบอัดเช่น คุณสมบัติไอโซเมตรีที่จำกัดและข้อโต้แย้งการกู้คืนความน่าจะเป็นที่เกี่ยวข้อง เพื่อประมาณสถานะที่เบาบางในระบบที่มีมิติต่ำโดยเนื้อแท้ตามลำดับ

ความสัมพันธ์กับกระบวนการเกาส์เซียน

เนื่องจากแบบจำลองสถานะเชิงเส้นแบบเกาส์เซียนนำไปสู่กระบวนการเกาส์เซียน ตัวกรอง Kalman จึงสามารถมองได้ว่าเป็นตัวแก้ปัญหาแบบลำดับสำหรับการถดถอยกระบวนการเกาส์เซียน [ 84 ]

แอปพลิเคชัน

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Bar-Shalom, Yaakov ; Li, X. Rong; Kirubarajan, Thiagalingam (2004). การประมาณค่าพร้อมการประยุกต์ใช้ในการติดตามและการนำทาง: ทฤษฎี อัลกอริทึม และซอฟต์แวร์ไวลีย์
  • Bierman, GJ (1977). วิธีการแยกตัวประกอบสำหรับการประมาณค่าลำดับแบบไม่ต่อเนื่องคณิตศาสตร์ในวิทยาศาสตร์และวิศวกรรมศาสตร์ เล่มที่ 128 ไมเนโอลา รัฐนิวยอร์ก: สำนักพิมพ์โดเวอร์ISBN 978-0-486-44981-4.
  • Bozic, SM (1994). การกรองแบบดิจิทัลและแบบ Kalman . Butterworth–Heinemann.
  • ชุย, ชาร์ลส์ เค.; เฉิน, กวนหรง (2009). การกรองคาลมานกับแอปพลิเคชันแบบเรียลไทม์ . ชุดหนังสือวิทยาศาสตร์สารสนเทศของสปริงเกอร์. เล่มที่ 17 (ฉบับที่ 4). นิวยอร์ก: สปริงเกอร์ . หน้า 229. ISBN 978-3-540-87848-3.
  • Gelb, A. (1974). การประมาณค่าที่เหมาะสมเชิงประยุกต์ . สำนักพิมพ์ MIT.
  • Harvey, AC (1990). การพยากรณ์, แบบจำลองอนุกรมเวลาเชิงโครงสร้าง และตัวกรอง Kalman . สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์. ISBN 978-0-521-40573-7.
  • เฮย์คิน, เอส. (2002). ทฤษฎีตัวกรองแบบปรับตัวได้ . เพรนติส ฮอลล์. ISBN 978-0-13-090126-2.
  • Jazwinski , Andrew H. (1970). กระบวนการสุ่มและการกรอง . คณิตศาสตร์ในวิทยาศาสตร์และวิศวกรรม. นิวยอร์ก: Academic Press . หน้า  376. ISBN 978-0-12-381550-7.
  • Kailath, Thomas ; Sayed, Ali H. ; Hassibi, Babak (2000). การประมาณค่าเชิงเส้น . NJ: Prentice–Hall. ISBN 978-0-13-022464-4.
  • Kalman, RE (1960). "แนวทางใหม่สำหรับปัญหาการกรองเชิงเส้นและการทำนาย" (PDF) . วารสารวิศวกรรมพื้นฐาน . 82 (1): 35– 45. doi : 10.1115/1.3662552 . S2CID  1242324 . เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 2008-05-29 . สืบค้นเมื่อ2008-05-03 .
  • Kalman, RE; Bucy, RS (1961). "ผลลัพธ์ใหม่ในการกรองเชิงเส้นและทฤษฎีการทำนาย". Journal of Basic Engineering . 83 : 95–108 . CiteSeerX  10.1.1.361.6851 . doi : 10.1115/1.3658902 . S2CID  8141345 .
  • Liu, W.; Principe, JC; Haykin, S. (2010). การกรองแบบปรับตัวตามเคอร์เนล: บทนำที่ครอบคลุม . John Wiley.
  • Maybeck, Peter S. (1979). "บทที่ 1" (PDF) . แบบจำลองเชิงสุ่ม การประมาณค่า และการควบคุม . คณิตศาสตร์ในวิทยาศาสตร์และวิศวกรรม. เล่มที่  141–1 . นิวยอร์ก: Academic Press . ISBN 978-0-12-480701-3.
  • มาโนลาคิส, ดีจี (1999). การประมวลผลสัญญาณเชิงสถิติและเชิงปรับตัว . อาร์เทค เฮาส์.
  • Simon, D. (2006). การประมาณค่าสถานะที่เหมาะสมที่สุด: Kalman, H Infinity และวิธีการแบบไม่เชิงเส้น . Wiley-Interscience. เก็บถาวรจากต้นฉบับเมื่อ 30 ธันวาคม 2010. สืบค้นเมื่อ 5 กรกฎาคม 2006 .
  • Sayed, Ali H. (2008). ตัวกรองแบบปรับได้ . นิวเจอร์ซีย์: Wiley. ISBN 978-0-470-25388-5.
  • Roweis, S.; Ghahramani, Z. (1999). "การทบทวนแบบรวมของแบบจำลองเกาส์เซียนเชิงเส้น" (PDF)การคำนวณประสาท11 (2): 305– 345. Bibcode : 1999NeCom..11..305R . doi : 10.1162/089976699300016674 . PMID  9950734 . S2CID  2590898 .
  • Warwick, Kevin (1987). "ผู้สังเกตการณ์ที่เหมาะสมที่สุดสำหรับแบบจำลอง ARMA" วารสารการควบคุมระหว่างประเทศ 46 ( 5): 1493– 1503. doi : 10.1080/00207178708933989 .
  • แนวทางใหม่ในการแก้ปัญหาการกรองเชิงเส้นและการทำนายโดย RE Kalman, 1960
  • ตัวกรอง Kalman และ Bayesian ใน Pythonตำราเรียนแบบโอเพนซอร์สเกี่ยวกับการกรอง Kalman
  • วิธีการทำงานของตัวกรอง Kalman ในรูปภาพอธิบายตัวกรอง Kalman ด้วยภาพและสี
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Kalman_filter&oldid=1361140345 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวกรองคาลมาน

ใน สถิติ และ ทฤษฎีการควบคุม การ กรอง Kalman (หรือที่รู้จักกันในชื่อ การประมาณเชิงเส้นกำลังสอง ) เป็น อัลกอริทึม ที่ใช้ชุดการวัดที่สังเกตได้ในช่วงเวลาหนึ่ง รวมถึง...

ประวัติศาสตร์

วิธีการกรองนี้ตั้งชื่อตาม Rudolf E. Kálmán ผู้ลี้ภัย ชาวฮังการี แม้ว่า Thorvald Nicolai Thiele [ 12 ] [ 13 ] และ Peter Swerling จะพัฒนาอัลกอริทึมที่คล้ายกันมาก่อนแล้วก็ตาม Richard S.

ภาพรวมของการคำนวณ

การกรองแบบ Kalman ใช้แบบจำลองพลวัตของระบบ (เช่น กฎการเคลื่อนที่ทางฟิสิกส์) อินพุตควบคุมที่ทราบของระบบนั้น และการวัดหลายครั้งต่อเนื่องกัน (เช่น จากเซ็นเซอร์) เพื่อสร้างค่าประมาณของปริมาณที่เปลี่ยนแปลงของระบบ ( สถานะ ของระบบ )...

ตัวอย่างการใช้งาน

ตัวอย่างการประยุกต์ใช้ ลองพิจารณาปัญหาการกำหนดตำแหน่งที่แม่นยำของรถบรรทุก รถบรรทุกอาจติดตั้ง อุปกรณ์ GPS ที่ให้ค่าประมาณตำแหน่งภายในไม่กี่เมตร ค่าประมาณจาก GPS มักจะมีสัญญาณรบกวนสูง ค่าที่อ่านได้จะ "กระโดดไปมา" อย่างรวดเร็ว...