I have the output from a narrow bandpass filter. I know the details of the filter completely. The filter removes noise but also adds some contamination to the output. How can I find the input corresponding to the output? I know that as a result of the filtering that information is lost. I know that low frequencies and high frequencies cannot be recovered. That's fine I just want the frequencies in the input corresponding to those within the bandpass filter. Here is a simple example (my actual case is a more complicated waveform with noise).
In the above (a) is the original time history and the output from the filter is (b). Then I have taken (b) and filtered it again to make (c) and then finally taken (c) and filtered it again to make (d). I feel I ought to be able to work out (c) from (d), and (b) from (c). I don't think I can completely work out (a) from (b) because the sharp start and end imply high frequencies which I will have lost in the filtering but I ought to be able to get close. It is interesting to note that there is a progressive change with each filtering as may be seen by examining the start and end in detail.
This question is similar and suggests that working in the frequency domain and dividing by the filter frequency response function is the way to go. However that would get the noise on the original signal back so it is more complicated. So how do I work out the input to the filter that corresponds most closely to the output I have?