# Finite Difference Estimation for error propagation

For a complex system where symbolic computation of the jacobian is challenging, is estimating the jacobian via finite difference a viable option?

To be explicit I'm mostly interested in playing around with IMU currently and some of the theory surrounding IMU error propagation and Lie algebra is a bit more than I want to get into currently(though I'm reading a paper and plan on asking some questions on it). I'm considering evolving the system model using perturbations and applying numerical differentiation to estimate the Jacobian as a way to cheat having to learn some of the theory.

• For differentiating from finite and uniform samples, trigonometric differentiation (near bottom) is an excellent option. Jan 15, 2023 at 11:59

is estimating the jacobian via finite difference a viable option?

This will depend a lot on your data, requirements and sample rate.

The transfer function of time continuous differentiator is $$-j\omega$$. That's clearly not bandlimited (it's more of the opposite), so it can't be sampled without significant aliasing.

The transfer function of a one-sample difference $$y[n] = x[n]-x[n-1]$$ is

$$H(\omega) = 1-e^{-j\omega T} = -j\sin(\omega T/2) \frac{e^{-j\omega T/2}}{2}$$

This only matches roughly at low frequencies (where $$\sin(x) \approx x$$) and even then it has this annoying half sample delay added on top.

Numerical differentiation is tricky: https://en.wikipedia.org/wiki/Numerical_differentiation