2
all-pass filter, when given a feasible set of frequency
responses (unitary matrices) and group delay matrices for
a finite set of frequencies {ωi}. Specifically, our solution
yields a rational matrix z-transform for the required all-
pass filter that satisfies all the given frequency domain
conditions, and its transfer function matrix is unitary
valued for all ω∈(−π, π]. This can be viewed as a gen-
eralization of the Blaschke interpolation based approach
that is specific to scalar all-pass filter design [8, 9] to the
matrix case.
•We obtain this matrix all-pass filter by extending the
SNIP technique to the boundary case. Specifically, since
the Pick matrix in the case of standard SNIP [6] becomes
ill-defined when we demand a unitary valued solution,
we provide a modified approach using the modified
Pick (Schwarz-Pick) matrix to generalize the SNIP filter
realization to the boundary case in discrete-time setting.
•Finally, we also present an optimization based approach
that tunes the slopes of the matrix phase response at spe-
cific frequencies to obtain realizable filters with desirable
characteristics.
The proposed approach for filtering is both novel as well
as efficient in terms of implementation. In particular, prior
approaches to perform all-pass matrix filtering in the frequency
domain have used DFT based techniques that involve at least
NFFT multiplications [10, 11]. In addition, these techniques
have largely relied on frequency domain interpolation of
precoders interpolation on manifolds [12, 13] or interpolation
of parameterized unitary matrices [14, 15], a technique that
is employed in recent wireless OFDM based standards as
well [11]. However, as we show in this paper, in situations
where the all-pass filter has an impulse response that can be
characterized using fewer coefficients, significant savings in
terms of computations can be realized using the SNIP based
approach, while faithfully capturing the frequency domain
precoder characteristics.
The rest of the paper is organized as follows: Section 2
outlines the importance of matrix all-pass filter design problem
statement, Section 3 briefly describes the classical SNIP,
Section 4 describes the discrete-time matrix all-pass filter
design problem and its solution, Section 5 contains the simu-
lations results and interpretations for some practical purposes,
Section 6 provides some concluding remarks and discusses
future directions.
Notation: Unless otherwise specified, bold capital symbols re-
fer to matrices, bold smallcase symbols correspond to vectors,
Imrefers to an m×midentity matrix and 0m×mrefers to an
m×mall-zero matrix. We also use the abbreviations CT for
continuous-time and DT for discrete-time. For any matrix A,
A∗is the conjugate transpose of A.
2 MOTIVATION
To motivate this problem, we first pose the scalar all-pass filter
problem: if the frequency response of a discrete-time all-pass
filter is given for certain (finitely many) frequencies, how can
we obtain an all-pass filter that satisfies these constraints? In
general, there exist an infinite number of filters that satisfy
these constraints. Recent work has shown that, if the group
delays are also known at the given frequencies, then a realiz-
able all-pass filter can be obtained as a Blaschke product [8].
However, the Blaschke product based approach is only suited
to the solution of the discrete-time scalar all-pass filter design
problem, and a direct extension of the same approach to the
case of matrix all-pass filters is not known.
Discrete-time all-pass filters are used for phase compensation
in various applications. A scalar all-pass filter can be used
to correct phase distortions in scalar signals. To the best of
our knowledge, this concept is yet to be extended to vector
signals (MIMO systems), wherein the input and output are
complex vector signals, and the transformation filter is a
matrix valued all-pass filter (unitary). These matrix all-pass
filters are commonly encountered in several situations, such as
MIMO-OFDM systems and stereo audio systems. In MIMO-
OFDM communication systems, when symbols are precoded
with unitary matrices at the transmitter, if the transmitter
possesses some channel state information (CSI), unitary matrix
precoding is typically performed using the right singular
vectors (or related unitary matrices) that are obtained from
the singular value decomposition (SVD) of the channel matrix
for every subcarrier (frequency band) [5]. Multiplying with a
unitary matrix in the frequency domain is norm preserving,
and thus, it can be thought of as a matrix all-pass filtering
operation. In practice, having norm preserving matrix filters
is important in order to satisfy various constraints, such as
power in communication systems, or volume in the case of
audio signals, while only altering the matrix-valued “phase”.
Performing such a phase transformation using the coefficients
of an appropriate discrete-time matrix all-pass filter with a
standard LCCDE implementation would obviate the need for
frequency domain processing, and result in a more faithful
realization, and can significantly reduce the precoding com-
plexity in modern systems, such as those that use precoding
for millimeter wave wireless systems [16, 17].
The block diagram shown in Fig.1 depicts an unknown matrix
all pass filter with efficient LCCDE representation, with x[n]
as input and y[n]as output. Our goal is to construct a system
that mimics the unknown matrix all-pass filter. One approach
is to use DFT based techniques, wherein output y1[n]is
produced for the input x[n]. Another method is to follow a
matrix filter design technique and construct a rational matrix
all pass filter with LCCDE representation, and this yields
output y2[n]for the input x[n]. In this situation only the latter
method is accurate.
It is evident from the block diagram Fig.1 that when the
matrix all-pass filter has an efficient LCCDE realization, the
filter realized using frequency domain techniques may be
inaccurate, and may also result in less efficient realizations.
An advantage of using the SNIP based LCCDE filter design
is that the computational complexity can be reduced with a
rational (realizable) all-pass filter method that has a compact
representation, being more amenable to time-domain LCCDE
implementations (details of the same are discussed further in