In signal processing , a causal filter is a linear and time-invariant causal system . The word causal indicates that the filter output depends only on past and present inputs. A filter whose output also depends on future inputs is acausal . A filter whose output depends only on future inputs is anti-causal . Systems (including filters) that are realizable (i.e. that operate in real time ) must be causal because such systems cannot act on a future input. In effect that means the output sample that best represents the input at time t , comes out slightly later. A common design practice is to create a realizable filter by shortening and/or time-shifting a non-causal impulse response. If shortening is necessary, it is often accomplished as the product of the impulse-response with a window function .
http://en.wikipedia.org/wiki/Causal_filter