2008-12-01 29 views
6

Tôi đang sử dụng thiết bị GPS và máy tính di động để theo dõi chuyến đi của người đi bộ riêng lẻ. Tôi muốn trong thời gian thực "sạch" tín hiệu GPS đến để cải thiện độ chính xác của nó. Ngoài ra, sau khi thực tế, không nhất thiết trong thời gian thực, tôi muốn "khóa" các bản sửa lỗi GPS của cá nhân đến các vị trí dọc theo mạng lưới đường bộ. Có bất kỳ kỹ thuật, tài nguyên, thuật toán hoặc phần mềm hiện có nào để đề xuất ở cả hai mặt trước không?Làm sạch tín hiệu GPS & kết nối mạng lưới đường bộ

Một vài điều tôi đã cân nhắc về vệ sinh tín hiệu: - các bản sửa lỗi thả cho số nào. của vệ tinh = 0 - các bản sửa lỗi cho tốc độ cao bất thường (ví dụ: 600 mph)

Và về "khóa" trên mạng đường phố (mà tôi nghe được gọi là "khớp bản đồ"): - khóa đến cạnh mạng gần nhất dựa trên sai số bình phương gốc - khi các bản sửa lỗi ở xa mạng lưới đường, hãy nêu bật các điểm đó và cho phép người dùng sử dụng GUI (Trình mở trong trình duyệt Web) để kéo, chụp và thả vào mạng lưới đường bộ

Cảm ơn ý tưởng của bạn!

Trả lời

6

Tôi giả sử bạn muốn "làm sạch" dữ liệu của bạn để loại bỏ các lỗi sai gây ra bởi các bài đọc khó khăn. Đây là một quá trình dsp cơ bản. Có một số cách tiếp cận bạn có thể thực hiện, điều này phụ thuộc vào mức độ thông minh của bạn.

Ở mức cơ bản có, bạn chỉ có thể tìm các số liệu thực sự lớn, nhưng con số thực sự lớn là gì? Yeah 600mph là nhanh, nhưng không phải nếu bạn đang ở trong concorde. Trong khi bạn đang tìm kiếm một giá trị mà là "ra khỏi bình thường", bạn có hiệu quả cứng mã hóa "bình thường". Một cách tiếp cận tốt hơn là kiểm tra dữ liệu trong quá khứ để xác định những gì "bình thường" là, và sau đó tìm kiếm các sai lệch. Bạn có thể muốn xem xét tính toán phương sai của dữ liệu trên một cửa sổ cục bộ nhỏ và sau đó xem liệu z-score của dữ liệu hiện tại của bạn có lớn hơn ngưỡng nào đó không và nếu có, hãy loại trừ nó.

+1

Điểm tốt, nhưng vì anh ấy đang nói về việc sử dụng cho người đi bộ, tôi nghĩ tốc độ Concorde hơi quá mức ... – CMPalmer

+1

Vâng vâng, nhưng tôi chỉ đơn giản là minh họa một điểm. Anh ta có thể đặt giới hạn của mình ở 10mph, một giới hạn chấp nhận được khi đi bộ, nhưng sau đó nếu ai đó trên xe đạp hoặc ván trượt thì sao? Bạn không thể tạo ra giới hạn tùy ý bởi vì bạn bị ràng buộc để loại trừ một cái gì đó nhầm lẫn. Phân tích dữ liệu của bạn và tìm kiếm các mức tăng đột biến. –

4

Ngoài nhận xét của Andrew, bạn cũng có thể muốn xem xét các yếu tố nhiễu như đa kênh và cách chúng ảnh hưởng đến luồng dữ liệu GPS đến của bạn, ví dụ: HDOP trong dòng GSA của NMEA0183. Trong phần mềm điều khiển GPS của riêng tôi, tôi cho phép người dùng chỉ định tiêu chí loại bỏ đối với một loạt các tham số liên quan đến QA.

Tôi cũng có xu hướng làm việc trên nguyên tắc cửa sổ chuyển động trong lĩnh vực này, nơi bạn có thể xem xét từ chối dữ liệu đại diện cho tăng đột biến dựa trên dữ liệu xung quanh trong cùng một cửa sổ.

6

Một lưu ý: bạn nên sử dụng 3 làm vệ tinh tối thiểu, không phải 0. GPS cần ít nhất ba nguồn để tính vị trí nằm ngang. Mọi GPS tôi đã sử dụng đều bao gồm cờ trạng thái trong luồng dữ liệu; ít hơn 3 vệ tinh được báo cáo là dữ liệu "xấu" theo một cách nào đó.

Bạn cũng nên xem xét dữ liệu "tĩnh". Làm thế nào bạn sẽ xử lý đứng cho người đi bộ vẫn còn trong một khoảng thời gian? Có lẽ đang chờ tại một lối băng qua đường hoặc tương tác với một người bán hàng rong?

Tùy thuộc vào những gì bạn định làm với dữ liệu, bạn có thể cần phải chặn các điểm dữ liệu bổ sung đó hoặc trung bình chúng thành một điểm hoặc vị trí duy nhất.

6

Bạn đề cập đến điều này là dành cho theo dõi người đi bộ, nhưng bạn cũng đề cập đến mạng lưới đường. Người đi bộ có thể đi rất nhiều nơi mà một chiếc xe không thể, và, quả thực, có lẽ sẽ không nằm trên bất kỳ bản đồ nào bạn tìm thấy của một "mạng lưới đường bộ". Hầu hết các bản đồ đường phố không có những thứ như lối đi bộ trong công viên, lối mòn đi bộ đường dài, v.v. Đừng cho rằng "ngoài mạng lưới đường" có nghĩa là GPS không được sửa chữa chính xác.

4

Đọc posfix để xem tín hiệu có hợp lệ hay không (ở đâu đó trong câu $ GPGGA nếu bạn phân tích chuỗi NMEA thô). Nếu đó là 0, hãy bỏ qua tin nhắn. Bên cạnh đó bạn có thể xem xét sự kết hợp của HDOP và số lượng vệ tinh nếu bạn thực sự cần phải chắc chắn rằng tín hiệu là rất chính xác, nhưng trong những tình huống bình thường không cần thiết.

Tất nhiên nó không làm tổn thương để làm một số kiểm tra sự tỉnh táo trên tín hiệu GPS:

  • vĩ độ giữa -90..90;
  • kinh độ giữa -180..180 (hoặc E..W, N..S, 0..90 và 0..180 nếu bạn đang đọc chuỗi NMEA thô);
  • tốc độ từ 0 đến 255 (đối với ô tô thông thường);
  • khoảng cách đến các kết quả đo lường trước đó (dựa trên lat/lon) khớp với tốc độ chỉ định;
  • thời gian có thời gian hệ thống không lớn hơn x (trừ khi đồng hồ hệ thống không thể tin cậy hoặc dựa vào đồng bộ hóa GPS :-));

Để thực hiện khớp bản đồ, bạn về cơ bản lặp qua các đoạn đường của bạn và kiểm tra xem phân khúc nào có nhiều khả năng nhất cho vị trí, hướng, tốc độ và các kết quả phù hợp. Nếu bạn không làm một ứng dụng thời gian thực, hoặc nếu một sự chậm trễ trong phản hồi là chấp nhận được, bạn thậm chí có thể nhìn vào 'tương lai' để xem phân khúc nào có nhiều khả năng nhất.

Làm tất cả những điều đó đúng là bản thân nghệ thuật và không gian này ở đây quá ngắn để đi sâu vào nó. Thường rất khó để quyết định với sự tự tin 100% trên phân khúc đường ai đó cư trú. Ví dụ, nếu có 2 con đường song song gần bằng với vị trí hiện tại thì đó là vấn đề của các phỏng đoán sáng tạo.

Các vấn đề liên quan