Skip to content

Commit 3cf659d

Browse files
committed
update docs and tutorial
1 parent c49febd commit 3cf659d

3 files changed

Lines changed: 75 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ In the directory organization above:
7070
algorithms are implemented in the `algorithms`:
7171

7272
* Weighted Least Squares
73+
* Extended Kalman Filter
7374
* Calculating pseudorange residuals
7475
* The data parsers in the `parsers` directory allow for loading
7576
GNSS data into `gnss_lib_py`'s unifying `NavData` class.

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ In the directory organization above:
7979
algorithms are implemented in the :code:`algorithms`:
8080

8181
* Weighted Least Squares
82+
* Extended Kalman Filter
8283
* Calculating pseudorange residuals
8384
* The data parsers in the :code:`parsers` directory allow for loading
8485
GNSS data into :code:`gnss_lib_py`'s unifying :code:`NavData` class.

notebooks/tutorials/algorithms.ipynb

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"metadata": {},
4848
"outputs": [],
4949
"source": [
50-
"state = solve_wls(derived_data)"
50+
"state_wls = solve_wls(derived_data)"
5151
]
5252
},
5353
{
@@ -65,7 +65,77 @@
6565
"metadata": {},
6666
"outputs": [],
6767
"source": [
68-
"plot_map(state)"
68+
"plot_map(state_wls)"
69+
]
70+
},
71+
{
72+
"cell_type": "markdown",
73+
"id": "c68a3316",
74+
"metadata": {},
75+
"source": [
76+
"# Extended Kalman Filter"
77+
]
78+
},
79+
{
80+
"cell_type": "code",
81+
"execution_count": null,
82+
"id": "a7bf5bfc",
83+
"metadata": {},
84+
"outputs": [],
85+
"source": [
86+
"from gnss_lib_py.parsers.android import AndroidDerived2021\n",
87+
"from gnss_lib_py.algorithms.gnss_filters import solve_gnss_ekf\n",
88+
"from gnss_lib_py.utils.visualizations import plot_map"
89+
]
90+
},
91+
{
92+
"cell_type": "code",
93+
"execution_count": null,
94+
"id": "c3b26664",
95+
"metadata": {},
96+
"outputs": [],
97+
"source": [
98+
"# load Android Google Challenge data\n",
99+
"!wget https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/data/unit_test/android_2021/Pixel4XL_derived.csv --quiet -O \"Pixel4XL_derived.csv\"\n",
100+
"derived_data = AndroidDerived2021(\"Pixel4XL_derived.csv\", remove_timing_outliers=False)"
101+
]
102+
},
103+
{
104+
"cell_type": "markdown",
105+
"id": "0387e03e",
106+
"metadata": {},
107+
"source": [
108+
"Solve for the Weighted Least Squares position estimate simply by passing the measurement data."
109+
]
110+
},
111+
{
112+
"cell_type": "code",
113+
"execution_count": null,
114+
"id": "2615edfb",
115+
"metadata": {
116+
"scrolled": false
117+
},
118+
"outputs": [],
119+
"source": [
120+
"state_ekf = solve_gnss_ekf(derived_data)"
121+
]
122+
},
123+
{
124+
"cell_type": "markdown",
125+
"id": "63c71960",
126+
"metadata": {},
127+
"source": [
128+
"Plot the ECEF x and ECEF y computed position estimate of the receiver"
129+
]
130+
},
131+
{
132+
"cell_type": "code",
133+
"execution_count": null,
134+
"id": "336e4a0f",
135+
"metadata": {},
136+
"outputs": [],
137+
"source": [
138+
"plot_map(state_ekf)"
69139
]
70140
},
71141
{
@@ -103,7 +173,7 @@
103173
"metadata": {},
104174
"outputs": [],
105175
"source": [
106-
"solve_residuals(galileo_data, state, inplace=True)"
176+
"solve_residuals(galileo_data, state_wls, inplace=True)"
107177
]
108178
},
109179
{

0 commit comments

Comments
 (0)