I have a sensor producing bandlimited data at a predictable periodic rate, corrupted by IID white noise (at least over relatively short periods of time). There is also a slowly time-varying bias, which can safely be ignored as it is several orders of magnitude smaller than the white noise.

I want to numerically differentiate the sensor data. The estimate must be causal. Wikipedia has a nice page on the topic along with filter coefficients for deterministic functions.

Is this set of coefficients good in the presence of noise, or is there a better way to perform this estimate? What factors will the new method depend on?


Ideally, the method will be computationally cheap as it will be run at a high rate on an embedded platform ...


1 Answer 1


I have used the algorithm described in this paper with great success.

This method uses Tikhonov regularization of the total variation of the signal. It is parameterized, so you can easily adjust the sensitivity as needed.

  • $\begingroup$ So, if I understand the thrust of the paper, it's attempting to find some function that, when integrated, minimizes the difference between it and the original function (i.e. data)? $\endgroup$
    – Damien
    Commented Aug 27, 2012 at 11:10
  • $\begingroup$ In a manner of speaking, yes. It's actually evolving a function with respect to a fictitious time variable to fit the data in such a way as to minimize the total variation. $\endgroup$
    – Emily
    Commented Aug 27, 2012 at 12:49
  • $\begingroup$ Based on your edit, this probably will not work; it is a batch algorithm and not terribly fast. $\endgroup$
    – Emily
    Commented Aug 27, 2012 at 13:23
  • $\begingroup$ That's more or less what I thought of the paper too. Perhaps it may work over a finite period of time (say, the last N samples), but it still missed the "cheap" remark. Apologies for not listing that criterion earlier. $\endgroup$
    – Damien
    Commented Aug 27, 2012 at 21:58
  • 1
    $\begingroup$ Yes, google "Chambolle's Algorithm" or "An Algorithm for Total Variation Minimization and Applications". It is designed for 2D image processing, but I have it running on images about 250x250 remarkably quickly. It should be easy to adapt to the 1-D case; in fact the paper says the 1-D case is trivially easy. I intend to do some experiments with it in the next week or so; I'll post an answer if I get good results. $\endgroup$
    – Emily
    Commented Sep 28, 2012 at 13:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .