From f74f06f46f1e61e6c5a5c4939b31bb276bfa8f3f Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Thu, 21 Apr 2022 13:19:07 +0200 Subject: [PATCH] Reorganize directory structure --- README.md | 6 ++---- {kalman_filter => examples}/__init__.py | 0 examples/__init__.pyc | Bin 0 -> 149 bytes {kalman_filter => examples}/gps_measurement.py | 11 ++++++----- examples/gps_measurement.pyc | Bin 0 -> 3375 bytes .../res}/29_03_2022_Unterreut_8_Karlsruhe.csv | 0 ...3_2022_Unterreut_8_Karlsruhe_angle_length.csv | 0 .../second_order_system.py | 10 +++++----- examples/second_order_system.pyc | Bin 0 -> 1480 bytes filter/__init__.py | 0 filter/__init__.pyc | Bin 0 -> 147 bytes {kalman_filter => filter}/kalman_filter.py | 2 +- filter/kalman_filter.pyc | Bin 0 -> 2343 bytes kalman_filter/__main__.py | 10 ---------- main.py | 11 +++++++++++ 15 files changed, 25 insertions(+), 25 deletions(-) rename {kalman_filter => examples}/__init__.py (100%) create mode 100644 examples/__init__.pyc rename {kalman_filter => examples}/gps_measurement.py (92%) create mode 100644 examples/gps_measurement.pyc rename {res => examples/res}/29_03_2022_Unterreut_8_Karlsruhe.csv (100%) rename {res => examples/res}/29_03_2022_Unterreut_8_Karlsruhe_angle_length.csv (100%) rename {kalman_filter => examples}/second_order_system.py (89%) create mode 100644 examples/second_order_system.pyc create mode 100644 filter/__init__.py create mode 100644 filter/__init__.pyc rename {kalman_filter => filter}/kalman_filter.py (98%) create mode 100644 filter/kalman_filter.pyc delete mode 100644 kalman_filter/__main__.py create mode 100644 main.py diff --git a/README.md b/README.md index 1ec8fef..23598ac 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,5 @@ $ pip install numpy matplotlib geopy From the root directory of this repository run ```bash -$ python -m kalman_filter -``` - -Which example is run can be changed in `kalman_filter/__main__.py` +$ python main.py +``` \ No newline at end of file diff --git a/kalman_filter/__init__.py b/examples/__init__.py similarity index 100% rename from kalman_filter/__init__.py rename to examples/__init__.py diff --git a/examples/__init__.pyc b/examples/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c08e9b9f27ae39ea72b0920c8b300371e8da9c8c GIT binary patch literal 149 zcmZSn%*&N-lbDpu00oRd+5w1*S%5?e14FO|NW@PANHCxg#dbh3{fzwFRQ<$~;{4L& zjGX*p{q)Qd{esGpjQqU#?8Kbh#Ju>l%$$Z0|Z2%jOB9Ex9XiJgexj~*mdl}lw$}*-o+RAmtdD`mfjC*OTkL(P6LbO#N zJ1c{JvU4&hGOLYp9%9^o@hdBg^eDh>*LSS&mgUtg|EB9{CtR=cVh`S4yl>%+9s|^f z+KMz$OmwK|^N*-)kXE#3P;9W~kZ`C}J43B^DbCRK_gAT%rGr;VXDEjL8JfYqcCIte zCi6VSV3MUcM{%BN%!JhD!$nd`0p7>EsdKa^bj(2UhK)_Q=k9%gjdBj!t?NEO+wt7G z3mc#p(IuCm%T6w{IXVjvG#noa5mlpo&He}-%f<#~vf~Ao7NpexnXP%N-;gyc46TEN z4ZCH>^&H=-J1L8(>1oX}z?GLO%ud9F!6W&4;LP&9z^|3@B>~Y5jOKTPx-)O-C}>u9 zy&#&exq7~Fpmzh`d?0}_!4p=^J1wi;@ElMyBD3yTQ8RSvuxAd`BjCigm{7rlG?OK< zs?jt6sk||yCX4}Eq7U2KBwM%wbLj!b~Ioye_9bRN_zOi*E7Wwt}Gt;OWCROx4wq=EQbz;kr^AlP?& zZR)^$P@e%NVwKqAXVuF_m8H+(WxK?~-y;2z^MY(o&J+#@r?woZ#8dDwY{1dy!v%Vx zPcg{Sj*%Rj>}kun?lMAxBbTQM94r2?q&(R@w7P~?Ipd zAJeo^U!<~N3`OjIMlv2q2+8u8@wpBj)dzK_i!XNYK%PoJz{KrAE&~|MK(n##ZpP&j zTq<>l%Rr3!m!;*nk7B6FBP1dw1&aGAE>b)|@gN=MsXa`s_c+_Y1y)NUuTgu1;$bN* zC}JbX-yvplm?6df>5=V#BfM*x(;D(HTjotjX*`%bJXD)Z4)=)jn0K>FX%Cu?iajTSZA1Df6jthp3bvj?HFkpP*~DR9<6SB^ z23eY_HSvsE6BJLJrdE<<%xW@W)ulSF))Cdz399329Z^kpsS>p`;tOZ@0!{5nN~b6y zm`-(EJ0t#^rg&OhJ4-g6GyJ5kouPQ9W5XobXK9@EK9|Vqu1s}T&UaT*EfB(CaT6TA zQNDm9yk5I_{iPo-eYkeDcKNTbzWe8=($#1Y_-<_uQJw6aL7O=;aTKVz*+q*wsy!1wN9;kPc)?k3 z>o5HKb4ALrXKg!PGz2~ged#vj>n4isByh=9A!U2C#O@cT+Me2g3VQo?TP zS$5quzMCBJ>!MlAjW7(tlIxf51d+?0NyYroG3d#P`v+=lR60)VMB1%e?Au1Vjak$q zj%k-;+EY)^lv!$pO{lP1(s86+Axh%051cTFDoiCkKGIG@*6lz`^Jz)r@?1Y^Sm=&AdGspS^bS}-jM zv>pIO>-a@M7lH9jz9LCZMVcEVcQBY@BGrU|Zw_4qx2?`1_qA4sc``{9K>fqYf_&~Q zh|OyP?+Uyra8+PM;7)}br3{mM5&WFi)~D!e literal 0 HcmV?d00001 diff --git a/res/29_03_2022_Unterreut_8_Karlsruhe.csv b/examples/res/29_03_2022_Unterreut_8_Karlsruhe.csv similarity index 100% rename from res/29_03_2022_Unterreut_8_Karlsruhe.csv rename to examples/res/29_03_2022_Unterreut_8_Karlsruhe.csv diff --git a/res/29_03_2022_Unterreut_8_Karlsruhe_angle_length.csv b/examples/res/29_03_2022_Unterreut_8_Karlsruhe_angle_length.csv similarity index 100% rename from res/29_03_2022_Unterreut_8_Karlsruhe_angle_length.csv rename to examples/res/29_03_2022_Unterreut_8_Karlsruhe_angle_length.csv diff --git a/kalman_filter/second_order_system.py b/examples/second_order_system.py similarity index 89% rename from kalman_filter/second_order_system.py rename to examples/second_order_system.py index 35d91c7..68e7f8f 100644 --- a/kalman_filter/second_order_system.py +++ b/examples/second_order_system.py @@ -1,5 +1,6 @@ -from .kalman_filter import * +from filter.kalman_filter import LinearKalmanFilter import matplotlib.pyplot as plt +import numpy as np """ @@ -24,7 +25,7 @@ The reset of the parameters are empirically determined """ -def simulate(): +def simulate(kalman_filter_t): # Simulation parameter definitions n_iterations = 500 @@ -52,7 +53,7 @@ def simulate(): # Simulation - f = KalmanFilter(x0, P0, H, Q, F, G) + f = kalman_filter_t(x0, P0, H, Q, F, G) for i in range(1, n_iterations): @@ -72,5 +73,4 @@ def simulate(): plt.plot(t, x_actual[:, 0]) plt.plot(t, x_kalman[:, 0]) plt.plot(t, x_measurement[:, 0]) - plt.show() - + plt.show() \ No newline at end of file diff --git a/examples/second_order_system.pyc b/examples/second_order_system.pyc new file mode 100644 index 0000000000000000000000000000000000000000..13edb6d062138875ebb93ce93ff83b43d9ce6d0e GIT binary patch literal 1480 zcmcIj&2AGh5FYO)X_IW4mQrX10**PLrUI!#B5IL91q7-fJs?#=t8I3hIP6b|9g(8V z0R>)w8@v&3!8^bmzL}K%NQE2T_2=<;{LPPT_eZUA`+jiHq2uOYe1LB50YdzWVxmOR zz9PkQhhm5NF6|d&8Pg)|mnd}UBhmgG8|*a-*sOn{H54R!3GiH}Q80WK#7U6u=-5WX z-3~AE+8p{rbh8Eb@HkOS1In&L69{ls6xk(9)K`?lpv0Ofj0+bjix(*oCIT!76@+;T z%Pa%K3JdHG%IXEw zzHjS07_`g4cU*&tbcF$(bdiDYWB2P9Zr`>W9%iU9Q97`^{5~3HMxB#13P0b`?qWzw;o2gW)zgP=3pIf$*;3}R4-aW8w<;MZX5fH(3`{6l#u zzO@`o>T5ik!0IeDLTGI0huT<_5I#2ipkqgH&A!IxCo?+B#Tola6qwO4N}|+Ce&Y=p zUTjFLPXu2I?g%~>YzrO=YFh=PHUK1Go6BX$+vF;P7CnAs?bWZa1=*d?9y;Vi>j`?wckW`DhU7p literal 0 HcmV?d00001 diff --git a/filter/__init__.py b/filter/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/filter/__init__.pyc b/filter/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f25053904fcff74e3ed1ddb94c9b22c6aa25509 GIT binary patch literal 147 zcmZSn%**xLA~7kM0SXv_v;zm`WgATsrrc}#rdVl z89DjI`stY^`URCG8Tonf*@-#1iFxs9nK>n?Mfy-GK0Y%qvm`!V52%O(Xn;*_eoARh MsvXFh5+G&(06}RY00000 literal 0 HcmV?d00001 diff --git a/kalman_filter/kalman_filter.py b/filter/kalman_filter.py similarity index 98% rename from kalman_filter/kalman_filter.py rename to filter/kalman_filter.py index 2ceb5de..af40a99 100644 --- a/kalman_filter/kalman_filter.py +++ b/filter/kalman_filter.py @@ -30,7 +30,7 @@ def identity_gen(A): # -class KalmanFilter: +class LinearKalmanFilter: def __init__(self, x0, P0, H, Q, F, G): self.x = x0 # Initial state self.P = P0 # Initial uncertainty diff --git a/filter/kalman_filter.pyc b/filter/kalman_filter.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f5308c62128d6dc2eca4985fb1c4504d6afd22b8 GIT binary patch literal 2343 zcmcImOK;Oa5Z+DVJfHFcnOe-DsWEpvNE=5T^!rWZYqkJ6Z~U- z0DRx9leG8XX2&zLJKmjdzOmcZ^(SOAPx2BEe6qT&Z2Hl7{*XrJ<6h zC{2~LRMJ*SK=YSUUv^<@H5zmfnf=AJ6Kkj(4U9J!_CADD>OiYw1Zg$tGY0zRi0+0u zXx1|$Y(5$=a3|v<1}%otE-Kf>EweU`@@V4PF!HR3@;%4XXT{-w0gmF;078kdub>V0 z%W*o4oGqvEeqP$)Ugn0?k=ri|^F7MPQDMGixl1R*`gY2>g_V+BacK6^;yfN`xx3Qm zb+@s|mZy+xA455n?S>%aGo_p-3vjOj4WBc^ea;y)pLj?ul(Z!GBrRO#j$8n@-H)nN zQVxmH$}?WWL$i8AroG8M=V`YZ?jr1uS&>GQZ9(vz02sq77Z3d!!#;pWJ(tv+OM1>F z&n_^?vnx>HNGcu^Z;l0pp20X4&KM{S(#60OC=JY(cwh#iz-)^Wkj^8)X=lLW3qgK} z{3P;&$j>6*iF_|)c7)ZY`8T28k4JL*^e7}S;X1`R3esWa;IrDsWJTtTxdYvDQ>A;0 zznFCCVGtx?T_1=qScjHc>VgqGzvKt(`m?4&b^s6To3&0Y^D)0Qkm$pR42XC@ramp6#DA8BRh2PfbKkWp-8jThv{;i&tb7ct@v!Q zVX#~y+v0V#tUf`Nj*=HfQaWGCvvjkg9PxCMsIXOO)9?)aj2X}$Uf?8I{ZnKp^l<68 z3Rw#AZ9B$fMNu9`E-MRR%=QOIifo&>99MZdMhi!iqm?s;)SgyJG|6K35~^j>E4`&-Djck?Ky@1m zQ-YMn(KOH-_(@~w6I3I{;Z2I`5b{csB*M$|^(k&}0%N70DIVCmw0g@s4W-w$f9(-< zV~S{;8Y4V4W?UxI9A>zIIXS66^DUUmqlvbf&uGX_B94})Y3p9Mce&T{TS*5}6w`5a g