In
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing '' signals'', such as sound, images, and scientific measurements. Signal processing techniques are used to optimize transmissions, ...
, 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 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 filte ...
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 in ...
.
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
. 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 impulse (). More generally, an impulse response is the reac ...
. Its output is the
convolution
In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions ( and ) that produces a third function (f*g) that expresses how the shape of one is modified by the other. The term ''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 {{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 m ...
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 func ...
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