Tải bản đầy đủ (.pdf) (104 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.41 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀ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

S K C0 0 4 3 3 9

Tp. Hồ Chí Minh, năm 2014


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀ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

Tp. Hồ Chí Minh, năm 2014



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀ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


LÝ LỊCH KHOA HỌC

I. LÝ LỊCH SƠ LƯỢC:
Họ & tên: Trần Thị Hồng Oanh
Giới tính: Nữ
Ngày, tháng, năm sinh: 20/05/1982
Nơi sinh: Tiền Giang
Quê quán: Phú Kiết, Chợ Gạo,Tiền Giang
Dân tộc: Kinh
B
Chỗ ở riêng hoặc địa chỉ liên lạc: Phú Thạnh , Phú Kiết, Chợ Gạo, Tiền Giang
Điện thoại cơ quan:

Điện thoại nhà riêng: 0978823664.
Fax:
E-mail:
II. QUÁ TRÌNH ĐÀO TẠO:
1. Trung học chuyên nghiệp:
Hệ đào tạo:
Nơi học (trường, thành phố):

Thời gian đào tạo từ …/… đến …/ ….

Ngành học:
2. Đại học:
Hệ đào tạo: Chính quy
Thời gian đào tạo từ 09/2010 đến 03/ 2012
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 CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI
HỌC:
Thời gian
Từ 05/2012
đến nay.

Nơi công tác
Công việc đảm nhiệm
Trường TCN Khu Cơng Nghiệp Bình Giáo viên bộ mơn Điện Cơng

Dương
Nghiệp

i


LỜ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

ii


CẢM TẠ

Lời đầu tiên em xin gửi lời tri ân đến quý Thầy Cô khoa Điện điện tử trường Đại
học sư phạm kỹ thuật TP. Hồ Chí Minh và Thầy PGS.TS. Lê Tiến Thường.
Qua thời gian theo học tại trường từ năm 2012 đến 2014, cùng với sự phấn đấu
của bản thân em và được sự giảng dạy quý báo của quý Thầy Cô khoa Điện điện tử
trường Đại học sư phạm kỹ thuật TP. Hồ Chí Minh, mà đặc biệt là Thầy Lê Tiến
Thường đã tận tình hướng dẫn em hoàn thành được Chuyên đề 1, Chuyên đề 2 và
Luận văn tốt nghiệp.
Hô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 q 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

iii


TÓM TẮT
Luận văn đề cập đến việc thiết kế bộ lọc phần tử sử dụng thuật toán SIR để ước
lượ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
Hardware” gửi hội nghị The Joint Conference 4S-2014/AVIC 2014 đã được chấp

nhận.

iv


ABSTRACT
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 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.

v


MỤC LỤC
Trang tựa
Quyết định giao đề tài
Lý lịch cá nhân
Lời cam đoan
Cảm tạ
Tóm tắt
Abstract
Mục lục
Danh sách các chữ viết tắt
Danh sách các hình
Danh sách các bảng
Lời mở đầu
Chương 1. TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ
1.1 Tổng quan 1
1.2 Mục đích đề tài
1.3 Nhiệm vụ đề tài và giới hạn đề tài
1.4 Phương pháp nghiên cứu
1.5 Kế hoạch thực hiện
Chươ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

2.1.2 Ước lượng đệ quy Bayes
2.1.3 Bộ lọc Kalman
2.1.4 Bộ lọc phần tử
2.1.4.1 Nền tảng toán học
2.1.4.2 Phương pháp Monte Carlo

2.1.4.3 Phương pháp lấy mẫu quan trọng tuần tự
2.1.4.4 Vấn đề thối hóa mẫu
2.1.4.5 Lựa chọn tốt hàm mật độ quan trọng
2.1.4.6 Tái chọn mẫu
2.1.4.7 Thuật toán bộ lọc phần tử
2.2 Tiêu chuẩn Root-mean-square error (RMSE)
2.3 Giới thiệu công nghệ FPGA

vi

TRANG
i
ii
iii
iv
v
vi
ix
xi
xiii
xiv
1
5
5

6
6
7
7
7
8
10
13
13
15

17
20
21
23
25
26
27


2.3.1 Công nghệ CPLD
2.3.2 Công nghệ FPGA
2.3.3 Ngôn ngữ mô tả phần cứng VHDL
2.3.4 Quá trình cài đặt chương trình trên FPGA
2.4 Khảo sát Kit Virtex-II Pro và gói cơng cụ Xilinx
2.4.1 Kit Virtex-II Pro xc2vp30
2.4.1.1 Tổng quan về kit Virtex-II Pro
2.4.1.2 FPGA kit Virtex-II Pro
2.4.1.3 Cấu hình nguồn cung cấp
2.4.1.4 Các nguồn cung cấp và phân phối xung clock

2.4.1.5 Khối truyền nhận dữ liệu Multi-Gigabit
2.4.1.6 Hệ thống RAM
2.4.1.7 Hệ thống điều khiển ACE Compact Flash
2.4.1.8 Giao tiếp Fast Ethernet
2.4.1.9 Các cổng nối tiếp
2.4.1.10 Cách dùng Led, Công tắc, và các nút nhấn
2.4.1.11 Cổng kết nối mở rộng
2.4.1.12 XSGA Output
2.4.1.13 AC97 Audio CODEC
2.4.1.14 CPU Trace và cổng Debug
2.4.1.15 Giao tiếp chương trình cổng USB2
2.4.2 Gói cơng cụ Xilinx hỗ trợ Matlab
2.4.2.1 Xilinx Accel DSP 10.1
2.4.2.2 Xilinx System Generator 10.1
Chương 3. THIẾT KẾ VÀ MÔ PHỎNG BỘ LỌC PHẦN TỬ TRÊN KIT
VIRTEX-II PRO XC2VP30-7FF896.
3.1 Mơ hình khơng gian trạng thái
3.2 Thiết kế bộ lọc phần tử trên kit Virtex-II Pro
3.2.1 Lưu đồ giải thuật bộ lọc phần tử
3.2.2 Thiết kế bộ lọc phần tử ước lượng hệ thống giả lập trên FPGA
3.2.2.1 Thiết kế các khối bộ lọc phần tử trong AccelDSP 10.1
3.2.2.2 Xây dựng mơ hình và mơ phỏng trong System Generator 10.1
3.2.2.3 Thực hiện mô phỏng trực tiếp trên FPGA Virtex-II Pro
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
Matlab và FPGA

vii

27
28

33
33
37
37
37
39
41
41
42
42
43
43
44
44
44
45
45
45
45
46
46
49
51
51
51
52
53
54
61
62

65


3.3.1 Giao diện chính
3.3.2 Giao diện thiết kế bộ lọc phần tử ước lượng trạng thái các mơ hình
giả lập
3.3.3 Mơ hình giả lập 1
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ơ
hình giả lập 1
3.3.3.2 Mô phỏng bộ lọc phần tử trên Matlab và FPGA của mơ hình 1
3.3.4 Mơ hình giả lập 2
3.3.4.1 Hệ thống các khối bộ lọc phần tử ước lượng trạng thái của mơ
hình giả lập 2
3.3.3.2 Mơ phỏng bộ lọc phần tử trên Matlab và FPGA của mô hình 2
Chương 4. KẾT LUẬN
4.1 Đánh giá kết quả
4.2 Kết luận
4.3 Hướng phát triển đề tài
TÀI LIỆU THAM KHẢO
PHỤ LỤC

viii

65
65
66
66
70
73
73

77
80
80
81
81
82
85


DANH SÁCH CÁC CHỮ VIẾT TẮT
PF

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

IS

Importance Sampling

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

FB

Function Block

ASIC

Application-specific integrated circuit

CLB

Configurable Logic Block

IOB

Input/Output Block

ix



LUT

Look up table

ACE

Advanced Configuration Environment

MAC

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

x


DANH SÁCH CÁC HÌNH
HÌNH
TRANG
Hình 2.1: Các chuyển tiếp trạng thái trong mơ hình Hidden Markov
6
Hình 2.2: Ví dụ về lấy mẫu dựa trên đại diện PDF
17
Hình 2.3: Ví dụ về thuật tốn Resampling

24
Hình 2.4: Sơ đồ khối CPLD
28
Hình 2.5: Mơ hình FPGA
29
Hình 2.6: CLBs Interconnects
30
Hình 2.7: Cấu trúc Logic Blocks
31
Hình 2.8: Các lọai FPGA
32
Hình 2.9: Qui trình thiết kế chip dựa trên VHDL
34
Hình 2.10: Hệ thống CAD tiêu biểu cho FPGAs
35
Hình 2.11: Kit Virtex II _ PRO
37
Hình 2.12: Sơ đồ khối các kết nối trên kit
39
Hình 2.13: Các khối giao tiếp ngồi của VIRTEX-II PRO Platform FPGA
40
Hình 2.14: Cửa sổ chính của cơng cụ tổng hợp AccelDSP
46
Hình 2.15: Các bước thực hiện Flows trong AccelDSP
47
Hình 2.16: Chọn Flow khi mở mở dự án
49
Hình 2.17: Chọn cấu hình phần cứng của kit Virtex-II Pro
49
Hình 3.1: Lưu đồ bộ lọc Particle

52
Hình 3.2: Tạo Flow cho hệ thống
53
Hình 3.3: Quy trình tạo các khối IP Core khối “dexuathat1”
54
Hình 3.4: Tạo một project mới
55
Hình 3.5: : Project dexuathat1 được tạo trong AccelDSP
55
Hình 3.6: Đồ thị mơ hình dấu chấm động
56
Hình 3.7: Cửa sổ Project Explorer khi phân tích mơ hình dấu chấm động
56
Hình 3.8: Cửa sổ Project Explorer khi tạo mơ hình dấu chấm cố định
57
Hình 3.9: So sánh đồ thị mơ hình dấu chấm động và dấu chấm cố định
58
Hình 3.10: Cửa sổ Project Explorer khi tạo mơ hình RLT
58
Hình 3.11: Các báo cáo tạo mơ hình RLT
59
Hình 3.12: Giao diện mơ phỏng HDL
60
Hình 3.13: Khối dexuathat1 và Version Info
60
Hình 3.14: Thư viện Simulink của Matlab
61
Hình 3.15: Thiết kế bộ lọc phần tử trong Xilinx System Generator 10.1
61


xi


Hình 3.16: Khối Embedded Function
Hình 3.17: System Generator token
Hình 3.18: Khối Jtag Co-sim
Hình 3.19: Kết nối khối Jtag Co-sim với mơ hình
Hình 3.20: Cable Platform USB cho Xilinx JTAG hardware Co-simulation
Hình 3.21: Cấu hình FPGA trên Jtag khi mơ phỏng bộ lọc phần tử
Hình 3.22: Giao diện chính
Hình 3.23: Giao diện ước lượng trạng thái của PF và trạng thái thật
Hình 3.24: Hệ thống bộ lọc phần tử ước lượng trạng thái giả lập mơ hình 1
Hình 3.25: Thiết kế khối khởi tạo các hạt mơ hình 1
Hình 3.26: Thiết kế khối đề xuất các hạt mơ hình 1
Hình 3.27: Thiết kế khối cập nhật trọng lượng mơ hình 1
Hình 3.28: Thiết kế khối chuẩn hóa trọng lượng mơ hình 1
Hình 3.29: Thiết kế khối tái chọn mẫu mơ hình 1
Hình 3.30: Thiết kế khối tính giá trị ước lượng thu được mơ hình 1
Hình 3.31: Mơ phỏng bộ lọc phần tử trên Matlab của mơ hình 1
Hình 3.32: Mơ phỏng bộ lọc phần tử trên FPGA của mơ hình 1
Hình 3.33: Mơ phỏng bộ lọc phần tử trên Matlab và FPGA của mơ hình 1
Hình 3.34: Hệ thống bộ lọc phần tử ước lượng trạng thái giả lập mô hình 2
Hình 3.35: Thiết kế khối khởi tạo các hạt mơ hình 2
Hình 3.36: Thiết kế khối đề xuất các hạt mơ hình 2
Hình 3.37: Thiết kế khối cập nhật trong lượng mơ hình 2
Hình 3.38: Thiết kế khối chuẩn hóa trọng lượng mơ hình 2
Hình 3.39: Thiết kế khối tái chọn mẫu mơ hình 2
Hình 3.40: Thiết kế khối tính giá trị ước lượng thu được của mơ hình 2
Hình 3.41: Mơ phỏng bộ lọc phần tử trên Matlab của mơ hình 2
Hình 3.42: Mơ phỏng bộ lọc phần tử trên FPGA của mơ hình 2

Hình 3.43: Mơ phỏng bộ lọc phần tử trên Matlab và FPGA mơ hình 2

xii

62
62
63
64
64
64
65
65
66
67
67
68
68
69
70
70
71
71
73
74
74
75
75
76
76
77

77
78


DANH SÁCH CÁC BẢNG
BẢNG
TRANG
Bảng 1.1: Đánh giá chất lượng các thuật tốn qua thơng số RMSE
3
Bảng 1.2: So sánh nhiễu phép đo
3
Bảng 1.3: So sánh vận tốc khác nhau
4
Bảng 1.4: So sánh số hạt khác nhau
4
Bảng 1.5: Kế hoạch thực hiện đề tài
6
Bảng 2.1: Các loại FPGA
40
Bảng 2.2: Cấu hình FPGA
47
Bảng 3.1: RMSE mơ hình 1 khi số hạt thay đổi từ 10 đến 500
72
Bảng 3.2: RMSE mơ hình 1 khi nhiễu thay đổi từ 0.1 đến 5
72
Bảng 3.3: RMSE mơ hình 2 khi số hạt thay đổi từ 10 đến 500
79
Bảng 3.4: RMS mơ hình 2 khi nhiễu thay đổi từ 0.1 đến 5
79
Bảng 4.1: RMSE mơ hình 1 và mơ hình 2 khi số hạt thay đổi từ 10 đến 500

80
Bảng 4.2: RMSE mơ hình 1 và mơ hình 2 khi nhiễu thay đổi từ 0.1 đến 5
80

xiii


LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển của khoa học và công nghệ, việc ước lượng
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ự đốn để dự đố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ự đố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

xiv


trọng, tuy nhiên các kết quả đạt được đa số trên phần mềm, còn phần cứng chỉ đạt
được một số kết quả cơ bản. Hiên nay đã xây dựng xong các chương trình theo vết
củ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.

xv


THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA

GVHD:PGS.TS LÊ TIẾN THƯỜNG

CHƢƠNG 1

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ
1.1 Tổng quan
Lọc là bài tốn đóng vai trị quan trọng trong lĩnh vực xử lí tín hiệu. Bài tốn này
giải quyết triệt để vấn đề ước lượng trạng thái của một hệ thống khi một tập quan
sát về hệ thống đó được thu thập và có hiệu lực. Nhưng các hệ thống thu thập trên
thực tế là phi tuyến và có nhiều loại nhiễu trên phép đo. Để ước lượng trạng thái các
hệ 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ự thối hóa trọng
lượng là một vấn đề thường gặp trong các thuật tố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.

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ

1

TRẦN THỊ HOÀNG OANH


THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA

GVHD:PGS.TS LÊ TIẾN THƯỜNG

Hiệ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 tố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ử ngồ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 ArulampalamSimon 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 tố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 tố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
Thuật toán

RMSE

Extended Kalman Filter

23.19

Approximate grid-Based Filter

6.09

SIR Filter

5.54

Auxiliary Particle Filter

5.35

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ


2

TRẦN THỊ HOÀNG OANH


GVHD:PGS.TS LÊ TIẾN THƯỜNG

THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CƠNG NGHỆ FPGA

Regularised Particle Filter

5.55

Likelihood Particle Filter

5.30

Bảng 1.1 Đánh giá chất lượng các thuật tố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ự thố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

PF

UPF

Variance

Mean(Variance)

Mean(Variance)

7

10.5039 (7.3154)

5.9248 (2.0799)

5

8.055 (7.9011)

4.7573 (1.6272)

3

6.4424 (5.1393)


4.2446 (1.0417)

1

4.7597 (3.4761)

2.4735 (0.59385)

Bảng 1.2 So sánh nhiễu phép đo.

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ

3

TRẦN THỊ HOÀNG OANH


GVHD:PGS.TS LÊ TIẾN THƯỜNG

THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CƠNG NGHỆ FPGA

Vmax

PF Mean

UPF

(Variance)

Mean(Variance)


10

11.7761 (32.5513)

8.8342 (13.0634)

8

8.119 (11.8213)

4.2132 (1.6259)

5

5.332 (3.3772)

2.6756 (0.26584)

3

3.2503 (1.3258)

2.0767 (0.16293)

Bảng 1.3 So sánh vận tốc khác nhau.

Number of Particle

PF


UPF

Mean(Variance)

Mean(Variance)

200

6.0405 (7.6858)

3.3648 (2.7586)

100

4.9402 (4.577)

3.2987 (0.68241)

50

5.697 (4.6985)

2.94 (1.2039)

30

5.7733 (5.1632)

3.2636 (0.69807)


Bảng 1.4 So sánh số hạt khác nhau.
Qua các bảng trên các tác giả chứng minh được thuật toán Unscented particle
filter tốt hơn nhiều so với thuật toán particle filter trong nghiên cứu này. Đây là
một nghiên cứu nhằm cải tiến thuật toán bộ lọc phần tử.
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ố:

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ

4

TRẦN THỊ HOÀNG OANH


THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA

GVHD:PGS.TS LÊ TIẾN THƯỜNG

- 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 tố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%.
1.2 Mục đích của đề tài
- Sử dụng giải thuật SIR (Sampling Importance Resampling) cho phần thiết kế bộ
lọc phần tử trong trường hợp hệ thống giả lập.
- Sử dụng tiêu chuẩn RMSE (Root-mean-square error) để đánh giá trạng thái ước
lượng của bộ lọc phần tử so với trạng thái thật.
- 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 xc2vp307ff896 và Matlab 2007b.

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ

5

TRẦN THỊ HOÀNG OANH


THIẾT KẾ BỘ LỌC PHẦN TỬ CHO XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA

GVHD:PGS.TS LÊ TIẾN THƯỜNG


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

STT

1

2

Công việc thực hiện

Thời gian

Kết quả

Khảo sát kit Virtex-II Pro và tìm

08/2013


Báo cáo chun đề 2

hiểu cơng nghệ FPGA.

01/2014

(8.9 điểm)

Đọc và tìm hiểu lý thuyết về bộ lọc

02/2014

Báo cáo với giáo viên

phần tử.

03/2014

hướng dẫn.

Thiết kế bộ lọc phần tử (Particle
3

filtering) xử lí tín hiệu trên nền công
nghệ FPGA.

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.


04/2014
08/2014

08/2014

Luận văn tốt nghiệp
(phần mềm và quyển
báo cáo)

Bảo vệ tốt nghiệp

Bảng 1.5: Kế hoạch thực hiện đề tài

TỔNG QUAN VỀ BỘ LỌC PHẦN TỬ

6

TRẦN THỊ HOÀNG OANH


THIẾT KẾ BỘ LỌC PHẦN TỬ XỬ LÝ TÍN HIỆU TRÊN NỀN CÔNG NGHỆ FPGA

GVHD:PGS.TS LÊ TIẾN THƢỜNG

CHƢƠ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 q 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 q 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.

CƠ SỞ LÝ THUYẾT

7

TRẦN THỊ HOÀNG OANH



×