Một số phương pháp lọc nhiễu thường được sử dụng đó là: lọc trung bình, lọcthông thấp, thông cao và lọc Kalman.. Trong phạm vi của bài tiểu luận này, chúng em xin trình bày lý thuyết về
Trang 1Giảng viên hướng dẫn: Ts NGUYỄN NGỌC MINH
Nhóm SV thực hiện: TRẦN VĂN HIỆU
QUÁCH VĂN PHI VANHNARLAK SOULIGNAVONG
Trang 2MỤC LỤC
Trang 3DANH MỤC HÌNH VẼ
Trang 4LỜI MỞ ĐẦU
Trong những năm gần đây, cảm biến và các thiết bị đo lường xuất hiện rất nhiềutrong các thiết bị tự động, dân dụng và thiết bị công nghiệp Trong đó các cảm biếnthường là bộ phận thiết yếu trong các mạch đo lường dùng để thu nhập các thông sốmôi trường(như cảm biến nhiệt độ, độ ẩm, ấp suất,…), thông số đo đạc trạng thái cơhọc(như cảm biến la bàn số, cảm biến vận tốc, gia tốc,…),
Nhưng một sự bất cập trong các cảm biến là các giá trị đọc được từ cảm biếnthường chứa nhiễu bởi sự tác động của môi trường, của chính cảm biến, các quá trìnhchuyển đổi Do đó giá trị đọc được thường sai số khá lớn Để giải quyết vấn đề nhiễunhư thế chúng ta thường sử dụng một bộ lọc thích hợp với sai số ảnh hưởng đến cảmbiến Một số phương pháp lọc nhiễu thường được sử dụng đó là: lọc trung bình, lọcthông thấp, thông cao và lọc Kalman
Với những ưu điểm vượt trội, tiềm năng của thuật toán Kalman vào thực tế trongviệc áp dụng để lọc nhiễu trong tín hiệu là rất khả quan, điều này đặt ra cho chúng emmong muốn nghiên cứu để nắm rõ và tiến tới làm chủ phương pháp này
Định hướng của chúng em là tìm hiểu lý thuyết về bộ lọc Kalman, tìm hiểu về môhình toán học và phạm vi ứng dụng của nó Sau đó áp dụng mô hình toán học của bộlọc trong một hệ thống đo lường cụ thể đó là lọc nhiễu cho cảm biến gia tốc
Trong phạm vi của bài tiểu luận này, chúng em xin trình bày lý thuyết về bộ lọcKalman, nội dung cơ bản bao gồm những mục như sau:
- Lý thuyết về ước lượng
- Mô hình toán học của bộ lọc Kalman
- Các ứng dụng của bộ lọc Kalman
- Mô phỏng bộ lọc Kalman cho hệ thống tuyến tính rời rạc trên Matlab
Trang 5I LÝ THUYẾT BỘ LỌC KALMAN
Vào năm 1960, R.E Kalman đã công bố bài báo nổi tiếng về một giải pháp truyhồi để giải quyết một bài toán lọc thông tin rời rạc truyến tính (discrete data linearfiltering) Tên đầy đủ của bài báo là “A New Approach to Linear Filtering andPrediction Problems” Từ đó đến nay cùng với sự phát triển của tính toán kỹ thuật số,
bộ lọc Kalman đã trở thành chủ đề nghiên cứu sôi nổi và được ứng dụng trong nhiềungành kỹ thuật công nghệ khác nhau: trong tự động hóa, trong định vị cũng như trongviễn thông và trong nhiều lĩnh vực khác Một cách khái quát, bộ lọc Kalman là một tậphợp các phương trình toán học mô tả một phương pháp tính toán truy hồi hiệu qủa chophép ước đoán trạng thái của một quá trình sao cho trung bình phương sai của độ lànhỏ nhất Bộ lọc Kalman rất hiệu quả trong việc ước đoán các trạng thái trong quákhứ, hiện tại và tương lai thậm chí ngay cả khi tính chính xác của hệ thống mô phỏngkhông được khẳng định
1 Lý thuyết về ước lượng
1.1 Khái niệm
Trong thống kê, một ước lượng là một giá trị được tính toán từ một mẫu thử vàngười ta hy vọng đó là giá trị tiêu biểu cho giá trị cần xác định trong tập hợp Người taluôn tìm một ước lượng sao cho đó là ước lượng “không chệch”, hội tụ, hiệu quả vàvững(robust)
1.2 Đánh giá chất lượng
Một ước lượng là một giá trị x được tính toán trên một mẫu được lấy mộtcáchngẫu nhiên, do đó giá trị của x là một biến ngẫu nhiên với kì vọng E(x) và phươngsai V(x) Nghĩa là giá trị x có thể dao động tùy theo mẫu thử, nó có ít cơ hội để có thểbằng đúng chính xác giá trị X mà nó đang ước lượng Mục đích ở đây là ta muốn cóthể kiểmsoát sự sai lệch giá trị x và giá trị X
Một biến ngẫu nhiên luôn dao động xung quanh giá trị kì vọng của nó Ta muốn
là kì vọng của x phải bằng X Khi đó ta nói ước lượng là không chệch Trung bình tíchlũytrong ví dụ về chiều cao trung bình của trẻ 10 tuổi một ước lượng đúng, trong khiướclượng về tổng số cá trong hồ được tính như trong ví dụ là một ước lượng khôngđúng, đólà ước lượng thừa: trung bình tổng số cá ước lượng được luôn lớn hơn tổng số
cá có thực trong hồ
Ta cũng muốn là khi mẫu thử càng rộng, thì sai lệch giữa x và X càng nhỏ Khi
Trang 6đó ta nói ước lượng là hội tụ Định nghĩa theo ngôn ngữ toán học là như sau:
sự dao động càng yếu Vì vậy ta muốn phương sai của ước lượng là nhỏ nhất có thể.Khi đó ta nói ước lượng là hiệu quả Cuối cùng, trong quá trình điều tra, có thể xuấthiện một giá trị “bất thường” (ví dụ có trẻ 10 tuổi nhưng cao 1,80 m) Ta muốn giá trịbất thường này không ảnh hưởng quá nhiều đến giá trị ước lượng Khi đó ta nói ướclượng là vững Có thể thấy trung bình tích lũy trong ví dụ về chiều cao trung bình trẻ
10 tuổi không phải là một ước lượng vững
1.3 Kỳ vọng (Expectation)
Định nghĩa: Giả sử � là đại lượng ngẫu nhiên rời rạc có thể nhận các giá trị �1,
�2, … , ��� với các xác suất tương ứng �1, �2, … , ��
Khi đó kỳ vọng của X, ký hiệu là (�) hay � được xác định bởi công thức:
Trang 71.4 Phương sai (Variance)
Định nghĩa: Phương sai (trung bình bình phương độ lệch) của đại lượngngẫunhiên X, ký hiệu (�) hay (�) được xác định bởi công thức:
2
ar( ) [( ) ]
(1.3)Nếu X là đại lượng ngẫu nhiên rời rạc có thể nhận các giá trị �1, �2, … , ��� vớixác suất tương ứng là �1, �2, … , �� thì:
2 1
Trang 81.6 Hiệp phương sai (Covariance)
Cho 2 biến ngẫu nhiên X và Y, ta có định nghĩa hiệp phương sai của X và Y,kýhiêu (�, �):
( , ) [( x)( y)]
(1.9)Trong đó , �� lần lượt là kỳ vọng của X, Y
Một công thức tương đương của hiệp phương sai:
Nếu 2 biến ngẫu nhiên là độc lập thì (�, �) = 0 tuy nhiên điều ngược lại khôngđúng Các biến ngẫu nhiên mà có hiêp phương sai bằng 0 được gọi là khôngtươngquan (uncorrelated), chúng có thể độc lập nhau hoặc không
Như vậy nếu X, Y độc lập ta có E[��] =
- Var X Y( + )=Var X( )+Var Y( ) 2+ Cov X Y( , )
1.7 Ma trận hiệp phương sai
Như chúng ta vừa trình bày, hiệp phương sai là đại lượng tính toán sự tươngquan giữa 2 biến ngẫu nhiên
Trang 9Vậy giả sử chúng ta có một vector biến ngẫu nhiên có 3 phần tử �1, �2, �3.Nếu ta muốn tính toán sự tương quan giữa tất cả các cặp biến ngẫu nhiên thì ta phảitính tất cả 3
hiệp phương sai ���(�1, �2), ���(�1, �3), ���(�2, �3)
Một cách tổng quát, ma trận hiệp phương sai đã ra đời để cho phép ta tính tất cảcác ��� giữa 2 biến ngẫu nhiên trong một vector biến ngẫu nhiên
Cho một vector biến ngẫu nhiên X chứa n biến ngẫu nhiên, ma trận hiệpphương sai của X, kỹ hiệu là ∑, được định nghĩa là:
n
X X
1.8 Phân phối chuẩn (phân phối Gaussian)
Trong thực tế, người ta thường sử dụng phân phối xác suất có tên là phân phốichuẩn (normaldistribution) hay phân phối Gaussian.Một biến ngẫu nhiên X được gọi là
có phân phối Gaussian khi nó có hàm mật độ là hàm Gaussian, ký hiệu là �~(�, �) gọi
là X có phân phối chuẩn với tham số �, �.Khi đó hàm mật độ của X là:
2 2
( )2
Trang 10Hình 1.1: Đồ thị của một số phân phối chuẩn.
Quan sát đồ thị ta thấy phân phối chuẩn có dạng chuông Giá trị kỳ vọng của X
là �=� là trục đối xứng Độ lệch chuẩn � (hay phương sai
2σ
) càng lớn thì đồ thị càngbẹt, nghĩa là các giá trị càng phân tán ra xa kỳ vọng
Trong thực tế, các loại nhiễu trong các hệ thống đo lường có thể được môphỏng một cách chính xác bằng nhiễu trắng cộng Hay nói cách khác tạp âm trắngGaussian là loại nhiễu phổ biến nhất trong hệ thống đo lường Loại nhiễu này có mật
độ phổ công suất đồng đều trên miền tần số và biên độ tuân theo phân bố Gaussian.Theo phương thức tác động thì nhiễu Gaussian là nhiễu cộng Vậy các hệ thống đolường phổ biến chịu tác động của nhiễu Gaussian trắng cộng (AWGN)
Trang 11Hình 1.2: Nhiễu Gaussian
1.9 Ước lượng của trung bình và phương sai
Ta chọn ngẫu nhiên n cá thể trong một dân số gồm N cá thể Ta quan tâm đếnđặc trưng định lượng Y của dân số với trung bình
y
và phương sai V(Y) Trong mẫu
đó, đặc trưng Y có trung bình và phương sai đo được lần lượt là
Ước lượng trung bình của Y:
Thông thường trung bình của Y, tức là �̅ được ước lượng bởi:
1
1 n
i i
( )
E y =Y
.Ước lượng phương sai của Y: là một ước lượng của V(Y), nhưng là ước lượngkhông đúng, ta chứng minh được kì vọng của luôn nhỏ hơn V(Y), tức ước lượng làthiếu Các ước lượng đúng của V(Y) là:
(1.12) trong trường hợp lấy mẫu không hoàn lại
Trong trường hợp mẫu lớn, phép tính có hoàn lại và phép tính không hoàn lại là
Trang 12của V(Y) là:
1
1 ( )
1 i
n i
− ∑
được gọi là phương sai tích lũy của Y
1.10 Phương pháp bình phương tối thiểu
Trong toán học, phương pháp bình phương tối thiểu, còn gọi là bình phươngnhỏ nhất hay bình phương trung bình tối thiểu, là một phương pháp tối ưu hóa để lựachọn một đường khớp nhất cho một dải dữ liệu ứng với cực trị của tổng các sai sốthống kê (error) giữa đường khớp và dữ liệu
Phương pháp này giả định các sai số (error) của phép đo đạc dữ liệu phân phốingẫu nhiên Định lý Gauss-Markov chứng minh rằng kết quả thu được từ phương phápbình phương tối thiểu không thiên vị và sai số của việc đo đạc dữ liệu không nhất thiếtphải tuân theo, ví dụ, phân bố Gauss Một phương pháp mở rộng từ phương pháp này
là bình phương tối thiểu có trọng số
Phương pháp bình phương tối thiểu thường được dùng trong khớp đường cong.Nhiều bài toán tối ưu hóa cũng được quy về việc tìm cực trị của dạng bình phương, ví
dụ như tìm cực tiểu của năng lượng hay cực đại của entropy
Giả sử dữ liệu gồm các điểm (, ) với i = 1, 2, , n Chúng ta cần tìm một hàm số
f thỏa mãn:
( )i i
f x ≈y
(1.13)Giả sử hàm f có thể thay đổi hình dạng, phụ thuộc vào một số tham số, pj với j
= 1, 2, , m
( ) ( , )j
(1.14)Nội dung của phương pháp là tìm giá trị của các tham số sao cho biểu thức sauđạt cực tiểu:
1( i ( ))i
n i
=
(1.15)Nội dung này giải thích tại sao tên của phương pháp là bình phương tối thiểu.Đôi khi thay vì tìm giá trị nhỏ nhất của tổng bình phương, người ta có thể tìm giá trịnhỏ nhất của bình phương trung bình:
Trang 132 2
1
1( i ( ))i
n i
n =
= ∑ −
(1.16)Điều này dẫn đến tên gọi bình phương trung bình tối thiểu
Trong hồi quy tuyến tính, người ta thay biểu thức
( )i i
f x ≈ y
(1.17)Bằng biểu thức
( )i i i
f x = +y ε
(1.18)Với hệ số nhiễu ε là biến ngẫu nhiên có giá trị kỳ vọng bằng 0 Trong biểu thứccủa hồi quy tuyến tính x được đo chính xác, chỉ có y chịu nhiễu loạn ε Thêm nữa, hàm
f tuyến tính với các tham số Nếu f không tuyến tính với các tham số, ta có hồi quyphi tuyến, một bài toán phức tạp hơn nhiều hồi quy tuyến tính
2 Bộ lọc Kalman
2.1 Giới thiệu chung về bộ lọc Kalman
Được đề xuất từ năm 1960 bởi giáo sư Kalman để thu thập và kết hợp linh độngcác thông tin từ cảm biến thành phần Một khi phương trình định hướng và mẫu thống
kê nhiễu trên mỗi cảm biến được biết và xác định, bộ lọc Kalman sẽ cho ước lượng giátrị tối ưu (chính xác do đã được loại sai số, nhiễu) như là đang sử dụng một tín hiệu
“tinh khiết” và có độ phân bổ không đổi Trong hệ thống này, tín hiệu cảm biến vào bộlọc gồm hai tín hiệu: từ cảm biến góc (inclinometer) và cảm biến vận tốc góc (gyro).Tín hiệu đầu ra của bộ lọc là tín hiệu của inclinometer và gyro đã được loại nhiễu nhờhai nguồn tín hiệu hỗ trợ và xử lý lẫn nhau trong bộ lọc, thông qua quan hệ (vận tốcgóc = đạo hàm/vi phân của giá trị góc
Bô lọc Kalman đơn giản là thuật toán xử lý dữ liệu hồi quy tối ưu Có nhiềucách xác định tối ưu, phụ thuộc tiêu chuẩn lựa chọn trình thông số đánh giá Nó chothấy rằng bộ lọc Kalman tối ưu đối với chi tiết cụ thể trong bất kỳ tiêu chuẩn có nghĩanào Một khía cạnh của sự tối ưu này là bộ lọc Kalman hợp nhất tất cả thông tin đượccung cấp tới nó Nó xử lý tất cả giá trị sẵn có, ngoại trừ độ sai số, ước lượng giá trịhiện thời của những giá trị quan tâm, với cách sử dụng hiểu biết động học thiết bị giátrị và hệ thống, mô tả số liệu thống kê của hệ thống nhiễu, gồm nhiễu ồn, nhiễu đo và
sự không chắc chắn trong mô hình động học, và những thông tin bất kỳ về điều kiện
Trang 14ban đầu của giá trị quan tâm.
Hình 1.3: Mô hình đo lường ước lượng của bộ lọc Kalman
Hình 1.3 trên mô hình hóa hoạt động của mạch lọc Kalman Chúng ta có tínhiệu đo được, chúng ta có mô hình của tín hiệu đo được (đòi hỏi tuyến tính) và sau đó
là áp dụng vào trong hệ thống phương trình của mạch lọc để ước lượng trạng thái quantâm Thực ra tín hiệu đo là không khó, phương trình đã có sẵn, cái chung ta cần chính
là mô hình hoá hệ thống Để có thể ứng dụng một cách hiểu quả mạch lọc Kalman thìchúng ta phải mô hình hóa được một cách tuyến tính sự thay đổi của trạng thái cần ướclượng hoặc dự đoán
hệ thống cộng hay nhiễu quá trình – thường là nhiễu Gaussian trắng cộng (AWGN) ,
Trang 15là ma trận chuyển đổi đầu vào và là ma trận chuyển trạng thái.
Ngoài ra chúng ta giả sử rằng, khả năng quan sát trạng thái được thực hiệnthông qua một hệ thống đo lường có thể được biểu diễn bởi một phương trình tuyếntính như sau
Z =H x +v
(2.2)Trong đó k
Z
là thông tin quan sát hay đo lường thực hiện tại thời điểm �, k
x
làtrạng thái tại thời điểm �, k
Chúng ta giả thiết như sau
• Nhiễu quá trình và nhiễu đo lường
Trang 16k l
E w v = ∀ k l
(2.5)Trong đó và là các ma trận đối xứng nửa xác định dương
• Trạng thái khởi tạo hệ thống �0 là một vector ngẫu nhiên không tương quan
với cả hệ thống và nhiễu đo lường
• Trạng thái khởi tạo hệ thống có giá trị trung bình và ma trận hiệp phương
sai đã biết
[ ]0|0 0
Đó được gọi là một bước trước dự đoán hay đơn giản là dự đoán.
Bây giờ, giải pháp để tối thiểu hóa phương trình (2.7) là kỳ vọng của trạng thái ở thờiđiểm � + 1 được ước định dựa trên quan sát ở thời điểm � Như vậy
Trang 17Hiệp phương sai ước lượng dự đoán
Trang 18Trong đó
' 1
1| 1 ˆ 1| 1 1
x %+ + = x + + − x +
(2.12)
2.2.4 Điều kiện không chệch
Để bộ lọc không chệch yêu cầu
'
1 1| 1 1 1 1 1 1| 1
Trang 19là độ lệch đo lường thể hiện sự sai khác giữa giá trị đo lường k 1
z +
vàước lượng của nó 1|
1| 1 1| 1 1
ˆk k ˆk k k k
(2.20)
Trang 20Hiệp phương sai độ lệch đo lường k 1
Trang 21Mục tiêu của chúng ta là làm sao để tối thiểu hóa trung bình bình phương sai số
ước lượng có điều kiện với độ lời Kalman K.
Trang 222.2.7 Tóm tắt các phương trình của bộ lọc Kalman
Trong phần này chúng ta sẽ tóm tắt các phương trình tổng quát của giải thuậtlọc Kalman Giải thuật bao gồm 2 quá trình: quá trình ước lượng và quá trình điềuchỉnh
Trang 231| |
ˆk k k ˆk k k k
(2.29)Hiệp phương sai ước lượng dự đoán:
Trang 24Hình 2.2: Tóm tắt quá trình khởi tạo của Kalman
Cùng với các điều kiện ban đầu trong ước lượng và ma trận hiệp phương sai lỗicủa nó (phương trình 2.6) đã định nhĩa một giải thuật rời rạc hóa về thời gian và đệquy để xác định hiệp phương sai ước lượng tuyến tính tối thiểu được gọi là bộ lọcKalman
II ỨNG DỤNG CỦA BỘ LỌC KALMAN
Bởi vì bộ lọc Kalman giải quyết một số vấn đề cơ bản là lọc nhiễu và tối ưu chocác ước lượng nên nó được ứng dụng rất rộng rãi Ngày nay Kalman được ứng dụngnhiều trong các ô tô tự lái có khả năng thay thế con người vận hành xe, một chươngtrình máy tính được cài sẵn bộ lọc Kalman sẽ có nhiệm vụ điều khiển xe Những chiếc
xe này thậm chí còn được giới thiệu là an toàn hơn xe lái bởi con người trong một sốtrường hợp
Một ứng dụng khác, có thể chúng ta không thích thú lắm, đó là các tên lửakhông đối không (air-to-air missile: AAM) Đó là các tên lửa dẫn hướng việc bắn từmột máy bay để tiêu diệt máy bay khác Tên lửa dẫn hướng hoạt động theo nguyên lý
Trang 25phát hiện mục tiêu (thông thường bằng rada hoặc hồng ngoại, đôi khi cũng sử dụngLazer hoặc quang học) sau đó tự động dẫn đến mục tiêu nhờ quá trình ước lượng củaKalman.
Ngoài ra bộ lọc Kalman còn được áp dụng nhiều vào hệ thống theo dõi mụctiêu di động trong mạng cảm biến không dây Do nhiễu đo lường trên các cảm biếnnên kết quả thu được thường không chính xác, có sai số lớn so với thực tế Bộ lọcKalman được áp dụng để lọc nhiễu, dự đoán, ước lượng trạng thái của mục tiêu như vịtrí, tốc độ và quỹ đạo Nhờ có quá trình dự đoán và điều chỉnh của bộ lọc Kalman đãgóp phần quan trọng vào việc quản lý trạng thái các cảm biến làm giảm thiểu nănglượng tiêu thụ cũng như tăng chất lượng theo dõi và kéo dài thời gian sống của mạng
Một số ứng dụng được liệt kê từ bài viết Kalman Filter trên Wikipedia [5]:
− Lái tự động máy bay (Autopilot)
− Ước lượng trạng thái sạc của pin (Battery state of charge (SoC) estimation)
− Giao diện tương tác với máy tính bằng não (Brain–computer interface)
− Định vị chuyển động (Dynamic positioning)
− Các ứng dụng trong kinh tế, đặc biệt là kinh tế vĩ mô, time series, và econometrics
− Hệ thống dẫn đường quán tính (Inertial guidance system)
− Theo dõi bằng radar (Radar tracker)
− Hệ thống định vị vệ tinh (Satellite navigation systems)
− Dự báo thời tiết (Weather forecasting)
− Hệ thống định vị (Navigation Systems)
− Mô hình hóa 3 chiều (3D-Modelling)
Ở Việt Nam có một số ứng dụng như:
− Ứng dụng lọc Kalman trong phân tích biến dạng nhà cao tầng do bức xạ nhiệt mặt trời
− Cải thiện chất lượng truyền động không đồng bộ bằng cấu trúc tách kênh trực tiếp sử dụng kalman filter để quan sát từ thông.
− Ứng dụng Kalman Filter cho dự báo nhiệt độ 2m từ sản phẩm mô hình HRM.
− Hệ thống dẫn đường quán tính INS/GPS.
− Sử dụng bộ lọc Kalman kết hợp với thuật toán bám ảnh Camshift nhằm nâng cao chất lượng bám trong các hệ thống robot tự động tìm kiếm và bám bắt mục tiêu.
III MÔ PHỎNG BỘ LỌC KALMAN TRÊN MATLAB
Cho bài toán như sau: có một thông số đưa về từ cảm biến, tuy nhiên thông số này
chịu tác động của nhiễu (nguồn có thể là từ nhiễu của quá trình, nhiễu đo lường, nhiễu