Causal filter
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 non-causal, 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 formula_1 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 as the product of the 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. Example. The following definition is a moving (or "sliding") average of input data formula_2. A constant factor of 1/2 is omitted for simplicity: where "x" could represent a  spatial coordinate, as in image processing. But if formula_4 represents time formula_5, then a moving average defined that way is non-causal (also called "non-realizable"), because formula_6 depends on future inputs, such as formula_7. A realizable output is which is a delayed version of the non-realizable output. Any linear filter (such as a moving average) can be characterized by a function "h"("t") called its impulse response. Its output is the convolution In those terms, causality requires and general equality of these two expressions requires "h"("t") = 0 for all "t" < 0. Characterization of causal filters in the  frequency domain. Let "h"("t") be a causal filter with corresponding Fourier transform "H"(ω). Define the function which is non-causal. On the other hand, "g"("t") is Hermitian and, consequently, its Fourier transform "G"(ω) is real-valued. We now have the following relation where Θ("t") is the Heaviside unit step function. This means that the Fourier transforms of "h"("t") and "g"("t") are related as follows where formula_14 is a Hilbert transform done in the frequency domain (rather than the time domain). The sign of formula_14 may depend on the definition of the Fourier Transform. Taking the Hilbert transform of the above  equation yields this relation between "H" and its Hilbert transform: