Causal filter
In signal processing, a causal filter is a linear time-invariant (LTI) causal system. The word causal indicates that the filter output depends only on past and present inputs. A filter whose output depends partly or fully on future inputs is non-causal (also, acausal), whereas 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 comes out slightly later.
A common design practice for digital filters 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 by defining the shortened impulse response as the product of the non-causal impulse-response with a window function.
An example of an anti-causal filter is a maximum phase filter, which can be defined as a stable, anti-causal filter whose inverse is also stable and anti-causal.