# Applying a high-pass filter on constant signal

I recently implemented a Butterworth high-pass filter (2nd order). Everything seems to work fine, except that I have a question when applying such a filter to a constant signal. As there are no high-frequency components in a constant signal, I would expect the filter to yield a constant 0 signal.

In the plots below are my results. There seems to be ripple'' in the first couple of frames before the high-pass filtered signal (correctly) converges to 0.

Is this a logical result from applying a Butterworth high-pass filter on a constant signal, or might there be a bug in my code?

EDIT: I've created the same filter in Octave, resulting in the same output. This indicates that we're indeed looking at the step response, as Paul R. indicates.

Octave output

• You should probably delete your original question from StackOverflow, since cross-posting is frowned upon in the StackExchange community. – Paul R May 22 '15 at 14:36
• Indeed it is what is expected. You could try filtfilt if you really want to, but that is only for an off-line processing. – jojek May 22 '15 at 15:00
• This is called "transient response" (because there's actually a change in your input signal: a step). This transient response dies out and what remains is the steady state response, which is - as expected - zero. – Matt L. May 22 '15 at 16:13