Tôi bị mắc kẹt trong việc mô hình hóa một mô hình hệ thống, tức là lấy vectơ trạng thái và vectơ đầu vào của tôi. Tôi đoán là vị trí và vận tốc là vectơ trạng thái và gia tốc là vectơ đầu vào. Dự đoán thứ 2 của tôi là cả ba đại lượng đều ở vectơ trạng thái và không có vectơ đầu vào.
Vậy ... vectơ trạng thái là gì và vectơ đầu vào trong trường hợp của tôi là gì?
-
Thông tin bổ sung:
Tôi lấy số đo từ cảm biến vị trí và cảm biến gia tốc. Mọi thứ đang diễn ra trong 1D, ví dụ trên một đường thẳng. Tôi muốn hợp nhất các bài đọc này (và loại bỏ nhiễu) để có được ước tính vận tốc cho mỗi dấu thời gian.
Các phương trình này mô tả hệ thống; Tôi không chắc chắn nếu họ mô hình đúng mặc dù. Nếu tôi hiểu chính xác thì có thể dự đoán rằng gia tốc là không đổi (mặc dù trong thực tế nó thay đổi) - bởi vì ma trận hiệp phương sai quá trình sửa chữa giả định này (phải không?).
Tôi cũng có một số dữ liệu mẫu để làm việc (đơn giản là các giá trị đầu vào không gây ồn ở đây):
time pos acc what I should get as output (velocity)
[0.0s] 0.000, -0.000 | 18.850
[0.1s] 1.885, -0.113 | 18.850
[0.2s] 3.768, -0.227 | 18.839
[0.3s] 5.650, -0.340 | 18.816
[0.4s] 7.528, -0.452 | 18.782
[0.5s] 9.401, -0.565 | 18.737
BỔ SUNG 2:
Để giao tiếp tốt hơn, tôi đang tạo một câu trả lời mới nhưng nên được coi là một nhận xét cho câu trả lời đầu tiên. Jason bạn đã giúp tôi rất nhiều và tôi thực sự biết ơn thời gian của bạn. Tôi vẫn có vấn đề với điều này mặc dù - kết quả từ Bộ lọc Kalman không như mong đợi. Có thể bạn tìm thấy thời gian xin vui lòng xem lại sau đây, cảm ơn. Tôi đã nợ bạn một hoặc hai cốc bia (hoặc cà phê nếu bạn thích) - nếu bạn có paypal liên hệ với tôi trên primoz [at] codehunter.eu :)
Tôi đã thực hiện mô hình Jason đã đề xuất trong câu trả lời đầu tiên. Tôi đã thêm jerk là biến trạng thái thứ 4. Sau nhiều giờ xem xét tôi quyết định quay lại đây để được giúp đỡ. Các giá trị tôi nhận được từ KF không như mong đợi. Bảng dưới đây biểu thị dữ liệu từ 10 lần lặp đầu tiên của thuật toán. Lưu ý cách giật tăng mỗi lần bước do đó làm cho các ước tính khác sai. Sau một giây, sự khác biệt giữa gia tốc thực và ước tính là hơn 1m / s² (xem bảng, hàng cuối cùng)!
real measured estimated real
time pos acc pos acc pos acc jerk vel[!] velocity
0.0 0.000 -0.000 -0.040 0.030 | -0.300 -0.060 0.000 18.850 <--> 18.850
0.1 1.885 -0.113 1.965 -0.153 | 1.585 -0.061 -0.006 18.844 <--> 18.844
0.2 3.768 -0.227 3.778 -0.247 | 3.469 -0.066 -0.035 18.835 <--> 18.827
0.3 5.650 -0.340 5.750 -0.370 | 5.351 -0.090 -0.122 18.815 <--> 18.799
0.4 7.528 -0.452 7.358 -0.452 | 7.228 -0.152 -0.291 18.769 <--> 18.759
0.5 9.401 -0.565 9.251 -0.555 | 9.094 -0.282 -0.574 18.673 <--> 18.708
0.6 11.269 -0.677 11.309 -0.717 | 10.938 -0.518 -1.006 18.494 <--> 18.646
0.7 13.130 -0.788 13.260 -0.758 | 12.752 -0.840 -1.490 18.233 <--> 18.573
0.8 14.983 -0.899 15.043 -0.949 | 14.520 -1.286 -2.096 17.854 <--> 18.488
0.9 16.827 -1.009 16.977 -1.089 | 16.235 -1.838 -2.770 17.362 <--> 18.393
1.0 18.661 -1.118 18.831 -1.168 | 17.890 -2.477 -3.476 16.762 <--> 18.287
Ma trận của tôi ở đây:
Điều gì gây ra sự bổ sung này trong mỗi dấu thời gian cho giật ? Có bất kỳ ma trận của tôi sai?
Điều tương tự cũng xảy ra với giải pháp đầu tiên (chỉ có 3 mô hình trạng thái) - khả năng tăng tốc không thay đổi như mong muốn.
EDIT CUỐI:
Cuối cùng tôi đã xoay sở để làm cho nó hoạt động. Tôi không chắc chắn nếu có lỗi triển khai hoặc ma trận P & Q sai.