# Turn acausal Butterworth output into output of a causal Butterworth without input signal

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)

• 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? – endolith Sep 26 '13 at 23:45
• yes, that's exactly my goal – coucou Sep 28 '13 at 0:05
• Do you know the order and cutoff of the filters that were used? – endolith Sep 28 '13 at 0:29
• Not sure if you mean corner frequencies with 'cutoff'? – coucou Sep 29 '13 at 1:10
• Yes, that's what I mean. Do you know the properties of the filters that were used? – endolith Sep 29 '13 at 5:10

## 1 Answer

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.