Tôi đang cố gắng làm mịn dữ liệu tôi nhận được từ API thiết bịOrientation để tạo ứng dụng Google Cardboard trong trình duyệt.Triển khai bộ lọc Kalman để làm mịn dữ liệu từ deviceOrientation API
Tôi đang truyền dữ liệu gia tốc kế thẳng vào vòng quay máy ảnh ThreeJs nhưng chúng tôi đang nhận được rất nhiều nhiễu trên tín hiệu khiến màn hình bị rung.
Có người đề nghị một bộ lọc Kalman là cách tốt nhất để tiếp cận làm mịn tiếng ồn xử lý tín hiệu và tôi thấy thư viện Javascript đơn giản này trên GitHub
https://github.com/itamarwe/kalman
Tuy nhiên nó thực sự thắp sáng trên tài liệu.
Tôi hiểu rằng tôi cần tạo mô hình Kalman bằng cách cung cấp Vector và 3 Ma trận làm đối số và sau đó cập nhật mô hình, một lần nữa với vectơ và ma trận làm đối số trong khung thời gian.
Tôi cũng hiểu rằng phương trình lọc Kalman có một số phần riêng biệt: vị trí ước tính hiện tại, giá trị tăng Kalman, số đọc hiện tại từ API định hướng và vị trí ước tính trước đó.
Tôi có thể thấy rằng một điểm trong không gian 3D có thể được mô tả dưới dạng Vector sao cho bất kỳ giá trị vị trí nào, chẳng hạn như vị trí ước tính hoặc đọc hiện tại có thể là Vector.
Điều tôi không hiểu là cách các phần này có thể được dịch sang Ma trận để tạo thành các đối số cho thư viện Javascript.
Vâng, công bằng là thư viện hoàn toàn bị ghi lại. Điều đó sẽ không được chấp nhận nếu anh/cô ấy/cô ấy làm việc cho tôi! Thành thật mà nói, tôi sẽ cố gắng liên lạc với tác giả và, nếu điều đó không thành công, hãy sử dụng cái gì khác. –
Đã thêm một vấn đề vào repo github với hy vọng họ có thể thương hại tôi. Tôi giả sử nếu xử lý tín hiệu là điều của bạn, điều này có lẽ là hiển nhiên rõ ràng nhưng tôi bị mất một chút về mục đích của Ma trận. Tôi tự hỏi liệu Matrix có biểu diễn bản dịch giữa các trạng thái thời gian hay không. Vì vậy, thay vì vị trí hiện tại đại diện như một vectơ, bạn đại diện cho vị trí hiện tại như một bản dịch giữa việc đọc thực tế và đọc được thực hiện trong trạng thái thời gian qua? –