- Source: 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
t
,
{\displaystyle t,}
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 sliding or moving average of input data
s
(
x
)
{\displaystyle s(x)\,}
. A constant factor of 1⁄2 is omitted for simplicity:
f
(
x
)
=
∫
x
−
1
x
+
1
s
(
τ
)
d
τ
=
∫
−
1
+
1
s
(
x
+
τ
)
d
τ
{\displaystyle f(x)=\int _{x-1}^{x+1}s(\tau )\,d\tau \ =\int _{-1}^{+1}s(x+\tau )\,d\tau \,}
where
x
{\displaystyle x}
could represent a spatial coordinate, as in image processing. But if
x
{\displaystyle x}
represents time
(
t
)
{\displaystyle (t)\,}
, then a moving average defined that way is non-causal (also called non-realizable), because
f
(
t
)
{\displaystyle f(t)\,}
depends on future inputs, such as
s
(
t
+
1
)
{\displaystyle s(t+1)\,}
. A realizable output is
f
(
t
−
1
)
=
∫
−
2
0
s
(
t
+
τ
)
d
τ
=
∫
0
+
2
s
(
t
−
τ
)
d
τ
{\displaystyle f(t-1)=\int _{-2}^{0}s(t+\tau )\,d\tau =\int _{0}^{+2}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. Its output is the convolution
f
(
t
)
=
(
h
∗
s
)
(
t
)
=
∫
−
∞
∞
h
(
τ
)
s
(
t
−
τ
)
d
τ
.
{\displaystyle f(t)=(h*s)(t)=\int _{-\infty }^{\infty }h(\tau )s(t-\tau )\,d\tau .\,}
In those terms, causality requires
f
(
t
)
=
∫
0
∞
h
(
τ
)
s
(
t
−
τ
)
d
τ
{\displaystyle f(t)=\int _{0}^{\infty }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
)
=
h
(
t
)
+
h
∗
(
−
t
)
2
{\displaystyle 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(ω) is real-valued. We now have the following relation
h
(
t
)
=
2
Θ
(
t
)
⋅
g
(
t
)
{\displaystyle 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
(
ω
)
=
(
δ
(
ω
)
−
i
π
ω
)
∗
G
(
ω
)
=
G
(
ω
)
−
i
⋅
G
^
(
ω
)
{\displaystyle H(\omega )=\left(\delta (\omega )-{i \over \pi \omega }\right)*G(\omega )=G(\omega )-i\cdot {\widehat {G}}(\omega )\,}
where
G
^
(
ω
)
{\displaystyle {\widehat {G}}(\omega )\,}
is a Hilbert transform done in the frequency domain (rather than the time domain). The sign of
G
^
(
ω
)
{\displaystyle {\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:
H
^
(
ω
)
=
i
H
(
ω
)
{\displaystyle {\widehat {H}}(\omega )=iH(\omega )}
References
Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (September 2007), Numerical Recipes (3rd ed.), Cambridge University Press, p. 767, ISBN 9780521880688
Rowell (January 2009), Determining a System's Causality from its Frequency Response (PDF), MIT OpenCourseWare
Kata Kunci Pencarian:
- Dmitri Ivanovsky
- Adolf Mayer
- Martinus Beijerinck
- Causal filter
- Causal system
- Wiener filter
- Digital filter
- Linear filter
- Filter (signal processing)
- Causality
- Filter design
- Gaussian filter
- Pulse shaping