I try to find that looks something like the red curve below and I am pretty clueless what is the best way. I tried first the Savitzky-Golay Filter, then I tried a simple fit with a second degree polynomial, then I tried a Hilbert transform to get the envelope, then I tried to sort out the peaks. Nothing really worked out, since the dips are just too dominant in the signal, but I am only interested in the path of the highs.
EDIT:
I implemented the idea from @Dan Boschen. The code in python looks like this:
def dc_nulling_filter(data):
x_hold = [0]*len(data)
alpha = 0.99
output = [0]*len(data)
for n in range(len(data)):
if abs(data[n]) < abs(output[n]):
x_hold[n] = abs(data[n])
else:
x_hold = x_hold[n-1]
output[n] = x_hold[n] - x_hold[n-1] + alpha*output[n-1]
plt.figure()
plt.plot(data)
plt.plot(output)
plt.show()
The results are as said by Dan Boschen look nearly the same as if I would implement a highpass-butterworth filter. In blue is the raw data in orange is the filter output.

