|
47 | 47 | "metadata": {}, |
48 | 48 | "outputs": [], |
49 | 49 | "source": [ |
50 | | - "state = solve_wls(derived_data)" |
| 50 | + "state_wls = solve_wls(derived_data)" |
51 | 51 | ] |
52 | 52 | }, |
53 | 53 | { |
|
65 | 65 | "metadata": {}, |
66 | 66 | "outputs": [], |
67 | 67 | "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)" |
69 | 139 | ] |
70 | 140 | }, |
71 | 141 | { |
|
103 | 173 | "metadata": {}, |
104 | 174 | "outputs": [], |
105 | 175 | "source": [ |
106 | | - "solve_residuals(galileo_data, state, inplace=True)" |
| 176 | + "solve_residuals(galileo_data, state_wls, inplace=True)" |
107 | 177 | ] |
108 | 178 | }, |
109 | 179 | { |
|
0 commit comments