2012-03-16 45 views
7

Để nhận dữ liệu chính xác hơn từ GPS, bộ lọc Kalman đang được đề xuất. Nhưng tôi không thể tìm thấy bất kỳ hướng dẫn làm thế nào để thực hiện Kalman Filter cho GPS, android.Bộ lọc Kalman cho GPS android

+1

Tnx cho câu hỏi, nhưng hãy xem xét câu hỏi này lớp học trắc địa của người nhận được khuyến khích. – softghost

Trả lời

6

Có rất nhiều thứ bạn có thể tìm thấy thông qua Google và Wikipedia, nhưng có trực giác cơ bản có thể hữu ích.

Về cơ bản, một bộ lọc Kalman có nghĩa là liên tục áp dụng một quá trình gồm hai bước:

  1. Hãy đoán
  2. Sử dụng một phép đo để cập nhật đoán

lọc Một Kalman chính thức hóa một ý tưởng đơn giản : khi bạn biết bạn đang đi nhanh như thế nào, bạn có thể dự đoán vị trí địa lý của mình từ vị trí GPS được báo cáo lần cuối và sau đó cập nhật khi có báo cáo GPS mới.

Chúng tôi sẽ nói về hai biến ở đây: có nghĩa là, đó là dự đoán tốt nhất của bạn và số không chắc chắn, thể hiện độ chính xác của phỏng đoán đó. Xét về GPS, bạn sẽ nói về vị trí GPS và lề lỗi (ví dụ: 10 mét).

Với mỗi lần cập nhật bạn làm, bạn tăng sự không chắc chắn của mình một chút vì bạn không thực sự chắc chắn rằng vận tốc không thay đổi. Khi có một phép đo mới, bạn cập nhật vị trí và độ chắc chắn.

Giá trị trung bình và không chắc chắn có thể được biểu diễn dưới dạng một đường cong Bell (phân phối chuẩn), với biến trên trục X và xác suất của nó có giá trị trên trục Y:

Normal distribution

Ở đây µ (mu) là trung bình và σ (sigma) là sự không chắc chắn. Bất kỳ đường cong như vậy có thể được mô tả bởi hai giá trị này. Bí quyết là bạn có thể thực sự có nhiều đường cong chuông (dự đoán và đo lường của bạn) và có được một đường cong mới thể hiện kiến ​​thức kết hợp mà bạn sẽ thực hiện khi nhận được vị trí GPS mới sau khi đã thực hiện một số dự đoán. Bạn sẽ tìm thấy toán học này trên Wikipedia và các trang web khác.

+0

Kalman là chuyển động tuyến tính như tôi đã hiểu. Nhưng Không thể nói dữ liệu GPS như vậy. Trong trường hợp của tôi, tôi có thể chuyển đổi dữ liệu gps thành tọa độ XY và sau đó lọc kalman và sau đó lại chuyển đổi chúng? – Marlio

+0

@Marlio có tất nhiên bạn có thể chuyển đổi tọa độ được đưa ra (vĩ độ, kinh độ) thành mặt phẳng Descartes. Mỗi ứng dụng Bản đồ thực hiện điều này trong khi hiển thị vị trí trên màn hình phẳng của bạn. Nhiệm vụ này được gọi là "chiếu". – AlexWien

6

Dữ liệu GPS đã được lọc Kalman nặng nề. Điều này được thực hiện bên trong bộ thu GPS. Không mong đợi độ lợi chính xác ở vị trí (lat/lon) nếu bạn tạo bộ lọc kalman của riêng bạn. Hơn nữa, bạn không có thông tin mà bộ thu GPS bên trong có. Nó cung cấp bộ lọc kalman nội bộ 1000 lần/giây, trước khi nó xuất ra một vị trí.

Trong bộ lọc xử lý bài đăng của riêng bạn, bạn có thể có một bản nhạc mượt mà hơn (liên quan đến hình ảnh hóa các vị trí). Nhưng mượt mà hơn là không chính xác hơn, chỉ dễ chịu hơn để xem.

Một chủ đề khác là liệu vị trí GPS có khả dụng trong thời gian thực hay không, ví dụ: hiển thị vị trí hiện tại trên màn hình. Nếu bạn muốn làm mịn các bài hát của bạn sau đó (không theo thời gian thực), bạn có thể thành công, nhưng tôi sẽ không sử dụng bộ lọc kalman cho trường hợp đó. Bộ lọc kalman thích hợp cho lọc thời gian thực, để xử lý bài đăng, bạn có thể thử một trung bình trượt với bộ lọc cửa sổ hình tam giác (dễ triển khai, trong khi kalman rất komplex)

+0

Điều gì về việc sử dụng bộ lọc kalman trên tất cả các tín hiệu đến từ Android? ví dụ. Vị trí từ Tháp di động, Vị trí từ GPS và Vị trí từ Điểm phát sóng Wifi .. Bộ lọc kalman có lợi trong trường hợp đó không? – oliw

+0

Không, nếu bạn có gps, thì bạn không cần tháp di động hoặc các vị trí WLAN. Đây là 3 kỹ thuật định vị khác nhau với nhiều độ chính xác khác nhau. GPS là chính xác hơn nhiều so với bất kỳ người khác, vì vậy nếu bạn có GPS, bạn có thể bỏ qua những người khác. Có thể sử dụng các vị trí mạng di động và mạng WLAN, ví dụ: để tải dữ liệu bản đồ trong khi vẫn chưa có GPS. Nhưng không có benfefit trong kalman lọc tất cả 3 với nhau. – AlexWien

+0

Nguồn cập nhật vị trí thay đổi theo thời gian, đôi khi chúng là GPS, đôi khi không. Dự án của tôi gặp khó khăn khi sau một thời gian cập nhật GPS bản cập nhật tiếp theo là bản cập nhật vị trí tháp tế bào không chính xác mơ hồ. Tôi đã hy vọng tôi có thể sử dụng Bộ lọc Kalman để giảm thiểu hiệu ứng mà bản cập nhật không chính xác có trên các cập nhật vị trí tiếp theo. – oliw