In
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, and scientific measurements. Signal processing techniq ...
, a causal filter is a
linear and time-invariant causal system
In control theory, a causal system (also known as a physical or nonanticipative system) is a system where the output depends on past and
current inputs but not future inputs—i.e., the output y(t_) depends only on the input x(t) for values of t \ ...
. The word ''causal'' indicates that the filter output depends only on past and present inputs. A
filter
Filter, filtering or filters may refer to:
Science and technology
Computing
* Filter (higher-order function), in functional programming
* Filter (software), a computer program to process a data stream
* Filter (video), a software component tha ...
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
comes out slightly later. A common design practice for
digital filter
In signal processing, a digital filter is a system that performs mathematical operations on a sampled, discrete-time signal to reduce or enhance certain aspects of that signal. This is in contrast to the other major type of electronic filter, t ...
s 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
In signal processing and statistics, a window function (also known as an apodization function or tapering function) is a mathematical function that is zero-valued outside of some chosen interval, normally symmetric around the middle of the inte ...
.
An example of an anti-causal filter is a
maximum phase
In control theory and signal processing, a linear, time-invariant system is said to be minimum-phase if the system and its inverse are causal and stable.
The most general causal LTI transfer function can be uniquely factored into a series of a ...
filter, which can be defined as a
stable
A stable is a building in which livestock, especially horses, are kept. It most commonly means a building that is divided into separate stalls for individual animals and livestock. There are many different types of stables in use today; the ...
, anti-causal filter whose inverse is also stable and anti-causal.
Example
The following definition is a moving (or "sliding") average of input data
. A constant factor of 1/2 is omitted for simplicity:
:
where ''x'' could represent a spatial coordinate, as in image processing. But if
represents time
, then a moving average defined that way is non-causal (also called ''non-realizable''), because
depends on future inputs, such as
. 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
In signal processing and control theory, the impulse response, or impulse response function (IRF), of a dynamic system is its output when presented with a brief input signal, called an Dirac delta function, impulse (). More generally, an impulse ...
. Its output is the
convolution
In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions ( and ) that produces a third function (f*g) that expresses how the shape of one is ...
:
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 {{Short description, none
Numerous things are named after the French mathematician Charles Hermite (1822–1901):
Hermite
* Cubic Hermite spline, a type of third-degree spline
* Gauss–Hermite quadrature, an extension of Gaussian quadrature meth ...
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
is a
Hilbert transform
In mathematics and in signal processing, the Hilbert transform is a specific linear operator that takes a function, of a real variable and produces another function of a real variable . This linear operator is given by convolution with the functi ...
done in the frequency domain (rather than the time domain). The sign of
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:
:
References
*
*
{{DEFAULTSORT:Causal Filter
Signal processing
Filter theory