![]() |
(112) |
The adjoint operator,
, which describes time-reversed
filtering with filter
, can similarly be expressed by
considering the rows of the matrix-vector equation,
, as follows,
![]() |
(113) |
The helicon Fortran90 module Claerbout (1998a) exactly implements the
linear operator (and adjoint) pair described by
equations (
) and (
).
Equation (
) explicitly prescribes internal boundary
conditions near k=0; however, since
is causal, no
particular care is needed near k=N-1. On the other hand,
equation (
) explicitly imposes internal boundary
conditions near k=N-1, and no care is needed near k=0.
It is possible to rewrite equations (
)
and (
) in a more symmetric form; however, as written,
the equations lead naturally to recursive inverses for operators,
and
.
Rearranging equation (
), we obtain
![]() |
(114) |
) describes the exact, analytic inverse of
causal filtering with equation (
).
In principle, given a filter,
), we can recover the original by causal
filtering with equation (
) subject to the stability of
the inverse filtering process.
Equation (
) appears very similar to polynomial
division. However, the output of polynomial division is an infinite
series, while equation (
) is defined only in the
range,
. As such, equation (
)
describes polynomial division followed by truncation.
Equation (
) can also be rewritten as
![]() |
(115) |