- Tiêu chuẩn RMSE được sử dụng để đánh giá trạng thái ước lượng của bộ lọc phần tử với các hệ thống giả lập trên Matlab và FPGA.. - Xây dựng các bảng đánh giá kết quả trong quá trình thự
Trang 1LUẬN VĂN THẠC SĨ TRẦN THỊ HOÀNG OANH
THIẾT KẾ BỘ LỌC PHẦN TỬ (PARTICLE FILTERING)
XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA
NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270
S K C0 0 4 3 3 9
Trang 2THIẾT KẾ BỘ LỌC PHẦN TỬ (PARTICLE FILTERING)
XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA
Trang 3THÀNH PHỐ HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ TRẦN THỊ HOÀNG OANH
THIẾT KẾ BỘ LỌC PHẦN TỬ (PARTICLE FILTERING)
XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA
NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270
Hướng dẫn khoa học:
PGS TS LÊ TIẾN THƯỜNG
Tp Hồ Chí Minh, năm 2014
Trang 4I LÝ LỊCH SƠ LƯỢC:
Fax:
E-mail: hoangoanhtran82@gmail.com
II QUÁ TRÌNH ĐÀO TẠO:
1 Trung học chuyên nghiệp:
Nơi học (trường, thành phố):
Ngành học:
2 Đại học:
Nơi học (trường, thành phố): Đại học Sư Phạm Kỹ Thuật TPHCM
Ngành học: Kỹ Thuật Điện- Điện Tử
Tên đồ án, luận án hoặc môn thi tốt nghiệp: Ứng dụng phần mềm Adobe Captivate 3 vào trong giảng dạy môn Mạch Điện 1
Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: 02/2012 tại trường Đại học Sư Phạm Kỹ Thuật TPHCM
Người hướng dẫn: ThS Trần Tùng Giang
III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC:
Từ 05/2012
Giáo viên bộ môn Điện Công Nghiệp
Trang 5LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tp Hồ Chí Minh, ngày … tháng … năm 2014
Trang 6Hôm nay em đang đi đến phần cuối của khóa học, một thành quả mà mỗi học viên cao học đều mong muốn đạt được sớm nhất Để cảm tạ những hỗ trợ quý giá của quý Thầy Cô và các bạn đã giúp đỡ cho em trong thời gian qua, em kính chúc đến quý Thầy Cô và các bạn nhiều sức khỏe, thành công nhiều hơn và chúc ngôi nhà chung Trường Đại học Sư Phạm Kỹ Thuật TP Hồ Chí Minh ngày càng phát triển mạnh hơn Riêng Thầy Lê Tiến Thường, em kính chúc Thầy và gia đình luôn nhiều sức khỏe, hạnh phúc, và luôn tiến xa trên con đường nghiên cứu khoa học
Em chân thành cảm ơn
HỌC VIÊN
Trần Thị Hoàng Oanh
Trang 7lượng trạng thái của các hệ thống giả lập và sử dụng tiêu chuẩn RMSE để đánh chất lượng của bộ lọc Quá trình thiết kế bộ lọc phần tử được thực hiện trên Matlab và trên FPGA Virtex-II Pro
Qua hơn sáu tháng thực nghiệm nghiên cứu đề tài “Thiết kế bộ lọc phần tử (Particle Filtering) xử lý tín hiệu trên nền công nghệ FPGA” cùng với giáo viên
hướng dẫn Thầy PGS.TS Lê Tiến Thường, đến nay đã thu được kết quả là khá khả quan:
- Thiết kế xong bộ lọc Phần tử ước lượng trạng thái hai mô hình giả lập trên Matlab và trên FPGA Xilinx Virtex-II Pro Mô hình giả lập là các hệ thống phi tuyến và nhiễu Gaussian
- Tiêu chuẩn RMSE được sử dụng để đánh giá trạng thái ước lượng của bộ lọc phần tử với các hệ thống giả lập trên Matlab và FPGA Kết quả thông số RMSE rất
bé cho thấy trạng thái ước lượng của bộ lọc phần tử so với trạng thái thật của hai mô hình giả lập tương đối chính xác
- Xây dựng các bảng đánh giá kết quả trong quá trình thực hiện các thực nghiệm trên hai mô hình giả lập để chứng minh tính hiệu quả của bộ lọc phần tử trong vấn
đề ước lượng trạng thái của một số tín hiệu Các kết quả được mô phỏng trên Matlab 2007b và máy tính Intel(R) Core(TM) i3 CPU M370 @ 2.40 GHz cho thấy khi tăng số hạt càng lớn thì kết quả ước lượng càng chính xác; nhiễu trong phép đo càng lớn thì giảm hiệu quả ước lượng của bộ lọc phần tử
- Các kết quả được đúc kết qua bài báo “Particle Filter Design in a case of System
Assumption implemented on Matlab and XILINX VIRTEX-II-Pro based FPGA
nhận
Trang 8ABSTRACT
The thesis is referred to the design of the Particle Filtering using the SIR Sampling Importance Resampling algorithm to estimate states of the system assumption and using RMSE criteria to evaluate the quality of the filter The design process is implemented on the Matlab and on the FPGA Virtex-II Pro
After about six months of the research on “ A design of Particle Filter for signal processing based on FPGA technology” under the instruction of Associate
Professor.Dr.Thuong Le-Tien, so far obtained good results:
- Design Particle filters to estimate the state of the two models implemented on the Matlab and on the FPGA Virtex-II Pro The system assumption is a non-linear and Gaussian noise system
- The RMSE criteria is used to evaluate estimated states of the Particle Filter for the results on Matlab and FPGA As a result, the RMSE is very small in the comparison between the estimate states and the true states of the models
- We build the assessment tables of the two models experiments to demonstrate how effectiveness of the Particle Filter in the state estimation problem of signals The simulation results obtained in Matlab 2007b and Computer Intel (R) Core (TM) i3 CPU GHz M370@2.40 show the higher number of particles causing the results more accurately; the bigger the measurement noise variance reduces the estimated effect of the filter
- Results are compiled through paper “Particle Filter Design in a case of System Assumption implemented on Matlab and XILINX VIRTEX-II-Pro based FPGA Hardware” sent The Joint Conference 4S-2014/AVIC 2014 has been
accepted
Trang 9Trang tựa TRANG Quyết định giao đề tài
2.1.4.3 Phương pháp lấy mẫu quan trọng tuần tự 17
Trang 102.3.4 Quá trình cài đặt chương trình trên FPGA 33 2.4 Khảo sát Kit Virtex-II Pro và gói công cụ Xilinx 37
2.4.1.4 Các nguồn cung cấp và phân phối xung clock 41 2.4.1.5 Khối truyền nhận dữ liệu Multi-Gigabit 42
2.4.1.10 Cách dùng Led, Công tắc, và các nút nhấn 44
Chương 3 THIẾT KẾ VÀ MÔ PHỎNG BỘ LỌC PHẦN TỬ TRÊN KIT
3.2 Thiết kế bộ lọc phần tử trên kit Virtex-II Pro 51
3.2.2 Thiết kế bộ lọc phần tử ước lượng hệ thống giả lập trên FPGA 53 3.2.2.1 Thiết kế các khối bộ lọc phần tử trong AccelDSP 10.1 54 3.2.2.2 Xây dựng mô hình và mô phỏng trong System Generator 10.1 61 3.2.2.3 Thực hiện mô phỏng trực tiếp trên FPGA Virtex-II Pro 62 3.3 Mô phỏng bộ lọc phần tử ước lượng trạng thái các hệ thống giả lập trên
Trang 113.3.3 Mô hình giả lập 1 66 3.3.3.1 Hệ thống các khối bộ lọc phần tử ước lượng trạng thái của mô
Trang 12PF Particle filter
HMM Hidden Markov Model
PDF Probability density function
EKF Extended Kalman filter
UKF Unscented Kalman Filter
SMC Sequential Monte Carlo
RMS Root-mean-square
RMSE Root-mean-square error
MCMC Markov Chain Monte Carlo
SIS Sequential Importance Sampling
SIR Sampling Importance Resampling
CDF Cumulative Distribution Function
FPGA Field Programable Gate Aray
PLD Programable Logic Device
PAL Programmable Array Logic
CPLD Complex Programable Logic Device
LAB Logic Array Block
PIA Programmable Interconnect Array
AIM Advance Interconnect Matrix
VHDL VHSIC hardware description language
HDL Hardware description language
RTL Register transfer level
ASIC Application-specific integrated circuit
CLB Configurable Logic Block
IOB Input/Output Block
Trang 13MAC Media Access Controller
PLB Processor Local Bus
OPB On-Chip Peripheral Bus
RLT Register Transfer Level
HDL Hardware description Language
CAD Computer Aided Design
MGT Multi-Gigabit Transceiver
ACE Advanced Configuration Environment SATA Serial Advanced Technology Attachment SMA Sub-Miniature A
Trang 14HÌNH TRANG
Trang 15Hình 3.19: Kết nối khối Jtag Co-sim với mô hình 64
Trang 17
trạng thái của một hệ thống là một công đoạn rất quan trọng và được ứng dụng trong nhiều lĩnh vực như giao thông, quân sự, hình sự Một trong những mục tiêu của việc ước lượng trạng thái là để “hiểu” được những chuyển động của đối tượng,
“hiểu” những thông tin về đối tượng gồm vị trí trong không gian, vận tốc chuyển động và những đặc trưng vật lí khác
Với sự hỗ trợ mạnh mẽ của công nghệ máy tính do vậy việc ước lượng trạng thái trở nên dễ dàng hơn Bộ lọc phần tử là một trong những kỹ thuật để giải quyết việc ước lượng trạng thái cho các hệ thống phi tuyến và được áp dụng rộng rãi trong lĩnh vực xử lí tín hiệu Yêu cầu quan trọng nhất của việc ước lượng trạng thái là làm sao trạng thái ước lượng của các bộ lọc phải đạt đến độ chính xác cao với sai số so với trạng thái thật phải đạt nhỏ nhất, đồng thời để có thể áp dụng được vào nhiều lĩnh vực trong cuộc sống và phải có một khả năng linh hoạt
Hiện tại các nhà khoa học trên thế giới, đã đưa ra khá nhiều bộ lọc được áp dụng nhằm thỏa mãn các yêu cầu này, một trong số đó là bộ lọc phần tử Bộ lọc phần tử dựa trên phân bố mật độ xác suất, sử dụng các phương trình dự đoán để dự đoán trạng thái của đối tượng và phương trình cập nhật để hiệu chỉnh lại các dự đoán trước đó về trạng thái của đối tượng dựa trên những tri thức thu thập được từ các quan sát trên đối tượng Phương pháp này dùng ước lượng đệ quy Bayes làm giải pháp lý thuyết, và ý tưởng của phương pháp mô phỏng Monte Carlo để xấp xỉ cho giải pháp lý thuyết này Cũng như các phương pháp lọc phi tuyến khác, bộ lọc phần
tử cũng tính xấp xỉ hàm mật độ hậu nghiệm nhưng sử dụng một tập lớn các mẫu (các hạt) dữ liệu được phát sinh từ bởi chính các hàm phân phối trong các tích phân này
Tại Việt Nam, việc sử dụng bộ lọc phần tử để ước lượng trạng thái của các tín hiệu đã và đang tiến hành nghiên cứu Bước đầu cũng thu được một số kết quả quan
Trang 18của một hoặc nhiều đối tượng, phát hiện làn đường giao thông và hệ thống quan sát theo vết đối tượng của Robot tự hành nhưng chỉ dừng lại ở mô phỏng trên phần mềm
Từ các kết quả đạt được của các nhóm nghiên cứu trước, đề tài thiết kế bộ lọc phần tử ước lượng trạng thái của các mô hình giả lập được nghiên cứu và mô phỏng trên Matlab và trên phần cứng FPGA Virtex-II Pro XC2VP30-7ff896:
+ Mô phỏng trên phần mềm Matlab: Bộ lọc phần tử được thiết kế để ước lượng trạng thái và theo vết các hệ thống phi tuyến ( hai hệ thống giả lập) có sự can thiệp của nhiễu Gauss và sử dụng tiêu chuẩn RMSE để đánh giá chất lượng
bộ lọc phần tử
+ Mô phỏng thiết kế bộ lọc phần tử trên phần cứng FPGA Virtex-II Pro XC2VP30-7ff896: chuyển đổi ngôn ngữ M-file của các khối bộ lọc phần tử trong Matlab thành ngôn ngữ thiết kế phần cứng sử dụng Xilinx AccelDSP 10.1, sau
đó bộ lọc phần tử được xây dựng, kiểm nghiệm và tổng hợp bằng Xilinx System Generator 10.1 Thiết kế được thực hiện trực tiếp trên FPGA Virtex-II Pro
Cấu trúc nội dung quyển báo cáo luận văn tốt nghiệp gồm có bốn chương được trình bày cụ thể như sau:
Chương 1: Tổng quan về bộ lọc phần tử
Chương 2: Cơ sở lí thuyết
Chương 3: Thiết kế và mô phỏng bộ lọc phần tử trên Kit Virtex-II Pro XC2VP30-7FF896
Chương 4: Kết luận
Trang 19hệ thống trên ta sử dụng bộ lọc phần tử hay phương pháp Sequential Monte Carlo (SMC)
Vào năm 1954, Hammersley đã đặt nền tảng đầu tiên về bộ lọc phần tử thông qua nghiên cứu “Poor Man's Monte Carlo” Mãi cho đến năm 1993, Gordon đưa ra báo cáo về ước lượng trạng thái Bayes của một hệ thống phi tuyến/phi Gauss đã cung cấp các thực nghiệm đúng đắn đầu tiên trong việc sử dụng phương pháp SMC để ước lượng trạng thái của hệ thống Thuật toán này mang tên bộ lọc bootstrap hay bộ lọc phần tử
Bộ lọc phần tử là thuật toán dùng để ước lượng trực tiếp các mật độ hậu nghiệm của mô hình không gian trạng thái bằng cách triển khai thực hiện các phương trình
đệ quy Bayes Mô hình không gian trạng thái có thể phi tuyến và phân bố nhiễu dưới bất kỳ hình thức nào Phương trình đệ quy Bayes sử dụng một phương pháp tiếp cận dựa trên quần thể.Các mẫu phân phối được thể hiện bằng một tập hợp các hạt; mỗi hạt được gán một trọng lượng đại diện cho xác suất hạt được lấy mẫu từ hàm mật độ xác suất Sự chênh lệch của các trọng lượng dẫn đến sự thoái hóa trọng lượng là một vấn đề thường gặp trong các thuật toán lọc Tuy nhiên có thể giảm thiểu bằng phương pháp tái chọn mẫu Trong bước tái chọn mẫu các hạt có trọng lượng không đáng kể được thay thế bằng các hạt mới lân cận được tạo ra từ các hạt
có trọng lượng lớn
Trang 20Hiện nay trên thế giới, bộ lọc phần tử (Particle Filter) đang được áp dụng rộng rãi trong nhiều lĩnh vực khoa học công nghệ như giao thông (phát hiện làn đường, theo vết một hoặc nhiều đối tượng), an ninh quốc phòng (xác định máy bay, tàu ngầm), thị giác robot, di động không dây… Trong đó, các thuật toán bộ lọc phần tử được cải tiến liên tục nhằm đáp ứng các yêu cầu thực tế và có một vài nghiên cứu về bộ lọc phần tử thực hiện trên phần cứng
* Các nghiên cứu bộ lọc phần tử ngoài nước được công bố:
- A Tutorial on Particle Filters for on-line Non-linear/Non-Gaussian Bayesian Tracking [16]: Đây là bài báo của các tác giả Sanjeev Arulampalam-
Simon Maskell- Neil Gordon – Tim Clapp được đăng trên IEEE Transactions on Signal Processing năm 2001 Có thể nói đây là một trong các nghiên cứu nổi tiếng về bộ lọc phần tử Trong bài báo này, tác giả xem xét tất cả các thuật toán Bayesian nhằm tối ưu hệ thống phi tuyến/ phi Gauss trong vấn đề theo vết đối tượng, và đặc biệt tập trung vào bộ lọc phần tử Các cải tiến của bộ lọc phần tử như SIR (sampling importance resampling), ASIR (auxiliary sampling importance resampling), RPF (regularised particle filter), Likelihood Particle Filter được giới thiệu Các tác giả đã đưa ra một ví dụ để so sánh các thuật toán
và sử dụng tiêu chuẩn Root Mean Squared Error (RMSE) để đánh giá chất lượng của các thuật toán Tất cả các mô phỏng thực hiện trên phần mềm và thể hiện bảng 1.1
Extended Kalman Filter 23.19 Approximate grid-Based Filter 6.09
Auxiliary Particle Filter 5.35
Trang 21Regularised Particle Filter 5.55 Likelihood Particle Filter 5.30
Bảng 1.1 Đánh giá chất lượng các thuật toán qua thông số RMSE
- Unscented particle filter with systematic resampling localization algorithm based on RSS for mobile wireless sensor networks [28]: Đây là
công trình nghiên cứu của Zhengjie WANG - Xiaoguang ZHAO - Xu QIAN, đăng trên Conference on Mobile Ad-hoc and Sensor Networks, 2012 Bài báo này các tác giả sử dụng thuật toán Unscented particle filter trong các mạng cảm biến không dây (WSN) Đầu tiên tác giả tạo ra mô hình trạng thái, mô hình di động, mô hình RSS (cường độ tín hiệu nhận được) sau đó áp dụng Unscented particle filter và sử dụng thuật toán Systematic resample để làm giảm sự thoái hóa các mẫu Khi RSS giảm trong mạng không dây mà vẫn nhận được chính xác
về các nút dao động Sử dụng tốc độ của các nút di động và giá trị đo của RSS để nâng cao độ định vị chính xác Các tác giả đã làm mô phỏng bằng phần mềm đánh giá bộ lọc Unscented particle filter và Particle Filter với các tham số khác nhau qua các bảng 1.2, bảng 1.3 và bảng 1.4
Measure Noise Variance
PF Mean(Variance)
UPF Mean(Variance)
Trang 22Vmax PF Mean
(Variance)
UPF Mean(Variance)
Tại Việt Nam, có rất ít nghiên cứu về bộ lọc phần tử đặc biệt là các thiết kế trên phần cứng Tuy nhiên cũng có một vài cơ quan, viện nghiên cứu, các trường đại học
đã có những nghiên cứu và bước đầu đã đem lại một số kết quả khả quan trong vấn
đề thiết kế bộ lọc phần tử nhưng chỉ dừng lại mô phỏng trên phần mềm Matlab hoặc OpenCV
* Các nghiên cứu bộ lọc phần tử trong nước được công bố:
Trang 23- Xây dựng hệ thống quan sát và theo vết đối tƣợng cho Robot tự hành [2]
: Đây là công trình nghiên cứu khoa học của Trần Công Chiến thuộc Trường Đại học Lạc Hồng năm 2012 Trong nghiên cứu này tác giả sử dụng thuật toán PTM (Particle & Template Matching) để quan sát và theo vết đối tượng Việc kết hợp thuật toán so khớp mẫu (Template Matching) với thuật toán lọc Particle trong trường hợp ước lượng không chính xác Kết quả cao nhất mà đề tài này đạt được
là 86%, số lượng hạt lọc trong khoảng từ 100 đến 300 để đảm bảo ưu tiên cho tính thời gian thực của bài toán
- Lọc Particle dựa trên màu ứng dụng vào hệ thống theo dõi giao thông [1] : Đây là công trình nghiên cứu của Lê Hoài Bắc - Nguyễn Phi Vũ trên Tạp chí
BCVT & CNTT kỳ 3 10/2007 Trong nghiên cứu này tác giả sử dụng lọc Paticle với thuật toán SIS và phương pháp top-down để theo vết đối tượng Kết quả mô phỏng trên phần mềm, tốc độ xử lý chương trình 30 frame ảnh/giây đảm bảo thực hiện trong thời gian thực Kết quả định lượng được kiểm tra trên 11 bộ test, mỗi đoạn video test khoảng 10s, kết quả rất khả quan đạt 100%
- Thực hiện thiết kế bộ lọc phần tử trong trường hợp hệ thống giả lập trên Matlab
và nền công nghệ FPGA Virtex-II Pro xc2vp30-7ff896
1.3 Nhiệm vụ của đề tài và giới hạn đề tài
- Thiết kế bộ lọc phần tử xử lí tín hiệu (hệ thống giả lập) trên Matlab
- Thực hiện bộ lọc phần tử trên nền công nghệ FPGA Virtex-II Pro 7ff896 và Matlab 2007b
Trang 24xc2vp30-1.4 Phương pháp nghiên cứu
Học viên thực hiện đề tài sử dụng hai phương pháp chủ yếu:
- Phương pháp tham khảo tài liệu:
+ Với sự hướng dẫn từ Thầy PGS.TS Lê Tiến Thường, tham khảo nguồn tài liệu tìm kiếm được trên mạng internet thông qua các website của Xilinx và các diễn đàn và các kiến thức trong quá trình học tập tại trường Đại học Sư phạm
Kỹ Thuật TPHCM
- Phương pháp thực hành:
+ Học viên thực hiện luận văn này đã thực hành trên phần mềm Matlab R2007b, AccelDSP 10.1, Xilinx System Generator 10.1 và Kit Virtex-II Pro của hãng Xilinx để thiết kế bộ lọc phần tử xử lí tín hiệu trên các hệ thống giả lập
1.5 Kế hoạch thực hiện
1 Khảo sát kit Virtex-II Pro và tìm
hiểu công nghệ FPGA
08/2013 01/2014
Báo cáo chuyên đề 2 (8.9 điểm)
2 Đọc và tìm hiểu lý thuyết về bộ lọc
phần tử
02/2014 03/2014
Báo cáo với giáo viên hướng dẫn
Luận văn tốt nghiệp (phần mềm và quyển báo cáo)
4 Tổng hợp lại nội dung nghiên cứu,
trình bày báo cáo luận văn 08/2014 Bảo vệ tốt nghiệp
Bảng 1.5: Kế hoạch thực hiện đề tài
Trang 25CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 Cơ sở lý thuyết bộ lọc phần tử
2.1.1 Mô hình Markov ẩn (Hidden Markov Model - HMM)
Hệ thống phi tuyến phức tạp thì việc xấp xỉ tuyến tính không còn chính xác khi điều kiện hoạt động bị biến đổi lớn (tức là các hoạt động ở xa điểm tuyến tính) Vì vậy phương pháp này sẽ không còn hữu ích trong các ứng dụng phức tạp Chính vì vậy cần một mô hình để giải quyết vấn đề trên Đó là mô hình Markov ẩn
Mô hình Markov là mô hình ngẫu nhiên trong đó các tính chất Markov được thỏa mãn Trong mô hình này, trạng thái tương lai của quá trình này chỉ phụ thuộc vào trạng thái hiện tại, chứ không phải trạng thái trước đó của hệ thống
Mô hình Markov ẩn [12] là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra, sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát, vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất Mô hình Markov ẩn thêm vào các ngõ ra: mỗi trạng thái có xác suất phân
bố trên các biểu hiện ngõ ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái Hình 2.1 là một ví dụ
về các chuyển tiếp trạng thái trong mô hình Markov ẩn
Trong đó
x: Các trạng thái trong mô hình Markov
Trang 26a: Các xác suất chuyển tiếp
b: Các xác suất đầu ra
z h x v (2.2) Trong đó h klà hàm đo đạc, v k là nhiễu của phép đo và PDF được biết trước
Trang 27Giả sử trạng thái ban đầu PDF của vectơ trạng thái là: p x D( 1| o) p x( )1 , f ivà
i
h với i 1, ,k
Các thông tin đo được (tập hợp các phép đo) tại thời điểm k là: D k
Yêu cầu phải xây dựng các PDF trạng thái hiện tạix k : p x( k |D k) PDF này có thể thu được qua hai giai đoạn: dự đoán và cập nhật
Giả sử rằng PDF p x( k1|D k1)tại thời điểm k-1 được biết trước Sau đó sử dụng mô hình hệ thống để tính PDF tại thời điểm k Phương trình dự đoán:
( k | k ) ( k| k ) ( k | k ) k
p x D p x x p x D dx (2.3) với p x( k|x k1)là mô hình xác suất của trạng thái tiến hóa, mà mô hình Markov được định nghĩa bởi phương trình và thỏa mãn w k1 là
vì nếu x k1 và w k1 được biết trước, sau đó x k thu được từ phương trình (2.1) Tại thời điểm k thu được z k và cập nhật thông qua quy luật Bayes Phương trình cập nhật:
1 1
( | ) ( | ) ( | )
( k| k ) ( k | k) ( k| k ) k
p z D p z x p x D dx (2.7) Điều kiện PDF của z k cho x k là p z( k|x k)được định nghĩa bằng phương trình
đo đạc và v k được biết trước thỏa mãn:
( k| k) ( k k( k, k)) ( )k k
p z x z h x v p v dv (2.8)
Trang 28Trong phương trình cập nhật (6), giá trị đo lường z được sử dụng để thay đổi các dự đoán trước từ các bước thời gian trước để thu được các yêu cầu hậu nghiệm của trạng thái
Các mối quan hệ hồi quy của phương trình dự đoán (3) và phương trình cập nhật (6) là giải pháp cho vấn đề ước lượng đệ quy Bayes
* Một số phương pháp dựa trên ước lượng Bayes: bộ lọc Kalman và bộ lọc Particle
2.1.3 Bộ lọc Kalman
Bộ lọc Kalman [2,5,6,9,17,20,22,24] được Rudolf (Rudy) E Kálmán công bố năm 1960, là thuật toán sử dụng chuỗi các giá trị đo lường, bị ảnh hưởng bởi nhiễu hoặc sai số, để ước đoán biến số nhằm tăng độ chính xác so với việc sử dụng duy nhất một giá trị đo lường Bộ lọc Kalman thực hiện phương pháp truy hồi đối với chuỗi các giá trị đầu vào bị nhiễu, nhằm tối ưu hóa giá trị ước đoán trạng thái của hệ thống
Việc sử dụng bộ lọc Kalman để ước lượng trạng thái bên trong của một quá trình, người ta phải mô hình quá trình phù hợp với khuôn khổ bộ lọc Kalman Cho phương trình tuyến tính:
x Ax Bu w
(2.9)với phép đo là m
zR
z Hx v
(2.10)Các tham số ngẫu nhiên w k1và v thể hiện nhiễu của quá trình và nhiễu của k
phép đo Chúng được giả định là độc lập với nhau, trắng và với phân bố chuẩn:
( )
p w ~ 𝑁(0,𝑄) (2.11) ( )
p v ~ 𝑁(0,𝑅) (2.12)
Thực tế, các ma trận hiệp biến nhiễu quá trình Q và hiệp biến nhiễu phép đo R
có thể thay đổi theo thời gian và phép đo, tuy nhiên chúng ta giả định rằng chúng
là hằng số
Trang 29Lưu ý rằng các ma trận A,B,H có thể thay đổi theo mỗi bước, nhưng ta giả
định rằng chúng là không đổi
Thuật toán Discrete Kalman Filter [2]:
Thuật toán 2.1: Sequential Importance Sampling
Bước 1: Time Update (Dự đoán)
Dự đoán trạng thái và hiệp biến lỗi ước lượng tại bước k từ bước k- 1
1
k
x để dự đoán một ước lượng hậu nghiệm mới x k lặp lại Tính chất đệ quy này là một trong những đặc điểm hấp dẫn của Kalman Filter dễ thực hiện hơn bởi vì nó không phải ước lượng trạng thái mới dựa trên tất cả các dữ liệu trước đó
Tuy nhiên bộ lọc này có một số hạn chế là chúng ước lượng trên hệ thống tuyến tính và nhiễu Gauss Nhưng trên thực các hệ thống thường là phi tuyến và nhiễu không phải Gauss do đó làm việc với mô hình gần đúng sẽ dẫn đến kết quả không chính xác
* Bộ lọc Kalman mở rộng [2]: (Extended Kalman Filter)
Lọc Kalman không thể áp dụng cho các trường hợp là phi tuyến Vì thế một số nghiên cứu mở rộng thực hiện trên bộ lọc Kalman nhằm giải quyết vấn đề phi tuyến và nhiễu phi Gauss Và phương pháp này là Extended Kalman
Hệ thống phi tuyến được định nghĩa:
Trang 30Trong thực tế ta không thể biết được nhiễu tại mỗi bước, tuy nhiên có thể xấp
xỉ vectơ trạng thái và phép đo mà không cần giá trị nhiễu
1 ( , , 0)
x f x u (2.15)
( , 0)
z h x
(2.16) Với
k
x là ước lượng posterior của trạng thái ( từ thời điểm trước bước k)
Thuật toán Extended Kalman Filter : là quy trình lặp lại hai bước dự đoán
và hiệu chỉnh
Thuật toán 2.2: Extended Kalman Filter
Bước 1: Time Update (Dự đoán)
Dự đoán trạng thái và hiệp biến lỗi ước lượng bước k từ bước k- 1
Trang 31Tuy phương pháp Extended Kalman Filter khắc phục nhược điểm của Kalman Filter nhưng thường không chính xác trong giai đoạn khởi tạo
Một cách tiếp cận khác để giải quyết vấn đề phi tuyến là đề xuất một thuật toán lọc dựa trên quan điểm xấp xỉ hàm phân phối xác suất dạng Gauss Thuật toán này đặt tên là Unscented Kalman Filter [15,28] (UKF) Thuật toán này chứng minh có kết quả tốt hơn EKF Tuy nhiên, giới hạn của UKF không thể áp dụng cho các bài toán có phân phối phi Gauss tổng quát
Gần đây, một phương pháp nhận sự nhiều sự quan tâm trên thế giới là phương pháp lấy mẫu tuần tự Nó còn gọi là bộ lọc phần tử hay bộ lọc bootstrap Bộ lọc phần tử [1,2,7,11-12,14-16 ,21,24,26,28] được phát minh nhằm giải quyết tốt hơn bài toán lọc, đặc biệt là nó có thể khắc phục được mọi nhược điểm của lọc Kalman và cũng không yêu cầu hệ phải có tập trạng thái hữu hạn
Trang 32+ Phương trình dự đoán:
( k | k ) ( k| k ) ( k | k ) k
p x D p x x p x D dx (2.19) + Phương trình cập nhật:
1 1
( | ) ( | ) ( | )
p x z p x x p x z dx (2.23)
Phương trình cập nhật
1: 1 1:
1: 1 ( k | k) ( k| k ) k
p z x p x z dx
liệu có số chiều là rất lớn và rất phức tạp
Trang 332.1.4.2 Phương pháp Monte Carlo
Trong phần này, chúng ta sẽ xem xét một trong những nền tảng lý thuyết quan trọng nhất - phương pháp Monte Carlo [2,12] - của bộ lọc Particle
* Cơ sở của phương pháp Monte Carlo:
- Các số ngẫu nhiên (Random numbers): các số ngẫu nhiên không chỉ sử dụng trong việc mô phỏng lại các hiện tượng ngẫu nhiên trong thực tế mà còn sử dụng lấy mẫu ngẫu nhiên của một phân bố nào đó
- Luật số lớn (Law of large numbers): luật này đảm bảo rằng khi ta chọn ngẫu nhiên các giá trị (mẫu thử) trong một dãy các giá trị (quần thể), kích thước dãy mẫu thử càng lớn thì các đặc trưng thống kê (trung bình, phương sai, ) của mẫu thử càng “gần” với các đặc trưng thống kê của quần thể Luật số lớn rất quan trọng đối với phương pháp Monte Carlo vì nó đảm bảo cho sự ổn định các giá trị trung bình của các biến ngẫu nhiên khi phép thử
đủ lớn
- Định lý giới hạn trung tâm: dưới một số điều kiện cụ thể, trung bình số học của một lượng đủ lớn các các phép lặp của biến ngẫu nhiên độc lập sẽ được xấp xỉ theo phân bố chuẩn Do phương pháp Monte Carlo là một chuỗi các phép thử nên định lý này giúp chúng ta dễ dàng xấp xỉ được trung bình và phương sai của các kết quả thu được từ phương pháp
Chúng ta giả sử rằng mô hình trạng thái là mô hình Markov ẩn, phi tuyến, nhiễu là phi Gauss Trạng thái ẩn ký hiệu x k, trạng thái quan sátz k
Gọi chuỗi trạng thái cho đến thời điểm k: x0:k ( ,x0 ,x k)
Các mẫu ngẫu nhiên 0:i
k
x được rút ra từ phân bố hậu nghiệm
Đại diện cho phân bố hậu nghiệm sử dụng một tập các mẫu hoặc các hạt:
( ( k)) ( k) ( k| k) k
E g x g x p x D dx (2.26)
Trang 34Ý tưởng là để có thể tạo ra N mẫu phân phối độc lập và giống nhau (hay gọi
là các hạt) từ phân phối hậu nghiệm p x( 0:k|z1:k) Tùy theo ứng dụng thực tế mà
ta có phương pháp lấy mẫu khác nhau
Có nhiều phương pháp lấy mẫu, trong đó chiến lược lấy mẫu quan trọng (Importance Sampling) được sử dụng trong phương pháp Monte Carlo
Phương pháp lấy mẫu quan trọng là một kỹ thuật làm giảm phương sai và
sử dụng trong phương pháp Monte Carlo Ý tưởng đằng sau lấy mẫu quan trọng là giá trị nhất định của các biến ngẫu nhiên đầu vào trong một mô phỏng
có tác động nhiều hơn trên các thông số được ước tính Nếu các giá trị “quan trọng” được nhấn mạnh bằng cách lấy mẫu thường xuyên hơn, sau đó phương sai ước lượng có thể giảm Do đó, phương pháp luận cơ bản trong lấy mẫu quan trọng là chọn một phân phối “khuyến khích” các giá trị quan trọng
i
p x w
q x
(2.29)
Áp dụng quy luật Bayes trong việc lấy mẫu quan trọng
Bằng cách biểu diễn các mẫu 0:i
q x D
(2.31)
Trang 35là trọng lượng chuẩn hóa
Xét một ví dụ về lấy mẫu dựa trên đại diện PDF
Hình 2.2: Ví dụ về lấy mẫu dựa trên đại diện PDF
Khu vực có mật độ cao thì có nhiều hạt và các hạt có trọng lượng lớn Sự phân chia không đều và hàm xấp xỉ để tính các PDF liên tục:
Từ những nhận xét trên, ta thấy IS là thuật toán có thể được áp dụng trong các bài toán lọc thời gian thực vì tính hiệu quả và chi phí thấp của nó Nó
không đòi hỏi quá trình sinh mẫu - chọn lựa cũng như thời gian thực thi đủ lâu
để thuật toán hội tụ Đây chính là lý do phương pháp lấy mẫu quan trọng trở thành phương pháp luận chủ yếu của lọc Partilce
Tóm lại, phương pháp tuần tự Monte Carlo dựa trên:
- Lấy mẫu quan trọng từ phân phối trước đó
- Cập nhật trọng số từ mô hình đo đạc
- Thực hiện đệ quy (tuần tự)
2.1.4.3 Phương pháp lấy mẫu quan trọng tuần tự
Thuật toán lấy mẫu quan trọng tuần tự (SIS) [2,16] là một phương pháp Monte Carlo (MC) làm cơ sở cho hầu hết các bộ lọc MC liên tục phát triển
Trang 36trong thập kỷ qua Đây là một kỹ thuật để thực hiện một bộ lọc đệ quy Bayes bằng mô phỏng Monte Carlo Ý tưởng chính là trình bày các yêu cầu hàm mật
độ hậu nghiệm bởi một tập hợp các mẫu ngẫu nhiên với trọng lượng liên quan
và tính toán ước lượng dựa trên các mẫu và trọng lượng
Để phát triển thuật toán, đặt 0:i k, k iN s1
i
x w
là phép đo ngẫu nhiên mà đặc trưng của PDF hậu nghiệm p x( 0:k|z1:k), trong đó x0:i k,i 0, ,N slà một tập hợp các điểm với trọng lượng thích hợp w i k i, 1, ,N svà x0:k x j,j 0, ,klà tập hợp các trạng thái đến thời điểm k Các trọng số được chuẩn hóa i 1
( )( )
i i
i
p x w
q x
(2.34)
là trọng lượng chuẩn hóa của hạt thứ i
Vì vậy, nếu các mẫu 0:i
k
x rút ra từ một mật độ quan trọng q x( 0:k |z1:k)sau đó các trọng lượng này được xác định bằng:
q x z
(2.35) Trở lại trường hợp tuần tự, cứ mỗi vòng lặp, ta có thể có mẫu tạo thành một xấp xỉ p x( 0:k1|z1:k1)và mẫu mong muốn xấp xỉ p x( 0:k|z1:k)với một tập mẫu mới Nếu mật độ quan trọng được chọn để tìm thừa số:
0: 1: 0: 1 1: 0: 1 1: 1
(x k|z k)q x( k|x k,z k) (q x k |z k) (2.36) sau đó người ta có thể lấy mẫu x0:i k q x( 0:k|z1:k)bằng cách bổ sung mỗi mẫu tồn tại 0:i 1 ( 0: 1| 1: 1)
x q x z với trạng thái mới i ( | 0: 1, 1: )
x q x x z Để suy ra phương trình cập nhật, p x( 0:k |z1:k)được biểu diễn đầu tiên p x( 0:k1|z1:k1),
( k| k)
p z x và p x( k|x k1)
Trang 370: 1: 1 0: 1: 1 0: 1:
1 0: 1 1: 1 0: 1 1: 0: 1 1: 1
k
x và lịch sử các quan sát z1:k1 Trọng lƣợng thay đổi là:
1 1
( k| k)
p x z
Mô tả thuật toán SIS [16] thể hiện trong thuật toán 2.3
Thuật toán 2.3: Sequential Importance Sampling
Trang 38(k là chỉ số thời gian, i là chỉ số hạt)
2.1.4.4 Vấn đề thoái hóa mẫu
Vấn đề thường gặp với thuật toán SIS [2,16] của bộ lọc phần tử là sự thoái hóa mẫu, trong đó sau một vài vòng lặp ngoại trừ một mẫu duy nhất trong tập mẫu, tất cả các mẫu còn lại có trọng số rất nhỏ và không đáng kể Điều này cho thấy rằng phương sai của các trọng số quan trọng tăng dần theo các bước thuật toán và không tránh khỏi sự thoái hóa mẫu Sự thoái hóa này phải cần một nổ lực tính toán lớn dành cho việc cập nhật các hạt mà các hạt này có phân phối xấp xỉ p x( k |z1:k) hầu như bằng 0 Một phép đo thích hợp về sự thoái hóa của thuật toán là kích thước mẫu hiệu quả N eff được định nghĩa:
2 1
t
w là trọng số chuẩn hóa Lưu ý rằng N eff N s, và lượng nhỏ N eff
cho thấy sự thoái hóa nghiêm trọng Rõ ràng, vấn đề thoái hóa là một ảnh hưởng không mong muốn trong bộ lọc Particle
Có hai phương pháp để giảm bớt ảnh hưởng khi sử dụng số lượng lớn N :
Trang 39- Trường hợp đầu tiên là khi x k thuộc một tập hợp hữu hạn Trong trường hợp này các tích phân bên trong trở thành một tổng và lấy mẫu từ
1 ( k | k i , k)
p x x z là có thể
- Trường hợp thứ hai là khi mô hình màp x( k|x k i1,z k)là Gauss Điều này có thể xảy ra nếu mô hình động là phi tuyến và các phép đo tuyến tính Như vậy, một hệ thống được đưa ra bởi:
Trang 40Cuối cùng, đó là thuận lợi để lựa chọn mật độ quan trọng được ưu tiên:
( k | i k , k) ( k| k i )
q x x z p x x (2.59)
Đây là sự lựa chọn phổ biến nhất của mật độ quan trọng vì nó là trực quan
và đơn giản để thực hiện Tuy nhiên, có rất nhiều các mật độ khác mà có thể được sử dụng và sự lựa chọn là các bước thiết kế rất quan trọng trong việc thiết kế một bộ lọc phần tử