1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bộ lọc kalmanfilter xử lý tín hiệu số

32 498 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 0,92 MB

Nội dung

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 1

Giả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 2

MỤC LỤC

Trang 3

DANH MỤC HÌNH VẼ

Trang 4

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

I 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 7

1.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 8

1.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 9

Vậ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 10

Hì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

) 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 11

Hì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 12

củ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 xy

(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 13

2 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 xy

(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 14

ban đầ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 15

là 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 16

k 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 17

Hiệp phương sai ước lượng dự đoán

Trang 18

Trong đó

' 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 19

là độ 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 20

Hiệp phương sai độ lệch đo lường k 1

Trang 21

Mụ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 22

2.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 23

1| |

ˆk k k ˆk k k k

(2.29)Hiệp phương sai ước lượng dự đoán:

Trang 24

Hì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 25

phá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

Ngày đăng: 16/12/2016, 08:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w