HOME

TheInfoList



OR:

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 t, 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 s(x)\,. A constant factor of 1/2 is omitted for simplicity: :f(x) = \int_^ s(\tau)\, d\tau\ = \int_^ s(x + \tau) \,d\tau\, where ''x'' could represent a spatial coordinate, as in image processing. But if x\, represents time (t)\,, then a moving average defined that way is non-causal (also called ''non-realizable''), because f(t)\, depends on future inputs, such as s(t+1)\,. A realizable output is :f(t-1) = \int_^ s(t + \tau)\, d\tau = \int_^ s(t - \tau) \, d\tau\, 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' ...
: f(t) = (h*s)(t) = \int_^ h(\tau) s(t - \tau)\, d\tau. \, In those terms, causality requires : f(t) = \int_^ h(\tau) s(t - \tau)\, d\tau 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 : g(t) = 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 : h(t) = 2\, \Theta(t) \cdot g(t)\, where Θ(''t'') is the Heaviside unit step function. This means that the Fourier transforms of ''h''(''t'') and ''g''(''t'') are related as follows : H(\omega) = \left(\delta(\omega) - \right) * G(\omega) = G(\omega) - i\cdot \widehat G(\omega) \, where \widehat G(\omega)\, 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 \widehat G(\omega)\, 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: : \widehat H(\omega) = i H(\omega)


References

* * {{DEFAULTSORT:Causal Filter Signal processing Filter theory