title: Remove unknown DC Offset from a non-periodic discrete time signal
body: <p>Is there some process that can determine / remove an unknown DC offset from a  non-periodic discrete time signal? </p>
  
  <p>The signal in in question has a sample rate of 25Hz and has harmonics of interest between 0.25 and 3 Hz.</p>
  
  <p>I have tried using highpass filters mixed results, first I used a  10th order guassian with Fc = 0Hz, this did a good job of removing the offset but it severly attenuated the AC aswell although it did leave the signal shape intact, next I used a 168th order equilripple with a stopband at 0Hz and passband at 0.25Hz, the phase shift was too severe and the signal shape too distorted, the distortion could probably be reduced if the pass-band was brought down to 0.1Hz but this would just further increase the phase shift which I need to keep to the very minimum.</p>
  
  <p>Before and after applying  x - LPF(x), as suggested by Paul R</p>
  
  <p><img src="https://i.stack.imgur.com/qBCoC.png" alt="enter image description here"></p>