The "ringing" you are seeing is due to your first point being
non-zero. The filter is responding to the first point going from
zero to a non-zero value in one step. If you want to eliminate
this you can either:
1. Be sure your waveform starts with a zero value, either by
synching up the acquisition somehow or subtracting out the value of the
first point from the waveform and then adding it back in after the
filter.
or
2. Use a window function to assure the first point is always zero.
Randall Pursley