I have a dataset which contains a large number of time-series which have been filtered with acausal Butterworth filters. For a real-time application, I can only use causally filtered data. Is it possible to turn the output of an acausal Butterworth filter into what would have been obtained if the original time-series had been run through a causal Butterworth filter? (I do not have the original, unfiltered, time-series)

I do know the order of the filter that was applied, the corner freuquencies, and some parameter 'nroll' of which I don't know what it is ... (nroll is usually equal 2.5)

  • $\begingroup$ You mean that you want to keep the frequency response identical, but shift the phase so that it is equal to the output of a minimal-phase filter? $\endgroup$ – endolith Sep 26 '13 at 23:45
  • $\begingroup$ yes, that's exactly my goal $\endgroup$ – coucou Sep 28 '13 at 0:05
  • $\begingroup$ Do you know the order and cutoff of the filters that were used? $\endgroup$ – endolith Sep 28 '13 at 0:29
  • $\begingroup$ Not sure if you mean corner frequencies with 'cutoff'? $\endgroup$ – coucou Sep 29 '13 at 1:10
  • $\begingroup$ Yes, that's what I mean. Do you know the properties of the filters that were used? $\endgroup$ – endolith Sep 29 '13 at 5:10

This is possible, as long as you know the filter which was applied to the data in the first place.

Assuming that the original acausal filter is $H_a(\omega)$ and your filtered data is $Y_a(\omega)$, then the original data $X(\omega)$ can be retrieved by inversely applying the filter to the data: \begin{equation} X(\omega) = \frac{Y_a(\omega)}{H_a(\omega)} \end{equation}

This is simply a re-arrangement of the equation which can be used to describe the initial filtering operation: \begin{equation} Y_a(\omega) = X(\omega) H_a(\omega) \end{equation}

I've illustrated the concept using frequency domain notation, but the concept is the same for the time domain. Depending upon your acausal filter, you may encounter some problems inverting it, I don't think this will be an issue in this case.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.