Causal filter

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 acausal. 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 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.

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_{x-1}^{x+1} s( au), d au = int_{-1}^{+1} s(x + au) ,d au,

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_{-2}^{0} s(t + au), d au = int_{0}^{+2} s(t - au) , d au,

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

:f(t) = (h*s)(t) = int_{-infty}^{infty} h( au) s(t - au), d au. ,

In those terms, causality requires

:f(t) = int_{0}^{infty} h( au) s(t - au), d au

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"(&omega;). Define the function

:g(t) = {h(t) + h^{*}(-t) over 2}

which is non-causal. On the other hand, "g"("t") is Hermitian and, consequently, its Fourier transform "G"(&omega;) is real-valued. We now have the following relation

:h(t) = 2, operatorname{step}(t) cdot g(t),

where step("t") is the unit step function.

This means that the Fourier transforms of "h"("t") and "g"("t") are related as follows

:H(omega) = left(delta(omega) - {i over pi omega} ight) * G(omega) =G(omega) - icdot widehat G(omega) ,

where widehat G(omega), is a Hilbert transform done in the frequency domain (rather than the time domain).


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Anti-causal filter — In signal processing, an anti causal system is one whose output depends only on present and future inputs. An anti causal system that is also linear and time invariant is an anti causal filter. By contrast, a filter whose output depends only on… …   Wikipedia

  • Causal system — A causal system (also known as a physical or nonanticipative system) is a system where the output depends on past/current inputs but not future inputs i.e. the output y(t0) only depends on the input x(t) for values of . The idea that the output… …   Wikipedia

  • Filter design — is the process of designing a filter (in the sense in which the term is used in signal processing, statistics, and applied mathematics), often a linear shift invariant filter, which satisfies a set of requirements, some of which are contradictory …   Wikipedia

  • Wiener filter — In signal processing, the Wiener filter is a filter proposed by Norbert Wiener during the 1940s and published in 1949.ref|Wiener1949 Its purpose is to reduce the amount of noise present in a signal by comparison with an estimation of the desired… …   Wikipedia

  • Digital filter — A general finite impulse response filter with n stages, each with an independent delay, di, and amplification gain, ai. In electronics, computer science and mathematics, a digital filter is a system that performs mathematical operations on a… …   Wikipedia

  • Least mean squares filter — Least mean squares (LMS) algorithms are a class of adaptive filter used to mimic a desired filter by finding the filter coefficients that relate to producing the least mean squares of the error signal (difference between the desired and the… …   Wikipedia

  • Quadrature filter — In signal processing, a quadrature filter q(t) is the analytic representation of the impulse response f(t) of a real valued filter::q(t) = f {a}(t) = left(delta(t) + {i over pi t} ight) * f(t)If the quadrature filter q(t) is applied to a signal… …   Wikipedia

  • Causality — (but not causation) denotes a necessary relationship between one event (called cause) and another event (called effect) which is the direct consequence (result) of the first. [http://dictionary.reference.com/search?q=Causality x=35 y=25 Random… …   Wikipedia

  • Digital signal processing — (DSP) is concerned with the representation of discrete time signals by a sequence of numbers or symbols and the processing of these signals. Digital signal processing and analog signal processing are subfields of signal processing. DSP includes… …   Wikipedia

  • Hilbert transform — In mathematics and in signal processing, the Hilbert transform is a linear operator which takes a function, u ( t ), and produces a function, H ( u )( t ), with the same domain. The Hilbert transform is named after David Hilbert, who first… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”