^{1}

^{*}

^{2}

^{2}

^{2}

^{*}

This work describes a novel adaptive matrix/vector gradient (AMVG) algorithm for design of IIR filters and ARMA signal models. The AMVG algorithm can track to IIR filters and ARMA systems having poles also outside the unit circle. The time reversed filtering procedure was used to treat the unstable conditions. The SVD-based null space solution was used for the initialization of the AMVG algorithm. We demonstrate the feasibility of the method by designing a digital phase shifter, which adapts to complex frequency carriers in the presence of noise. We implement the half-sample delay filter and describe the envelope detector based on the Hilbert transform filter.

Theory and design of the adaptive FIR (finite impulse response) filters is recently impacted by high speed digital communication systems such as video and image processing. The multi-rate data acquisition VLSI devices based on the tree structured discrete wavelet transforms (DWTs) have significantly advanced with the adaptive techniques such as data compression, adaptive noise cancellation and channel equalization [1-3].

The IIR (infinite impulse response) filter structures are not as popular as the FIR filters in signal decomposition and multi-scale analysis. Also the adaptive IIR filters are generally only marginally stable since the poles may travel outside the unit circle during the adaptation process. However, recently the time reversed filtering procedure was introduced, which enables the implementation of the IIR filters having poles outside the unit circle [

The IIR filter consists of the transfer function

The output of the filter in discrete-time domain can be computed recursively as

In this equation and are the coefficients of the nominator and denominator polynomials, and are the input and output signals. In process, control literature (2) is usually named as autoregressive moving average (ARMA) signal model.

In this work, we introduce an adaptive matrix/vector gradient (AMVG) algorithm for design of IIR filters and ARMA systems. We apply the SVD-based null space solution for the initialization of the AMVG algorithm. Finally, we prove the usefulness of the AMVG algorithm in the design of digital phase shifter,

The input-output relation of the discrete-time IIR filter (1) can be written as

where and denote z-transforms of the input and output signals. This yields

By defining the Hankel data matrices

where and the coefficient vectors and, we obtain

where is a zero vector.

In the following we describe the SVD-based null space solution of the coefficient vectors in (7). Let us replace the input-output data matrix by a short notation. By applying the singular value decomposition (SVD) we have, where matrices

and contain the left and right singular vectors (column vectors) and matrix the singular values in descending order. Matrices and are unitary: and, where denotes the unity matrix. This gives, i.e. . Finally we may write

for. Equation (8) forms the basis for the SVD-based initialization method. By searching very small singular value, the right singular vector equals vector in (7) yielding the solution for the coefficient vectors. In the presence of noise the dimensions of the data matrix should be selected so that there appears only one tiny singular value. This can be also achieved by zeroing the rest of the tiny singular values in SVD decomposition of the data matrix.

In applications where the coefficient vector is time varying, the SVD computation is unacceptably time consuming. Therefore the SVD-based solution is only justified in the initialization of the IIR filter design. In the following we describe a fast matrix/vector gradient (AMVG) algorithm for adaptive computation of the IIR filter parameters.

For adaptation of the and coefficient vectors we define the adaptation error vector as

The mean square error (MSE) is computed as. The coefficient vectors are then updated by the gradient algorithm as

where denotes the adaptation gain factor. This is followed by the gain normalization

The normalization (11) fixes the coefficient. In our experience the post normalization of the gain warrants more reliable convergence of the algorithm compared with fixing directly in (10). Since the gradient algorithm is based on the use of the same data matrices and as in the SVD-based solution, the initial selection of the coefficient vectors in (10) may be the same as in the SVD-based solution. Using arbitrary coefficient vectors as initial guess would possibly result in the convergence to the local minimum.

Many IIR filters designed by the present method are not readily implementable, since the poles may lie outside the unit circle. In this case the poles outside the unit circle must be considered separately. The denominator polynomial is divided into anticausal (AC) and causal (C) parts

where the roots are outside the unit circle. The anticausal filter can be implemented by the time reversed filtering procedure [

where the poles are outside the unit circle. The filters in (13) can be implemented by the following time reversed filtering procedure. First we replace z by

where and are z-transforms of the input and output signals.

and are the z-transforms of the time reversed input and time reversed output

. The filter is stable having a pole inside the unit circle. The following Matlab program revfilter.m demonstrates the computation procedure:

In many IIR filter realizations the poles of the transfer function lie close to the unit circle and unstable conditions and oscillations may occur when filtering timevarying signals with abrupt changes and discontinuities. Let us consider the modification of the denominator polynomial of the IIR filter where the z-transform variable is multiplied by

The roots of the modified polynomial are transferred towards the origin of the unit circle, which increases the inherent stability of the filter. We may observe that this is equivalent if we weight the IIR filter coefficients as, which can be directly inserted to the gain normalization procedure (11).

The computation speed of the AMVG algorithm can be increased by using the sequential blocks of input and output data. We may define the data matrices as and, where and W is the length of the data block.

With a slight modification the AMVG algorithm can be implemented to state-space system identification. Let us define the state-space model as

where the state vector, the state transition matrix, matrices. Vectors contain the input and output signals. Vector is a random zero mean observation noise sequence. By defining the Hankel data matrices (5) and (6) the ARMA model polynomials (1) can be identified. Then we may formulate (16). However, it should be pointed out that the state-space solution is not unique. We prefer the companion matrix structure of the state transition matrix, which allows the direct insertion of the polynomial coefficients in (1). Fast computational algorithms are presented in [5,6].

Our purpose is to design a digital phase shifter, which adapts to M frequency carriers buried in heavy noise. The prototype IIR filter has the transfer function

The output signal has the phase shift in respect to the input signal. Hence, the envelope of the carrier wave is obtained as

The tracking performance of the adaptive matrix/vector gradient algorithm is illustrated in

heavy noise. The envelope in upper picture attains a constant level in about 7 - 10 rounds. In lower picture the envelope is clearly fluctuating in the presence of high noise component.

Our purpose is to optimize the digital IIR filter coefficients for half-sample operation. For the input signal, the filter output should equal. The prototype was selected as

where g is the gain factor. Due to the symmetric structure the prototype contains only three adjustable parameters. The test signal was a neuroelectric waveform recorded from the frontal cortex at sampling rate of 400 Hz with a 14 bit ADC. The experimental arrangement is described in detail in [

The results correlated highly significantly (intraclass correlation coefficient) with the data obtained by the B-spline polyphase decomposition method [

The validity of the adaptive half-sample delay filter (18) was tested by the signal where varied randomly in the range 0.9 - 1.1. The interpolation error was between - 1.2 percent. In our recent work [

In signal processing society the state-of-the art IIR filter and ARMA model design methods have a rich literature. Among adaptive filters the Kalman filter has a predominant role [9-13]. In many industrial and medical systems the least mean square (LMS) and recursive least squares (RLS) algorithms have their earned position [14,15]. A common disadvantage to all adaptive IIR structures is the relatively slow recovery from the anomalies occurring in the measurement signal such as transients, edges and

other discontinuities.

In this work we introduced the SVD-based null space method for initialization of the model parameters. As a clear advantage is the SVD-based method is the estimation of the model order. The number of non-zero singular values matches the rank of the data matrix, which equals the model order. The SVD-based initialization method rapidly recovers the IIR (ARMA) signal model after a mismatch. It should be pointed out that in the presence of extreme heavy noise, the SVD-based initialization usually achieves the correct filter coefficients for the data matrix, which contains only one tiny singular value and the rest of the data matrix can be considered to belong to the signal subspace. In the uptake process (10) the data matrices and are not noise free and the AMVG algorithm does not necessarily converge or has a poor convergence rate.

Compared with the previous gradient based adaptive algorithms such as LMS and RLS, the main difference in AMVG algorithm is involved in the definition of the system transfer function (1). In LMS algorithm the nominator contains only the gain factor (autoregressive signal model), but in AMVG algorithm the nominator is defined as polynomial. The measurement signals may contain a relatively large noise component and adaptation error in LMS algorithm is directly affected by noise. In definition (7) both the input and output signals are subspace reduced [16-18] by the SVD-based initialization method and the noise is not directly imposed in the adaptation error.

In this work we demonstrated the feasibility of the AMVG algorithm in the design of the digital phase shifter. An evident application would be the noise cancellation equipment, where the measured environmental noise serves as an input signal. The phase shifted output signal drives the loudspeaker and due to the negative feedback, the equipment eliminates noise in the measurement site. In previous noise reduction systems the fractional delay filters [4,19,20] have been implemented for that purpose.

The second example considered the construction of the half-sample filter, where three parameters in the AMVG algorithm were successfully optimized for a neuroelectric waveform [

Finally, we implemented the adaptive half-sample delay filter (18) for computation of the envelope of the sinusoid with varying frequency. The frequency jittering signals are common in industrial and medical instrumentation. For example the 50 Hz pick-up will interfere the ambulatory measurement of the ECG, EEG and EMG waveforms [1-3,21]. An efficient noise rejection method is yielded by adapting the signal to the transfer function in (17). A noise free signal is obtained by filtering the original waveform by the pole cancellation filter, where denotes complex conjugation. The pole in (17) corresponds the complex waveform, where. The frequency [Hz] should be close to 50 Hz.

As an important application of the AMVG algorithm is the prediction of the signal waveform for example in process control. For the input signal the system adapts to the output, where is the prediction step.

After convergence of the AMVG algorithm, we may use the result to predict the future behaviour of the process. Usually this gives prophylactic information for the system service planning etc. As an extra value, the magniture and phase response of the system can be computed applying e.g. Matlab freqz instruction.