My input is x
and my filtered output is y
. The sampling rate of x
is Fs
. I create a low-pass Butterworth filter in MATLAB as follows.
[b,a]=butter(order,cutoff*(2/Fs));
y = filter(b,a,x);
Letting order
vary (cutoff
fixed at 20Hz) yields these outputs y
.
Letting cutoff
vary (order
fixed at 6) yields these outputs y
.
I have a few very rookie questions about this sort of filter.
- Why does the filter constrain
y
to equal zero at the first sample? - Why is there an initial ripple in
y
? - Why does the time-delay of
y
increase withorder
andcutoff
? - The time step between successive samples of
x
is1/Fs
. Is the time-step between successive samples ofy
also1/Fs
?
FYI, my goal in filtering x
is to remove high frequency noise above 20 Hz or so.