SYSTEM IDENTIFICATION OR SYSTEM MODELING

11.2 SYSTEM IDENTIFICATION OR SYSTEM MODELING

To formulate the problem, let us refer to Figure 11.2. We have an un- known linear system that we wish to identify. The unknown system may

be an all-zero (FIR) system or a pole-zero (IIR) system. The unknown system will be approximated (modeled) by an FIR filter of length N . Both the unknown system and the FIR model are connected in parallel and are excited by the same input sequence {x(n)}. If {y(n)} denotes the output of the model and {d(n)} denotes the output of the unknown system, the error sequence is {e(n) = d(n) − y(n)}. If we minimize the sum of squared errors, we obtain the same set of linear equations as in (11.7). Therefore, the LMS algorithm given by (11.8) may be used to adapt the coefficients of the FIR model so that its output approximates the output of the unknown system.

11.2.1 PROJECT 11.1: SYSTEM IDENTIFICATION There are three basic modules that are needed to perform this project.

1. A noise signal generator that generates a sequence of random numbers with zero mean value. For example, we may generate a sequence of uniformly distributed random numbers over the interval [−a, a]. Such

a sequence of uniformly distributed numbers has an average value of zero and a variance of a 2 /3. This signal sequence, call it {x(n)}, will be

used as the input to the unknown system and the adaptive FIR model. In this case the input signal {x(n)} has power P 2 x =a /3. In MATLAB

this can be implemented using the rand function.

FIGURE 11.2 Block diagram of system identification or system modeling problem

Chapter 11

APPLICATIONS IN ADAPTIVE FILTERING

2. An unknown system module that may be selected is an IIR filter and implemented by its difference equation. For example, we may select an IIR filter specified by the second-order difference equation

d(n) = a 1 d (n − 1) + a 2 d (n − 2) + x(n) + b 1 x (n − 1) + b 2 x (n − 2) (11.11)

where the parameters {a 1 ,a 2 } determine the positions of the poles and {b 1 ,b 2 } determine the positions of the zeros of the filter. These param- eters are input variables to the program. This can be implemented by the filter function.

3. An adaptive FIR filter module where the FIR filter has N tap coeffi- cients that are adjusted by means of the LMS algorithm. The length N of the filter is an input variable to the program. This can be imple- mented using the lms function given in the previous section.

The three modules are configured as shown in Figure 11.2. From this project we can determine how closely the impulse response of the FIR model approximates the impulse response of the unknown system after the LMS algorithm has converged.

To monitor the convergence rate of the LMS algorithm, we may com- pute a short-term average of the squared error e 2 (n) and plot it. That is,

we may compute

1 n+K !

ASE(m) = 2 e (k)

K k=n+1

where m = n/K = 1, 2, . . . . The averaging interval K may be selected to be (approximately) K = 10N . The effect of the choice of the step size parameter △ on the convergence rate of the LMS algorithm may be observed by monitoring the ASE(m).

Besides the main part of the program, you should also include, as an aside, the computation of the impulse response of the unknown system, which can be obtained by exciting the system with a unit sample sequence δ (n). This actual impulse response can be compared with that of the FIR model after convergence of the LMS algorithm. The two impulse responses can be plotted for the purpose of comparison.