Added explanation for system dynamics matrix.

This commit is contained in:
Roger Labbe 2016-01-02 18:07:00 -08:00
parent fee08bfc7b
commit 09406a6419

View File

@ -329,7 +329,7 @@
"\n",
"$$ \\dot{\\mathbf x} = \\mathbf{Ax}$$\n",
"\n",
"That is, we have a set of linear equations that describe the dynamics of the system. Now we need to model the noise. We will call that $\\mathbf w$, and add it to the equation. \n",
"$\\mathbf A$ is known as the *systems dynamics matrix* as it describes the dynamics of the system. Now we need to model the noise. We will call that $\\mathbf w$, and add it to the equation. \n",
"\n",
"$$ \\dot{\\mathbf x} = \\mathbf{Ax} + \\mathbf w$$\n",
"\n",
@ -366,7 +366,7 @@
"\n",
"$$\\mathbf x_k = \\mathbf{Fx}_{k-1} + \\mathbf B_k\\mathbf u_k$$\n",
"\n",
"$\\mathbf F$ is the familiar *state transition matrix*, named due to its ability to transition the state from the previous time step to the current time step.\n",
"$\\mathbf F$ is the familiar *state transition matrix*, named due to its ability to transition the state from the previous time step to the current time step. It is very similar to the system dynamics matrix $\\mathbf A$. The difference is that the system dynamics matrix $\\mathbf A$ models a set of linear differential equations, and is continuous. $\\mathbf F$ is discrete, and represents a set of linear equations (not differential equations) which step transition $\\mathbf x_{k-1}$ to $\\mathbf x_k$ over a discrete time step $\\Delta t$. \n",
"\n",
"Normally finding this equation is quite difficult. The equation $\\dot x = v$ is the simplest possible differential equation and we trivially integrate it as:\n",
"\n",
@ -1554,9 +1554,11 @@
"\n",
"Starting in the Discrete Bayes chapter I used a Bayesian formulation for filtering. Suppose we are tracking an object. We define its *state* at a specific time as its position, velocity, and so on. For example, we might write the state at time $t$ as $\\mathbf x_t = \\begin{bmatrix}x_t &\\dot x_t \\end{bmatrix}^\\mathsf T$. \n",
"\n",
"When we take a measurement of the object we are measuring the state. Sensors are noisy, so the measurement is corrupted with noise. Clearly though, the measurement is determined by the state. That is, the object's state determines the measurement, the measurement does not determine the state. The state is the *input*, the measurement is the *output*.\n",
"When we take a measurement of the object we are measuring the state. Sensors are noisy, so the measurement is corrupted with noise. Clearly though, the measurement is determined by the state. That is, a change in state may change the measurement, but a change in measurement will not change the state.\n",
"\n",
"In filtering we are presented a set of measurements from time 0 to time $t$, $\\mathbf z_{0:t}$, and want to compute the corresponding states for those times, $\\mathbf x_{0:t}$. This is called *statistical inversion* because we are trying to compute the input from the output. \n",
"In filtering our goal is to compute an optimal estimate for a set of states $\\mathbf x_{0:t}$ from time 0 to time $t$. If we knew $\\mathbf x_{0:t}$ then it would be trivial to compute a set of measurements $\\mathbf z_{0:t}$ corresponding to those states. However, we receive a set of measurements $\\mathbf z_{0:t}$, and want to compute the corresponding states $\\mathbf x_{0:t}$. This is called *statistical inversion* because we are trying to compute the input from the output. \n",
"\n",
"Inversion is a difficult problem because there is typically no unique solution. For a given set of states $\\mathbf x_{0:t}$ there is only one possible set of measurements (plus noise), but for a given set of measurements there are many different sets of states that could have led to those measurements. This difficulty is compounded by the requirement to find the inverse function **blah - is this inversion statement true and complete revisit this whole paragraph**\n",
"\n",
"Recall Bayes Theorem:\n",
"\n",
@ -1815,7 +1817,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.0"
"version": "3.5.1"
}
},
"nbformat": 4,