Background of the Invention
The present invention relates to signal equalization in a modem for use in a digital communication system, and, more particularly, to an algorithm control method for a blind equalizer.
In a digital communication system, a transmitter inserts a predetermined training sequence into a transmission signal at a certain interval, and transmits the inserted signal to a receiver. The receiver, on the other hand, detects and recognizes the training sequence, thereby discriminating a pattern of the transmitted signal to perform signal equalization. However, the transmitter may not transmit the transmission signal together with the training sequence. In this case, the receiver cannot recognize the pattern and state of the received signal. A method for receiving and equalizing the transmission signal which does not include the training sequence is called a blind equalization. An equalizer of such a blind equalization system is used in a voice band modem or a modem for digital communications such as a full digital high definition television, etc.
Algorithms used in the blind equalization process include a Godard algorithm, a stop-and-go algorithm (SGA), and a decision-directed algorithm (DDA), as examples. The Godard algorithm is discussed in the reference, "Self-recovering Equalizer and carrier Tracking in Two Dimensional Data Communication System" by D. N. Godard (IEEE Transactions on Communication, Volume COM-28, No. 11, pp. 1867-1875, November 1980).
FIG. 1 is a block diagram showing a general blind equalization system. Generally, since the DDA is not converged until the channel distortion of the received signal is removed to a degree, the initial employment of the DDA can cause the equalization to fail. Thus, the Godard algorithm which can obtain excellent convergency even if the channel distortion is severe should be firstly executed and then a fine equalization should be executed with the DDA. In the blind equalization system, a Godard algorithm execution circuit 13 performs equalization using the Godard algorithm with respect to the applied unequalized signal Y.sub.n. When the number of signal equalizations using the Godard algorithm reaches a predetermined number, the blind equalization system controls a DDA execution circuit 14 to perform the signal equalization. Since then, the applied signal Y.sub.n is minutely equalized by the DDA of the DDA execution circuit 14, the SGA, or a modified SGA. In this manner, a coefficient C.sub.n which is obtained by the Godard algorithm execution circuit 13 or DDA execution circuit 14 is used for updating tap-weights of the blind equalizer 11.
However, in the conventional blind equalization system, the Godard algorithm is used a predetermined number of times and is converted into the DDA. Accordingly, the equalization becomes worse. Also, since a step size of the equalization coefficient is uniquely applied in each algorithm, stable convergency of the equalizer cannot be easily obtained.
European Patent Laid-open Publication No. 0,524,559 A2 by Paik et al., published on Jan. 27, 1993, attempts to solve these problems. This reference discloses the use of a constant modulus algorithm (CMA) which is similar to the Godard algorithm to initialize the equalization coefficients. The DDA is performed when the phase error of the signal equalized by the equalization coefficients matches a predetermined threshold value. If the phase error does not match the threshold value while performing the DDA, the CMA is again performed.
Summary of the Invention
The principal object of the present invention is to provide a compression algorithm control method in which conversion between a Godard algorithm and a DDA is adaptively performed in a blind equalization system according to a degree of the convergency of a received signal. The present invention also provides an algorithm control method for a blind equalization system capable of adaptively varying a step size of an equalization coefficient.
To accomplish the above and other objects of the present invention, there is provided an algorithm control method for a blind equalization system in which a received data signal for a digital communication system is blind-equalized according to an equalization coefficient, which is generated by an equalization algorithm. The algorithm control method includes the steps of: a) initializing a first step size into a predetermined value, b) executing, a predetermined number of times, a first algorithm which is capable of removing channel distortion according to the first step size irrespective of phase error, to thereby perform initial equalization, c) altering the first step size using an error value corresponding to initially equalized first algorithm, d) executing the first algorithm according to the altered first step size and adaptively varying the first step size, to thereby perform first adaptive equalization, e) comparing a first conversion decision variable value which is obtained in step d) with a first reference value in size, f) converting an algorithm for generating the equalization coefficient according to the comparison result of step e) into a second algorithm, g) altering a second step size by executing the second algorithm and using the error value according to the execution of the second algorithm, h) executing the second algorithm according to the altered second step size and adaptively varying the second step size, to thereby perform second adaptive equalization, i) comparing a second conversion decision variable value which is obtained in step h) with a second reference value in size, and j) converting an algorithm for generating the equalization coefficient according to the comparison result of step i) into the first algorithm.
Brief Description of the Drawings
FIG. 1 is a block diagram showing a general blind equalization system, which is equally useful in understanding both a conventional blind equalization system and a blind equalization system according to the present invention.
FIG. 2 is a conceptual diagram illustrating a calculation method of a distance average value.
FIGS. 3A and 3B are flowcharts of an algorithm control method in a blind equalization system according to the present invention.
Detailed Description of the Preferred Embodiment
A preferred embodiment of the present invention will be described below in more detail with reference to the accompanying drawings.
The present invention uses an average value of a distance between a received signal and a decision point. The distance average value is identical to an average value of the decision-directed error, and is used for conversion between the algorithms. Here, the received signal is an input signal Y.sub.n which is applied to the blind equalization system. The decision point is data a.sub.n which is finally decided and output from decision circuitry 12. The received signal Y.sub.n and decision data a.sub.n are shown in FIG. 1. The distance average value d.sub.n is defined by the following equation (1) which is based on a distance value e.sub.n between the equalizer output signal Z.sub.n and the decision point. ##EQU1##
Distance value e.sub.n is defined by the following equation (2).
Here, e.sub.n,R and e.sub.n,I represent a real portion and an imaginary portion of the distance value e.sub.n, respectively, and are defined by the following equation (3). ##EQU2##
Here, Z.sub.n constitutes output data of the blind equalizer of FIG. 1, and a.sub.n is data of the point which is finally decided on constellation by the decision circuitry 12. Therefore, the distance value e.sub.n can be obtained by calculation using equalization (3), or by using a ROM table having variables for Z.sub.n and a.sub.n. The distance average Value d.sub.n can be obtained by using a transversal filter, which requires a considerable amount of cost in realization of the hardware. The present invention uses a circular buffer memory as shown in FIG. 2 or a first-in-first-out memory to embody the distance average value d.sub.n at a relatively low cost.
FIG. 2 is a conceptual diagram illustrating a method of calculation of the distance average value. In FIG. 2, a circular buffer 21 stores absolute values of N distance values (.vertline.e.sub.n-1 .vertline., .vertline.e.sub.n-2 .vertline., . . . , .vertline.e.sub.n-N .vertline.). Here, pointer P points to a position where the first input distance value .vertline.e.sub.n-N .vertline. has been stored. When a new distance value .vertline.e.sub.n .vertline. is input in the FIG. 2 apparatus, the circular buffer 21 outputs the first input distance value .vertline.e.sub.n-N .vertline. among the distance value of the position which is indicated by the pointer P (i.e., the data currently stored in the circular buffer 21) to an accumulator 23. The accumulator 23 subtracts the distance value .vertline.e.sub.n-N .vertline. from the distance accumulated value N.multidot.d.sub.n, which is fedback to its own adding port. The accumulator 23 also adds the newly input distance value .vertline.e.sub.n .vertline. to the distance accumulated value N.multidot.d.sub.n, which is obtained by subtracting distance value .vertline.e.sub.n-N .vertline. from distance value .vertline.e.sub.n .vertline..
On the other hand, the newly input distance value .vertline.e.sub.n .vertline. is stored in a position of the circular buffer 21 which is currently indicated by the pointer P, that is, a position where the value .vertline.e.sub.n-N .vertline. has been stored. In addition, the indication position of the pointer P moves to a position where the first input distance value is stored among the data stored in the circular buffer 21. That is, the indication position of the pointer P moves from value .vertline.e.sub.n-N .vertline. to .vertline.e.sub.n-N+1 .vertline. of the circular buffer 21. Accordingly, the data stored in the position of value .vertline.e.sub.n-N+1 .vertline. becomes the first input data among the data stored in the circular buffer 21. Also, the input order of N-1 distance values increases by one step. The data N.multidot.d.sub.n output from the accumulator 23 is multiplied by 1/N in a multiplier 25. As a result, the multiplier 25 outputs the distance average value d.sub.n. The equalization system shown in FIG. 1 uses thus-obtained distance average value d.sub.n and converts the algorithm for the signal equalization, into the Godard algorithm, and vice versa.
FIGS. 3A and 3B are flowchart diagrams of an algorithm control method in a blind equalization system according to the present invention.
The process begins with step 301 which turns the power on or alters the channel. After the system begins to operate, the step size is initialized (step 302). Here, an initialized value of the step size is experimentally determined according to the equalization system characteristics. The Godard algorithm is performed according to the initialized step size (step 303). A first flag is increased by one (step 304) following each iteration of the Godard algorithm. In step 305, a determination is made as to whether the first flag is smaller than 3,000 (step 305). Here, the first flag is the number of times by which the Godard algorithm is performed. The numerical number 3,000 which is used as a comparison reference value can be randomly determined according to the equalization system characteristics. If the flag is smaller than 3,000, the program returns to step 303 to perform the Godard algorithm again. On the other hand, if the first flag is not smaller than 3,000, that is, if the Godard algorithm is performed more than 3,000 times, the step size is altered. At the same time, a second flag is set to zero (step 306). Here, the step size is determined as a smaller value between the maximum value of the step sizes of the Godard algorithm that is experimentally determined for the stable convergence of equalization and K.sub.i /d.sub.n (K.sub.1 is a constant). Such a step size is varied by being inversely proportional to the distance average value d.sub.n. However, the maximum value is set so as not to exceed the maximum value of the step size of the Godard algorithm. The Godard algorithm is performed according to the altered step size (step 307). Then, a determination is made as to whether the distance average value d.sub.n is smaller than a predetermined first threshold value (step 308). Here, the first threshold value is a threshold value for determining conversion of the Godard algorithm into the DDA or the SGA, and is experimentally determined according to the system characteristics. If the distance average value d.sub.n is not smaller than the first threshold value, the step size is fedback and is decreased at step 309; the step size is decreased whenever the number of iterations the Godard algorithm is performed (at step 307) reaches a predetermined number of times. In the FIG. 3 embodiment, a reference number of times for decreasing the step size is set to 10,000 (for example). This value can be set optionally according to the system characteristics. Also, the step size of step 309 can be set as an optional size according to the hardware characteristics of the system.
On the other hand, if the distance average value d.sub.n is smaller than the first threshold value, the second value is increased by one (step 310). Then, it is checked whether the second flag is smaller than five (step 311). The value of the second flag is a variable for determining the sensitivity of the algorithm conversion, which is experimentally determined according to the system characteristics. Step 311 is for preventing the algorithm conversion of the Godard algorithm into the DDA from being excessively sensitive with respect to noise. If the second flag is smaller than five, the Godard algorithm of step 307 is again performed. In this case, the step size is also decreased at step 309 whenever the feedback number of times is a predetermined number of times. On the other hand, if the second flag is not smaller than five, the Godard algorithm is converted into the DDA (step 312).
The algorithm which is used for determining the equalization coefficient is converted into the DDA; the step size is again altered (step 312). At step 313, the step size is determined as a smaller value between the maximum value among the DDA step sizes that is experimentally determined for the stable convergence of equalization and K.sub.2 /d.sub.n (K.sub.2 is a constant). Such a step size is varied by being inversely proportional to a distance average value d.sub.n. However, the maximum value is set so as not to exceed the maximum value of the step size of the DDA. Also, a third flag is set to zero. Thereafter, the DDA is performed according to the altered step size (step 314). Then, it is checked whether distance average value d.sub.n which is involved with the DDA execution is larger than a second threshold value (step 315). Here, the second threshold value is a threshold value for being converted into the Godard algorithm from the DDA, and is experimentally determined according to the system. If the distance average value d.sub.n is not larger than the second threshold value, the DDA of the previous step 314 is performed. The step size is decreased at step 316 whenever the feedback number of times equals 10,000. Here, the feedback number of times, 10,000, can be optionally set according to the system characteristics.
On the other hand, if the distance average value d.sub.n is larger than the second threshold value, the third value is increased by one (step 317). Then, it is checked whether the third flag is smaller than five (step 318). When the system algorithm is converted into the DDA from the Godard algorithm, step 318 will prevent the algorithm from being excessively sensitively performed. Thus, a comparison reference value of the third flag is a reference value for determining sensitivity of the algorithm conversion, in a similar manner to that of the second flag, which is experimentally determined according to the system characteristics. If the third flag is smaller than five, the DDA of step 314 is again performed. In this case, the step size is decreased at step 316 whenever the feedback number of times equals 10,000. On the other hand, if the third flag is not smaller than five, the DDA is converted into the Godard algorithm (step 319), and fedback to step 306.
As described above, in the algorithm control method for the equalization system according to the present invention, a distance average value d.sub.n is obtained and compared with a predetermined threshold value, to convert the Godard algorithm into the DDA or the DDA into the Godard algorithm to perform conversion of the system algorithm. Here, the respective step sizes are varied according to the number of times by which the Godard algorithm or the DDA is performed. The thus-obtained distance average value is repeatedly compared with the threshold value. By doing so, the algorithm conversion is adaptively performed according to a degree of the convergency of the received signal. Accordingly, the received signal is equalized more quickly and better.