Multidimensional filter design and Implementation

Many concepts in 1-D signal processing are similar to concepts in multidimensional signal processing. However, many familiar one-dimensional procedures do not readily generalize to the multidimensional case and some important issues associated with multidimensional signals and systems do not appear in the one-dimensional special case.

Motivation and applications

Most of the signals we witness in real life exist in more than one dimension,be it image, video or sound among many others. A multidimensional (M-D) signal can be modeled as a function of M independent variables, where M is greater than or equal to 2. Certain concepts for multidimensional signal processing vary from one dimensional signal processing. For example, The computational complexity for multi-dimensional case is higher as it involves more dimensions. Also, assumptions of causality do not hold good for the multi-dimensional case.

A multidimensional (M-D) signal can be modeled as a function of M independent variables, where M is greater than or equal to 2. These signals may be categorized as continuous, discrete, or mixed. A continuous signal can be modeled as a function of independent variables which range over a continuum of values, example – an audio wave traveling in space.A continuous signal in the multi-dimensional case can be represented in the time domain as x(t_{1},t_{2},...t_{M}).The number of arguments within the parenthesis indicates the number of dimensions of the signal.The signal in this case is of n dimensions. A discrete signal, on the other hand, can be modeled as a function defined only on a set of points, such as the set of integers.A discrete signal of M-dimensions can be represented in the spatial domain as x(n_{1},n_{2},...n_{M}). A mixed signal is a multidimensional signal that is modeled as a function of some continuous variables and some discrete ones, example – an ensemble of time waveforms recorded from an array of electrical transducers is a mixed signal. The ensemble can be modeled with one continuous variable, time, and one or more discrete variables to index the transducers.

Multidimensional Digital filters are finding applications in many fields such as image processing, video processing, seismic tomography, magnetic data processing, Computed tomography (CT),RADAR,Sonar and many more.[1] There is a difference between 1-D and M-D digital filter design problems. In the 1-D case, the filter design and filter implementation issues are distinct and decoupled. The 1-D filter can first be designed and then particular network structure can be determined through the appropriate manipulation of the transfer function. In the case of M-D filter design, the multidimensional polynomials cannot be factored in general. This means that an arbitrary transfer function can generally not be manipulated into a form required by a particular implementation.This makes the design and implementation of M-D filters more complex than the 1-D filters.

Problem Statement & Basic Concepts [2]

Multidimensional filters not unlike their one dimensional counterparts can be categorized as

In order to understand these concepts,it is necessary to understand what an impulse response means.An impulse response is basically the response of the system when the input to that system is a Unit impulse function.An impulse response in the spatial domain can be represented as h(n_{1},n_{2},....n_{n}).

A Finite Impulse Response (FIR), or non-recursive filter has an impulse response with a finite number of non-zero samples. This makes their impulse response always absolutely summable and thus FIR filters are always stable. x\left({\underline {n}}\right) is the multidimensional input signal and y\left({\underline {n}}\right) is the multidimensional output signal. For a m dimensional spatial domain, the output y can be represented as

y\left(n_{1},n_{2},...,n_{m}\right)=\sum _{l_{1}=0}^{L_{1}-1}\sum _{l_{2}=0}^{L_{2}-1}...\sum _{l_{m}=0}^{L_{m}-1}a(l_{1},l_{2},...,l_{m})x(n_{1}-l_{1},n_{2}-l_{2},...,n_{m}-l_{m})

The above difference equation can be represented in the Z-domain as follows

Y(z_{1},z_{2},....z_{m})=\sum _{l_{1}=0}^{L_{1}-1}\sum _{l_{2}=0}^{L_{2}-1}...\sum _{l_{m}=0}^{L_{m}-1}a(l_{1},l_{2},....l_{m})X(z_{1},z_{2},...z_{m})z_{1}^{-l_{1}}z_{2}^{-l_{2}}......z_{m}^{-l_{m}},

where X(z_{1},z_{2},...z_{m}) and Y(z_{1},z_{2},....z_{m}) are the Z-transform of x(n_{1},n_{2},...n_{m}), and y(n_{1},n_{2},...n_{m}) respectively.

The transfer function H(z_{1},z_{2},...z_{m}) is given by,

H(z_{1},z_{2},....z_{m})=Y(z_{1},z_{2},...z_{m})/X(z_{1},z_{2},....z_{m})

In the case of FIR filters the transfer function consists of only numerator terms as the denominator is unity due to the absence of feedback.

An Infinite Impulse Response (IIR), or recursive filter (due to feedback) has infinite-extent impulse response. Its input and output satisfy a multidimensional difference equation of finite order. IIR filters may or may not be stable and in many cases are less complex to realize when compared to FIR filters. The promise of IIR filters is a potential reduction in computation compared to FIR filters when performing comparable filtering operations. by, feeding back output samples, we can use a filter with fewer coefficients (hence less computations) to implement a desired operation. On the other hand, IIR filters pose some potentially significant implementation and stabilization problems not encountered with FIR filters. The design of an M-D recursive filter is quite different from the design of a 1-D filter which is due to the increased difficulty of assuring stability. For a m dimensional domain, the output y can be represented as

y\left(n_{1},n_{2},...,n_{m}\right)=\sum _{l_{1}=0}^{L_{1}-1}\sum _{l_{2}=0}^{L_{2}-1}...\sum _{l_{m}=0}^{L_{m}-1}a(l_{1},l_{2},...,l_{m})x(n_{1}-l_{1},n_{2}-l_{2},...,n_{m}-l_{m})-\sum _{m_{1}=0}^{M_{1}-1}\sum _{m_{2}=0}^{M_{2}-1}...\sum _{m_{m}=0}^{M_{m}-1}b(m_{1},m_{2},...,m_{m})y(n_{1}-m_{1},n_{2}-m_{2},...,n_{m}-m_{m})

Y(z_{1},z_{2},....z_{m})=\sum _{l_{1}=0}^{L_{1}-1}\sum _{l_{2}=0}^{L_{2}-1}...\sum _{l_{m}=0}^{L_{m}-1}a(l_{1},l_{2},....l_{m})X(z_{1},z_{2},...z_{m})z_{1}^{-l_{1}}z_{2}^{-l_{2}}......z_{m}^{-l_{m}}-\sum _{m_{1}=0}^{M_{1}-1}\sum _{m_{2}=0}^{M_{2}-1}...\sum _{m_{m}=0}^{M_{m}-1}b(m_{1},m_{2},....m_{m})Y(z_{1},z_{2},...z_{m})z_{1}^{-m_{1}}z_{2}^{-m_{2}}......z_{m}^{-m_{m}}

The transfer function in this case will have both numerator and denominator terms due to the presence of feedback.

Although multidimensional difference equations represent a generalization of 1-D difference equations, they are considerably more complex and quite different. A number of important issues associated with multidimensional difference equations, such as the direction of recursion and the ordering relation, are really not an issue in the 1-D case. Other issues such as stability, although present in the 1-D case, are far more difficult to understand for multidimensional systems.

FIR Filter Implementation

Direct Convolution

Output of any Linear Shift Invariant (LSI) filter can be determined from its input by means of the convolution sum. There are a finite number of non-zero samples and the limits of summation are finite for a FIR filter. The convolution sum serves as an algorithm that enables us to compute the successive output samples of the filter. As an example, let is assume that the filter has support over the region {(n_{1},n_{2},...,n_{m}): 0n_{1} < N_{1} , 0n_{2} < N_{2},...,0n_{m} < N_{m} }, the output samples can be computed using[2]

y\left(n_{1},n_{2},...,n_{m}\right)=\sum _{k_{1}=0}^{N_{1}-1}\sum _{k_{2}=0}^{N_{2}-1}...\sum _{k_{m}=0}^{N_{m}-1}h(k_{1},k_{2},...,k_{m})x(n_{1}-k_{1},n_{2}-k_{2},...,n_{m}-k_{m})

If all input samples are available, the output samples can be computed in any order or can also be computed simultaneously. However, if only selected samples of the output are desired, only those samples need to be computed. The number of multiplications and additions for one desired output sample is (N_{1}.N_{2}...N_{m}) and (N_{1}.N_{2}...N_{m})–1 respectively.

For the 2D case, the computation of y\left(n_{1},n_{2}\right) depends on input samples from (N_{1}1) previous columns of the input and the (N_{2}1) previous rows. If the input samples arrive row by row, we need sufficient storage to store N_{2} rows of the input sequence. If the input is available column by column instead, we need to store N_{1} columns of the input. A zero phase filter with a real impulse response satisfies h\left(n_{1},n_{2}\right) = h\left(-n_{1},-n_{2}\right), which means that each sample can be paired with another of identical value. In this case we can use the arithmetic distributive law to interchange some of the multiplications and additions, to reduce the number of multiplications necessary to implement the filter, but the number of multiplications is still proportional to the filter order. Specifically, if the region of support for the filter is assumed to be rectangular and centered at the origin, we have

y\left(n_{1},n_{2}\right)=\sum _{k_{1}=-N_{1}}^{N_{1}}\sum _{k_{2}=-N_{2}}^{N_{2}}h(k_{1},k_{2})x(n_{1}-k_{1},n_{2}-k_{2})

y\left(n_{1},n_{2}\right)=\sum _{k_{1}=-N_{1}}^{N_{1}}\sum _{k_{2}=1}^{N_{2}}h(k_{1},k_{2})[x(n_{1}-k_{1},n_{2}-k_{2})+x(n_{1}+k_{1},n_{2}+k_{2})]+\sum _{k_{1}=1}^{N_{1}}h(k_{1},0)[x(n_{1}-k_{1},n_{2})+x(n_{1}+k_{1},n_{2})]+h(0,0)x(n_{1},n_{2})

Using the above equation to implement an FIR filter requires roughly one-half the number of multiplications of an implementation, although both implementations require the same number of additions and the same amount of storage. If the impulse response of an FIR filter possess other symmetries, they can be exploited in a similar fashion to reduce further the number of required multiplications.

Discrete Fourier Transform Implementations of FIR Filters

The FIR filter can also be implemented by means of the Discrete Fourier transform (DFT). This can be particularly appealing for high-order filters because the various Fast Fourier transform algorithms permit the efficient evaluation of the DFT. The general form of DFT for multidimensional signals can be seen below, where N is periodicity matrix, x({\underline {n}}) is the multidimensional signal in the space domain, X({\underline {k}}) is the DFT of x({\underline {n}}) in frequency domain, I_{N} is a region containing |detN| samples in n domain, and J_{N} is a region containing |detN^{T}| (=detN) frequency samples.[2]

X\left({\underline {k}}\right)=\sum _{n\epsilon I_{n}}x\left({\underline {n}}\right)e^{-j{\underline {k}}^{T}\left(2\pi {\underline {N}}^{-1}\right){\underline {n}}}

Let y\left(n_{1},n_{2},...,n_{m}\right) be the linear convolution of a finite-extent sequence x\left(n_{1},n_{2},...,n_{m}\right) with the impulse response h\left(n_{1},n_{2},...,n_{m}\right) of an FIR filter.

y\left(n_{1},n_{2},...,n_{m}\right)=x\left(n_{1},n_{2},...,n_{m}\right)*h\left(n_{1},n_{2},...,n_{m}\right)

On computing Fourier Transform of both sides of this expression, we get

Y\left(w_{1},w_{2},...,w_{m}\right)=X\left(w_{1},w_{2},...,w_{m}\right)H\left(w_{1},w_{2},...,w_{m}\right)

There are many possible definitions of the M-D discrete Fourier transform, and that all of these correspond to sets of samples of the M-D Fourier transform; these DFT’s can be used to perform convolutions as long their assumed region of support contains the support for y\left(n_{1},n_{2},...,n_{m}\right). Let us assume that Y\left(w_{1},w_{2},...,w_{m}\right) is sampled on a N_{1}xN_{2}x...xN_{m} rectangular lattice of samples, and let

Y\left(k_{1},k_{2},...,k_{m}\right)=Y\left(w_{1},w_{2},...,w_{m}\right)|w_{1}={\frac {2\pi k_{1}}{N_{1}}};w_{2}={\frac {2\pi k_{2}}{N_{2}}};...;w_{m}={\frac {2\pi k_{m}}{N_{m}}}

Therefore, Y\left(k_{1},k_{2},...,k_{m}\right)=X\left(k_{1},k_{2},...,k_{m}\right)H\left(k_{1},k_{2},...,k_{m}\right).

To compute (N_{1}xN_{2}x...xN_{m})-point DFT’s of x and h requires that both sequences have their regions of support extended with samples of value zero. If {\hat {y}}\left(n_{1},n_{2},...,n_{m}\right) results from the inverse DFT of the product X\left(k_{1},k_{2},...,k_{m}\right).H\left(k_{1},k_{2},...,k_{m}\right) , then {\hat {y}}\left(n_{1},n_{2},...,n_{m}\right) will be the circular convolution of h\left(n_{1},n_{2},...,n_{m}\right) and x\left(n_{1},n_{2},...,n_{m}\right). If N_{1}, N_{2},..., N_{m} are chosen to be at least equal to the size of y\left(n_{1},n_{2},...,n_{m}\right), then {\hat {y}}\left(n_{1},n_{2},...,n_{m}\right)=y\left(n_{1},n_{2},...,n_{m}\right). This implementation technique is efficient with respect to computation, however it is prodigal with respect to storage as this method requires sufficient storage to contain all N_{1}xN_{2}x...xN_{m} points of the signal x\left(n_{1},n_{2},...,n_{m}\right). In addition, we must store the filter response coefficients H\left(k_{1},k_{2},...,k_{m}\right). By direct convolution the number of rows of the input that needs to be stored depends on the order of the filter. However, with the DFT the whole input must be stored regardless of the filter order.

For the 2D case, and assuming that H\left(k_{1},k_{2}\right) is pre-computed, the number of real multiplications needed to compute y\left(n_{1},n_{2}\right) is

2xN_{1}xN_{2}x\log _{2}N_{1}xN_{2} + 2xN_{1}xN_{2}; N_{1} and N_{2} are powers of 2

Block Convolution

The arithmetic complexity of the DFT implementation of an FIR filter is effectively independent of the order of the filter, while the complexity of a direct convolution implementation is proportional to the filter order. So, the convolution implementation would be more efficient for the lower filter order. As, the filter order increases, the DFT implementation would eventually become more efficient.[2]

The problem with the DFT implementation is that it requires a large storage. The block convolution method offers a compromise. With these approaches the convolutions are performed on sections or blocks of data using DFT methods. Limiting the size of these blocks limits the amount of storage required and using transform methods maintains the efficiency of the procedure.

The simplest block convolution method is called the overlap-add technique. We begin by partitioning 2-D array, x\left(n_{1},n_{2}\right), into (N_{1}xN_{2}) point sections, where the section indexed by the pair (k_{1},k_{2}) is defined as below:

x_{k_{1}k_{2}}\left(n_{1},n_{2}\right)=x\left(n_{1},n_{2}\right){\text{if }}k_{1}N_{1}\leq n_{1}<(k_{1}+1)N_{1}{\text{and }}k_{2}N_{2}\leq n_{2}<(k_{2}+1)N_{2}

The regions of support for the different sections do not overlap, and collectively they cover the entire region of support of the array x\left(n_{1},n_{2}\right). Thus,

x\left(n_{1},n_{2}\right)=\sum _{k_{1}}\sum _{k_{2}}x_{k_{1}k_{2}}\left(n_{1},n_{2}\right)

Because the operation of discrete convolution distributes with respect to addition, y\left(n_{1},n_{2}\right) can be written as follows:

y\left(n_{1},n_{2}\right)=x\left(n_{1},n_{2}\right)**h\left(n_{1},n_{2}\right)=\left(\sum _{k_{1}}\sum _{k_{2}}x_{k_{1}k_{2}}\left(n_{1},n_{2}\right)\right)**h\left(n_{1},n_{2}\right)=\sum _{k_{1}}\sum _{k_{2}}\left(x_{k_{1}k_{2}}\left(n_{1},n_{2}\right)**h\left(n_{1},n_{2}\right)\right)=\sum _{k_{1}}\sum _{k_{2}}y_{k_{1}k_{2}}\left(n_{1},n_{2}\right)

Figure (a) shows the section of the input array x_{21}\left(n_{1},n_{2}\right). Figure (b) shows the region of support of the convolution of that section with h that is y_{21}\left(n_{1},n_{2}\right).

The block output y_{k_{1}k_{2}}\left(n_{1},n_{2}\right) is the convolution of h\left(n_{1},n_{2}\right) with block \left(k_{1},k_{2}\right) of x\left(n_{1},n_{2}\right). The result of the block convolution must be added together to produce the complete filter output y\left(n_{1},n_{2}\right). As the support of y_{k_{1}k_{2}}\left(n_{1},n_{2}\right) is greater than the support of x_{k_{1}k_{2}}\left(n_{1},n_{2}\right), the output blocks will of necessity overlap, but the degree of that overlap is limited.

The convolutions of the x_{k_{1}k_{2}}\left(n_{1},n_{2}\right) and h(n_{1},n_{2}) can be evaluated by means of discrete Fourier transforms, provided that the size of the transform is large enough to support y_{k_{1}k_{2}}\left(n_{1},n_{2}\right). By controlling the block size we can limit the size of the DFTs, which reduces the required storage.

The overlap-save method is an alternative block convolution technique. When the block size is considerably larger than the support of h, the samples of y in the center of each block are not overlapped by samples from neighboring blocks. Similarly, when a sequence x is circularly convolved with another, h, which has a much smaller region of support, only a subset of the samples of that circular convolution will show the effects of the spatial aliasing. The remaining samples of the circular convolution will be identical to the samples of the linear convolution. Thus if an (N_{1}×N_{2}) -point section of x\left(n_{1},n_{2}\right) is circularly convolved with an (M_{1}×M_{2}) -point impulse response using an (N_{1}×N_{2}) -point DFT, the resulting circular convolution will contain a cluster of \left(N_{1}-M_{1}+1\right) ×\left(N_{2}-M_{2}+1\right) samples which are identical to samples of the linear convolution, y. The whole output array can be constructed form these "good" samples by carefully choosing the regions of support for the input sections. If the input sections are allowed to overlap, the "good" samples of the various blocks can be made to abut. The overlap-save method thus involves overlapping input sections, whereas the overlap-add method involves overlapping output sections.

The figure above shows the overlap-save method. The shaded region gives those samples of y for which both the (N_{1}×N_{2}) circular convolution and the linear convolution of x with h are identical.

For both the overlap-add and overlap-save procedures, the choice of block size affects the efficiency of the resulting implementation. It affects the amount of storage needed, and also affects the amount of computation.

FIR Filter Design

Minimax design of FIR filters

The frequency response of a multi-dimensional filter is given by,

H(w_{1},w_{2},...w_{n})=\sum _{n_{1}=0}^{N_{1}-1}\sum _{n_{2}=0}^{N_{2}-1}...\sum _{n_{n}=0}^{N_{n}-1}h(n_{1},n_{2},....n_{n})e^{-jw_{1}n_{1}}e^{-jw_{2}n_{2}}.....e^{-jw_{n}n_{n}}

where h(n_{1},n_{2},....n_{n}) is the impulse response of the designed filter for size N_{1}\times N_{2}\times .....N_{n}

The frequency response of the ideal filter is given by

I(w_{1},w_{2},...w_{n})=\sum _{n_{1}=-\infty }^{\infty }\sum _{n_{2}=-\infty }^{\infty }...\sum _{n_{n}=-\infty }^{\infty }i(n_{1},n_{2},....n_{n})e^{-jw_{1}n_{1}}e^{-jw_{2}n_{2}}.....e^{-jw_{n}n_{n}}

where i(n_{1},n_{2},...n_{n}) is the impulse response of the ideal filter.

The error measure is given by subtracting the above two results i.e.

E(w_{1},w_{2},....w_{n})=H(w_{1},w_{2},.....w_{n})-I(w_{1},w_{2},.....w_{n})

The maximum of this error measure is what needs to be minimized.There are different norms available for minimizing the error namely:

L_{2}norm given by the formula

E_{2}=[1/(2\pi )^{n}\int \limits _{-\pi }^{\pi }\int \limits _{-\pi }^{\pi }...\int \limits _{-\pi }^{\pi }\left\vert E(w_{1},w_{2},...w_{n})\right\vert ^{2}dw_{1}dw_{2}...dw_{n}]^{1/2}

L_{p}norm given by the formula

E_{p}=[1/(2\pi )^{n}\int \limits _{-\pi }^{\pi }\int \limits _{-\pi }^{\pi }...\int \limits _{-\pi }^{\pi }\left\vert E(w_{1},w_{2},...w_{n})\right\vert ^{p}dw_{1}dw_{2}...dw_{n}]^{1/p}

if p =2 we get the L_{2}norm and if p tends to \infty we get the L_{\infty } norm.The L_{\infty } norm is given by,

E_{\infty }=\max _{(w_{1},w_{2},...w_{n}\in B)}\left\vert E(w_{1},w_{2},...w_{n})\right\vert

When we say minimax design the L_{\infty } norm is what comes to mind.

Design using Transformation

Another method to design a multidimensional FIR filter is by the transformation from 1-D filters. This method was first developed by McClellan as other methods were time consuming and cumbersome. The first successful implementation was achieved by Mecklenbrauker and Mersereau[3][4] and was later revised by McClellan and Chan.[5] For a zero phase filter the one phase impulse response is given by[2]

h(\ {\underline {n}})=h^{*}(-\ {\underline {n}})

where h^{*}(-\ {\underline {n}}) represents the complex conjugate of h(\ {\underline {n}}).

Let H(\ {\underline {w}}) be the frequency response of h(\ {\underline {n}}).Assuming h(\ {\underline {n}}) is even,we can write

H(w)=\sum _{n=0}^{N}a_{n}cos(wn)

where a_{n} is defined as a_{n}=h(0) if n=0 and a_{n}=2h(n) if n\neq 0.Also cos(wn) is a polynomial of degree n known as the Chebyshev polynomial.

The variable is cos(w) and the polynomial can be represented by T_{n}(cos(w)).

Thus H(w)=\sum _{n=0}^{N}a(n)T_{n}(cos(w)) is the required 1-D frequency response in terms of Chebyshev polynomial T_{n}(cos(w)).

If we consider F(w_{1},w_{2},...w_{n}) to be a transformation function whereF(w_{1},w_{2},...w_{n}) maps to cos(w),then we get,

H(w_{1},w_{2},....w_{n})=\sum _{n=0}^{N}a_{n}T_{n}[F(w_{1},w_{2},...w_{n})]

The contours and the symmetry of H(w_{1},w_{2},.....w_{n}) depend on that of F(w_{1},w_{2},....w_{n}). F(w_{1},w_{2},....w_{n}) is also called the mapping function.

The values of H(w_{1},w_{2},...w_{n}) can be obtained from the values of the 1_D prototype H(w).

The conditions for choosing the mapping function are

Considering a two dimensional case to compute the size of H(w_{1},w_{2}), If the 1-D prototype has size (2N+1) and the mapping function has size (2Q+1)*(2Q+1),then the size of the desired H(w_{1},w_{2}) will be (2NQ+1)*(2NQ+1)

The main advantages of this method are

Implementation of filters designed using transformations

Methods such as Convolution or implementation using the DFT can be used for the implementation of FIR filters. However for filters of moderate order another method can be used which justifies the design using transformation.Consider the equation for a 2-dimensional case,

H(w_{1},w_{2})=\sum _{n=0}^{N}a_{n}T_{n}[F(w_{1},w_{2})]

where,T_{n}[F(w_{1},w_{2})] is a Chebyshev polynomial.These polynomials are defined as,

T_{0}[x]=1

T_{1}[x]=x

T_{n}[x]=2xT_{n-1}[x]-T_{n-2}[x].

Using this we can form a digital network to realize the 2-D frequency response as shown in the figure below.Replacing x by F(w_{1},w_{2}) we get,

T_{n}[F(w_{1},w_{2})]=2F(w_{1},w_{2})T_{n-1}[F(w_{1},w_{2})]-T_{n-2}[F(w_{1},w_{2})]

Since each of these signals can be generated from two lower order signals, a ladder network of N outputs can be formed such that frequency response between the input and nth output is T_{n}[F(w_{1},w_{2}) .By weighting these outputs according to the equation mentioned below, The filter H(w_{1},w_{2}) can be realized.

H(w_{1},w_{2})=\sum _{n=0}^{N}a_{n}T_{n}[F(w_{1},w_{2})]

This realization is as shown in the figure below.

In the figure,the filters F define the transformation function and h(n) is the impulse response of the 1-D prototype filter .

Trigonometric Sum-of-Squares Optimization

Here we discuss a method for multidimensional FIR filter design via sum-of-squares formulations of spectral mask constraints. The sum-of-squares optimization problem is expressed as a semidefinite program with low-rank structure, by sampling the constraints using discrete sine and cosine transforms. The resulting semidefinite program is then solved by a customized primal-dual interior-point method that exploits low-rank structure. This leads to substantial reduction in the computational complexity, compared to general-purpose semidefinite programming methods that exploit sparsity.[6]

A variety of one-dimensional FIR filter design problems can be expressed as convex optimization problems over real trigonometric polynomials, subject to spectral mask constraints. These optimization problems can be formulated as semidefinite programs (SDPs) using classical sum-of-squares (SOS) characterizations of nonnegative polynomials, and solved efficiently via interior-point methods for semidefinite programming.

For the figure above, FIR filter in frequency domain with d=2; n1=n2=5 and has 61 sampling points. The extension of these techniques to multidimensional filter design poses several difficulties. First, SOS characterization of multivariate positive trigonometric polynomials may require factors of arbitrarily high degree. Second, difficulty stems from the large size of the semidefinite programming problems obtained from multivariate SOS programs. Most recent research on exploiting structure in semidefinite programming has focused on exploiting sparsity of the coefficient matrices. This technique is very useful for SDPs derived from SOS programs and are included in several general purpose semidefinite programming packages.

Let Z_{d} and N_{d} denote the sets of d-vectors of integers and natural numbers, respectively. For a vector x, we define diag\left(x\right) as the diagonal matrix with x_{i} as its ith diagonal entry. For a square matrix X, diag\left(X\right) is a vector with the i^{th} entry Xii. The matrix inequality A>\geq B denotes that A-B is positive definite (semidefinite). Tr\left(A\right) denotes the trace of a symmetric matrix A.

R is a d-variate trigonometric polynomial of degree n\epsilon Z_{d}, with real symmetric coefficients x_{k} = x_{-k}

R\left(w\right)=\sum _{k=-n}^{n}x_{k}e^{-jk^{T}w}

The above summation is over all integer vectors k that satisfy -n\leq k\leq n, where the inequalities between the vectors are interpreted element-wise. R is positive on [-\pi ,\pi ]^{d}, then it can be expressed as sum of squares of trigonometric polynomials

H_{l}\left(w\right)=\sum _{l=1}^{r}|H_{l}\left(w\right)|^{2}

H_{l}\left(w\right)=\sum _{k=0}^{n_{l}}h_{l,k}e^{-jk^{T}w}

2-D FIR Filter Design as SOS Program: H is taken to be the frequency response of a 2-D linear phase FIR filter with filter order n=\left(n_{1},n_{2}\right), with filter coefficients h_{k} = h_{-k}.

H\left(w\right)=\sum _{k=-n}^{n}h_{k}e^{-jk^{T}w}

We want to determine the filter coefficients h_{k} that maximize the attenuation \delta _{s} in the stopband D_{s} for a given maximum allowable ripple (\delta _{p}) in the passband D_{p}. The optimization problem is to minimize \delta _{s} by subjecting to the following conditions

|1-H\left(w\right)|\leq \delta _{p},\,\,w\epsilon D_{p}

|H\left(w\right)|\leq \delta _{s},\,\,w\epsilon D_{s}

where the scalar \delta _{s} and the filter coefficients h_{k} are the problem variables. These constraints are as shown below

R_{1}\left(w\right)=H\left(w\right)-1+\delta _{p}\geq 0,\,\,w\epsilon D_{p}

R_{2}\left(w\right)=1-H\left(w\right)+\delta _{p}\geq 0,\,\,w\epsilon D_{p}

R_{3}\left(w\right)=H\left(w\right)+\delta _{s}\geq 0,\,\,w\epsilon D_{s}

R_{4}\left(w\right)=H\left(w\right)-\delta _{s}\geq 0,\,\,w\epsilon D_{s}

If the passband and stopband are defined, then we can replace each positive polynomial R_{i} by a weighted sum of squares expression. Limiting the degrees of the sum-of-squares polynomials to n then gives sufficient conditions for feasibility. We call the resulting optimization problem a sum-of-squares program and can be solved via semidefinite programming.

Iterative Implementation for M-D IIR Filters

In some applications, where access to all values of signal is available (i.e. where entire signal is stored in memory and is available for processing), the concept of "feedback" can be realized. The iterative approach uses the previous output as feedback to generate successively better approximations to the desired output signal.[2]

In general, the IIR frequency response can be expressed as

H\left(w_{1},w_{2},...,w_{m}\right)={\frac {A\left(w_{1},w_{2},...,w_{m}\right)}{B\left(w_{1},w_{2},...,w_{m}\right)}}={\frac {\sum _{l_{1}}\sum _{l_{2}}...\sum _{l_{m}}a\left(l_{1},l_{2},...,l_{m}\right)e^{-j\left(w_{1}l_{1}+w_{2}l_{2}+...+w_{m}l_{m}\right)}}{\sum _{k_{1}}\sum _{k_{2}}...\sum _{k_{m}}b\left(k_{1},k_{2},...,k_{m}\right)e^{-j\left(w_{1}k_{1}+w_{2}k_{2}+...+w_{m}k_{m}\right)}}}

where a\left(l_{1},l_{2},...,l_{m}\right) and b\left(k_{1},k_{2},...,k_{m}\right) are M-D finite extent coefficient arrays. The ratio is normalized so that b\left(0,0,...,0\right)=1

Now, let X\left(w_{1},w_{2},...,w_{m}\right) represent the spectrum of a M-D input signal x\left(n_{1},n_{2},...,n_{m}\right) and Y\left(w_{1},w_{2},...,w_{m}\right) represent the spectrum of a M-D output signal y\left(n_{1},n_{2},...,n_{m}\right).

Y\left(w_{1},w_{2},...,w_{m}\right)=A\left(w_{1},w_{2},...,w_{m}\right)X\left(w_{1},w_{2},...,w_{m}\right)+C\left(w_{1},w_{2},...,w_{m}\right)Y\left(w_{1},w_{2},...,w_{m}\right)

where C\left(w_{1},w_{2},...,w_{m}\right) is a trigonometric polynomial defined as C\left(w_{1},w_{2},...,w_{m}\right)=1-B\left(w_{1},w_{2},...,w_{m}\right)

In the signal domain, the equation becomes y\left(n_{1},n_{2},...,n_{m}\right)=a\left(n_{1},n_{2},...,n_{m}\right)*x\left(n_{1},n_{2},...,n_{m}\right)+c\left(n_{1},n_{2},...,n_{m}\right)*y\left(n_{1},n_{2},...,n_{m}\right)

After making an initial guess, and then substituting the guess in the above equation iteratively, a better approximation of y\left(n_{1},n_{2},...,n_{m}\right) can be obtained – y_{i}\left(n_{1},n_{2},...,n_{m}\right)=a\left(n_{1},n_{2},...,n_{m}\right)*x\left(n_{1},n_{2},...,n_{m}\right)+c\left(n_{1},n_{2},...,n_{m}\right)*y_{i-1}\left(n_{1},n_{2},...,n_{m}\right)

where i denotes the iteration index

In the frequency domain, the above equation becomes Y_{i}\left(w_{1},w_{2},...,w_{m}\right)=A\left(w_{1},w_{2},...,w_{m}\right)X\left(w_{1},w_{2},...,w_{m}\right)+C\left(w_{1},w_{2},...,w_{m}\right)Y_{i-1}\left(w_{1},w_{2},...,w_{m}\right)

An IIR filter is BIBO stable if C\left(w_{1},w_{2},...,w_{m}\right)\neq 0

If we assume that |C\left(w_{1},w_{2},...,w_{m}\right)|<1 then

\lim _{I\to \infty }Y_{I}\left(w_{1},w_{2},...,w_{m}\right)={\frac {A\left(w_{1},w_{2},...,w_{m}\right)X\left(w_{1},w_{2},...,w_{m}\right)}{1-C\left(w_{1},w_{2},...,w_{m}\right)}}=Y\left(w_{1},w_{2},...,w_{m}\right)

Thus, it can be said that, the frequency response H\left(w_{1},w_{2},...,w_{m}\right) of a M-D IIR filter can be obtained by infinite number of M-D FIR filtering operations. The store operator stores the result of the previous iteration.

To be practical, an iterative IIR filter should require fewer computations, counting all iterations to achieve an acceptable error, compared to an FIR filter with similar performance.

Existing Approaches for IIR Filter Design

Similar to its 1-D special case, M-D IIR filters can have dramatically lower order than FIR filters with similar performance. This motivates the development of design techniques for M-D IIR filtering algorithms. This section presents brief overview of approaches for designing M-D IIR filters.

Shank's method

This technique is based on minimizing the error functionals in the space domain. The coefficient arrays a\left(n_{1},n_{2},...,n_{m}\right) and b\left(n_{1},n_{2},...,n_{m}\right) are determined such that the output response y\left(n_{1},n_{2}\right) of a filter matches the desired response d\left(n_{1},n_{2},...,n_{m}\right).[2]

Let’s denote the error signal as

e\left(n_{1},n_{2},...,n_{m}\right)=y\left(n_{1},n_{2},...,n_{m}\right)-d\left(n_{1},n_{2},...,n_{m}\right)

And let E\left(w_{1},w_{2},...,w_{m}\right) denote it’s the Fourier transform

E\left(w_{1},w_{2},...,w_{m}\right)={\frac {A\left(w_{1},w_{2},...,w_{m}\right)X\left(w_{1},w_{2},...,w_{m}\right)}{B\left(w_{1},w_{2},...,w_{m}\right)}}-D\left(w_{1},w_{2},...,w_{m}\right)

By multiplying both sides by B\left(w_{1},w_{2},...,w_{m}\right), we get the modified error spectrum, converted in discrete domain as

e'\left(n_{1},n_{2},...,n_{m}\right)=a\left(n_{1},n_{2},...,n_{m}\right)*x\left(n_{1},n_{2},...,n_{m}\right)-b\left(n_{1},n_{2},...,n_{m}\right)*d\left(n_{1},n_{2},...,n_{m}\right)

The total mean-squared error is obtained as –

e'_{2}\left(n_{1},n_{2},...,n_{m}\right)=\sum _{n_{1}}\sum _{n_{2}}...\sum _{n_{m}}[e'\left(n_{1},n_{2},...,n_{m}\right)]^{2}

Let the input signal be \delta \left(n_{1},n_{2},...,n_{m}\right). Now, the numerator coefficient a\left(n_{1},n_{2},...,n_{m}\right) is zero outside region 0\leq n_{1}\leq N_{1}-1\,\&\,0\leq n_{2}\leq N_{2}-1...,0\leq n_{m}\leq N_{m}-1 because of the ROS of input signal.Then equation becomes

e'\left(n_{1},n_{2},...,n_{m}\right)=-\sum _{q_{1}=0}^{M_{1}-1}\sum _{q_{2}=0}^{M_{2}-1}...\sum _{q_{m}=0}^{M_{m}-1}b\left(q_{1},q_{2},..,q_{m}\right)d\left(n_{1}-q_{1},n_{2}-q_{2}\right)\,;\, for n_{1}\geq N_{1}-1 or n_{2}\geq N_{2}-1 or ... n_{m}\geq N_{m}-1

Substituting the result e' into e_{2}' and differentiating e'_{2} with respect to denominator coefficients b\left(q_{1},q_{2},...,q_{n}\right), the linear set of equations is obtained as

\sum _{m_{1}=0}^{M_{1}-1}\sum _{m_{2}=0}^{M_{2}-1}...\sum _{m_{m}=0}^{M_{m}-1}b\left(m_{1},m_{2},...,m_{m}\right)r\left(m_{1},m_{2},...,m_{m};q_{1},q_{2},...,q_{m}\right)=0\,;\, for 0\leq m_{1}<M_{1};0\leq m_{2}<M_{2};...;0\leq m_{m}<M_{m}

Now, taking the double summation for the region "R" i.e. for n_{1}\geq N_{1}-1 and n_{2}\geq N_{2}-1 and ... n_{m}\geq N_{m}-1 shown in figure (shown for 2-D case), the coefficients b\left(n_{1},n_{2},...,n_{m}\right) are obtained.

The coefficients a\left(n_{1},n_{2},...,n_{m}\right) can be obtained from

a\left(n_{1},n_{2},...,n_{m}\right)\approx b\left(n_{1},n_{2},...,n_{m}\right)*d\left(n_{1},n_{2},...,n_{m}\right)

The major advantage of Shank’s method is that IIR filter coefficients can be obtained by solving linear equations. The disadvantage is that the mean squared error between y and d is not minimized. Also, the stability is not certain.

Frequency-domain designs for IIR [2]

Shank’s method is a spatial-domain design method. It is also possible to design IIR filters in the frequency domain. Here our aim would be to minimize the error in the frequency domain and not the spatial domain.Due to Parseval's theorem we observe that the mean squared error will be identical to that in the spatial domain.Parseval's theorem states that[2]

\sum _{n_{1}}\sum _{n_{2}}...\sum _{n_{n}}[y(n_{1},n_{2},....n_{n})-d(n_{1},n_{2},....n_{n})]^{2}=1/(2\pi )^{n}\int \limits _{-\pi }^{\pi }\int \limits _{-\pi }^{\pi }....\int \limits _{-\pi }^{\pi }\left\vert Y(w_{1},w_{2},...w_{n})-D(w_{1},w_{2},...w_{n})\right\vert ^{2}dw_{1}dw_{2}..dw_{n}

Also the different norms that are used for FIR filter design such as L_{2},L_{p} and L_{\infty } can also be used for the design of IIR filters

E_{p}=[1/(2\pi )^{n}\int \limits _{-\pi }^{\pi }\int \limits _{-\pi }^{\pi }...\int \limits _{-\pi }^{\pi }\left\vert E(w_{1},w_{2},...w_{n})\right\vert ^{p}dw_{1}dw_{2}...dw_{n}]^{1/p}

is the required equation for the L_{p} norm and when p tends to \infty we get the L_{\infty } norm as explained above

E_{\infty }=\max _{(w_{1},w_{2},...w_{n}\in B)}\left\vert E(w_{1},w_{2},...w_{n})\right\vert

The main advantages of design in the frequency domain are

The main disadvantage of this technique is that there is no guarantee for stability.

General minimization techniques as seen in the design of IIR filters in the spatial domain can be used in the frequency domain too.

One popular method for frequency domain design is the Magnitude and magnitude squared algorithms.

Magnitude and Magnitude squared Design algorithm

In this section, we examine the technique for designing 2-D IIR filters based on minimizing error functionals in the frequency domain. The mean-squared error is given as

{\frac {1}{\left(2\pi \right)^{m}}}\int _{-\pi }^{\pi }\int _{-\pi }^{\pi }...\int _{-\pi }^{\pi }|Y\left(w_{1},w_{2},...,w_{m}\right)-D\left(w_{1},w_{2},...,w_{m}\right)|^{2}dw_{1}dw_{2}...dw_{m}

The below function J_{a} is the measure of difference between two complex functions - the desired response D\left(w_{1},w_{2},...,w_{m}\right) and the actual response Y\left(w_{1},w_{2},...,w_{m}\right). Generally, we can define a complex function f of Y to approximate the desired response D. Hence, the optimization task boils down to the task of minimizing f(Y)-D.

J_{a}=\sum _{k}W\left(w_{1k},w_{2k},...,w_{mk}\right)[f\left({\frac {A\left(w_{1k},w_{2k},...,w_{mk}\right)}{B\left(w_{1k},w_{2k},...,w_{mk}\right)}}\right)-D\left(w_{1k},w_{2k},...,w_{mk}\right)]^{2}

where W\left(w_{1},w_{2},...,w_{m}\right) is the weighting function and \left(w_{1k},w_{2k},...w_{mk}\right) are frequency domain samples selected for minimization. Now, consider a case, where we ignore the phase response of the filter i.e. we concentrate on only matching the magnitude (or square of magnitude) of the desired and actual filter response. Linearization can be used to find out the coefficients \{a\left(n_{1},n_{2},...,w_{m}\right)\,b\left(n_{1},n_{2},...,w_{m}\right)\} that results in minimum value of J_{a}. This will ensure that the filter form can be represented by a finite order difference equation. The stability of the filter depends on the functionY\left(w_{1},w_{2},...,w_{m}\right).

The disadvantages of this method are,

Magnitude Design with a Stability Constraint

This design procedure includes a stability error J_{s}, which is to be minimized together with the usual approximation error J_{a}.[7] The stability error is a crude measure of how unstable a filter is. It is a type of penalty function. It should be zero for stable filters and large for the unstable filters. The filters can be designed by minimizing[2]

J=J_{a}+aJ_{s}

a is a positive constraint which weights the relative importance of J_{a} and J_{s}. Ekstrom et al.[7] used the nonlinear optimization techniques to minimize J. Their stability error was based on the difference between the denominator coefficient array and the minimum-phase array with the same autocorrelation function.

The minimum phase array can be determined by first computing the autocorrelation function of the denominator coefficient array b\left(n_{1},n_{2}\right).

r_{b}\left(n_{1},n_{2}\right)=\sum _{q_{1}}\sum _{q_{2}}b\left(q_{1},q_{2}\right)b\left(q_{1}+n_{1},q_{2}+n_{2}\right)

After computing r_{b}, its Fourier transform R_{b}\left(w_{1},w_{2}\right) must be split into its minimum- and maximum-phase components. This is accomplished by spectral factorization using the complex cepstrum.

We form the cepstrum r_{b}\left(n_{1},n_{2}\right) of the autocorrelation function is formed and multiplied by a non symmetric half-plane window w\left(n_{1},n_{2}\right) to obtain the cepstrum,

b_{mp}\left(n_{1},n_{2}\right)=r_{b}\left(n_{1},n_{2}\right)w\left(n_{1},n_{2}\right)

The subscript "mp" denotes that this cepstrum corresponds to a minimum phase sequence b_{mp}\left(n_{1},n_{2}\right).

If the designed filter is stable, its denominator coefficient array b(n_{1},n_{2}) is a minimum-phase sequence with non symmetric half-plane support. In this case, b(n_{1},n_{2}) is equal to b_{mp}(n_{1},n_{2}); otherwise it is not.

J_{s} can be denoted as,

J_{s}=\sum _{n_{1}}\sum _{n_{2}}[b(n_{1},n_{2})-b_{mp}(n_{1},n_{2})]^{2}

In practice, J_{s} is rarely driven to zero because of numerical errors in computing the cepstrum r_{b}\left(n_{1},n_{2}\right). In general, r_{b}\left(n_{1},n_{2}\right) has infinite extent, and spatial aliasing results when the FFT is used to compute it. The degree of aliasing can be controlled by increasing the size of the FFT.

Design and Implementation of M-D Zero-Phase IIR Filters

Often, especially in applications such as image processing, one may be required to design a filter with symmetric impulse response. Such filters will have a real-valued, or zero-phase, frequency response. Zero-phase IIR filter could be implemented in two ways, cascade or parallel.[2]

1. The Cascade Approach

In the Cascade approach, a filter whose impulse response is h\left(n_{1},n_{2}\right) is cascaded with a filter whose impulse response is h\left(-n_{1},-n_{2}\right). The overall impulse response of the cascade is h\left(n_{1},n_{2}\right)**h\left(-n_{1},-n_{2}\right). The overall frequency response is a real and non-negative function,

C\left(w_{1},w_{2}\right)=\left\vert H\left(w_{1},w_{2}\right)\right\vert ^{2}

The cascade approach suffers from some computational problems due to transient effects. The output samples of the second filter in the cascade are computed by a recursion which runs in the opposite direction from that of the first filter. For an IIR filter, its output has infinite extent, and theoretically an infinite number of its output samples must be evaluated before filtering with the h\left(-n_{1},-n_{2}\right) can begin, even if the ultimate output is desired only over a limited region. Truncating the computations from the first filter can introduce errors. As a practical approach, the output form the first filter must be computed far enough out in space depending on the region-of-support of the numerator coefficient array a\left(n_{1},n_{2}\right) and on the location of the to-be-computed second filter's output sample, so that any initial transient from the second filter will have effectively died out in the region of interest of the final output.

2. The Parallel Approach

In the Parallel approach, the outputs of two non symmetric half-plane (OR four non-symmetric quarter-plane) IIR filters are added to form the final output signal. As in the cascade approach, the second filter is a space-reserved version of the first. The overall frequency response is given by,

P\left(w_{1},w_{2}\right)=H\left(w_{1},w_{2}\right)+H^{*}\left(w_{1},w_{2}\right)=2{\text{ Re}}[H\left(w_{1},w_{2}\right)]

This approach avoids the problems of the cascade approach for zero-phase implementation. But, this approach is best suited for the 2-D IIR filters designed in the space domain, where the desired filter response d\left(n_{1},n_{2}\right) can be partitioned into the proper regions of support.

For a symmetric zero-phase 2-D IIR filter, the denominator has a real positive frequency response.

H\left(w_{1},w_{2},...,w_{m}\right)={\frac {A\left(w_{1},w_{2},...,w_{m}\right)}{B\left(w_{1},w_{2},...,w_{m}\right)}}

For 2-D zero-phase IIR filter, since

a\left(n_{1},n_{2}\right)=a\left(-n_{1},-n_{2}\right)

b\left(n_{1},n_{2}\right)=b\left(-n_{1},-n_{2}\right)

We can write,

A\left(w_{1},w_{2}\right)=\sum _{n_{1}}\sum _{n_{2}}a'\left(n_{1},n_{2}\right)cos(w_{1}n_{1}+w_{2}n_{2})

B\left(w_{1},w_{2}\right)=\sum _{n_{1}}\sum _{n_{2}}b'\left(m_{1},m_{2}\right)cos(w_{1}m_{1}+w_{2}m_{2})

We can formulate the mean-squared error functional that could be minimized by various techniques. The result of the minimization would yield the zero-phase filter coefficients {a'\left(n_{1},n_{2}\right),b'\left(n_{1},n_{2}\right)}. We can use these coefficients to implement the designed filter then.

References

  1. Kwan, H. K., and C. L. Chan. "Multidimensional spherically symmetric recursive digital filter design satisfying prescribed magnitude and constant group delay responses." IEE Proceedings G (Electronic Circuits and Systems). Vol. 134. Issue 4, pp. 187 – 193, IET Digital Library, 1987
  2. 1 2 3 4 5 6 7 8 9 10 11 Dan E. Dudgeon, Russell M. Mersereau, "Multidimensional Digital Signal Processing", Prentice-Hall Signal Processing Series, ISBN 0136049591, 1983.
  3. Russell M.Mersereau, Wolfgang F.G. Mecklenbrauker, and Thomas F. Quatieri, Jr., “McClellan Transformation for 2-D Digital Filtering: I-Design,” IEEE Trans. Circuits and Systems, CAS-23, no. 7 (July 1976),405-14.
  4. Wolfgang F.G. Mecklenbrauker and Russell M. Mersereau, “McClellan Transformations for 2-D Digital Filtering: II-Implementation,” IEEE Trans. Circuits and Systems, CAS-23, no.7(July 1976), 414-22.
  5. James H. McClellan and David S.K. Chan. “A 2-D FIR Filter Structure Derived from the Chebyshev Recursion,” IEEE Trans. Circuits and Systems, CAS-24, no.7 (July 1977), 372-78.
  6. Roh T., Bogdan D.,Vandenberghe L., "Multidimensional FIR Filter Design Via Trigonometric Sum-of-Squares Optimization," 'IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING (12/2007)', Vol. 1, No. 4, Page 1-10
  7. 1 2 Ekstrom, Michael P., Richard E. Twogood, and John W. Woods. "Two-dimensional recursive filter design--A spectral factorization approach." Acoustics, Speech and Signal Processing, IEEE Transactions on 28.1 (1980): 16-26.
This article is issued from Wikipedia - version of the Friday, December 11, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.