Abstract:
The invention pertains to a method and corrector (IC 6 ) for correcting an error in a parallel analog-to-digital conversion. Such a correctable error is caused by uncertainties in the reading of the states of parallel comparing elements (IC 1,  IC 2,  IC 3,  IC 4 ) in the converter, said uncertainties being brought about by nonideality, such as non-simultaneous state latching. This error is corrected using a nonlinear cellular neural network preferably such that the real level of the phenomenon compared by means of comparing elements (IC 1,  IC 2,  IC 3,  IC 4 ) is estimated by estimating the states corresponding to correct reading of the comparing elements (IC 1,  IC 2,  IC 3,  IC 4 ) read temporally or otherwise erroneously.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
     Not Applicable 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not Applicable 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention relates to a method for correcting an error in fast parallel analog-to-digital conversion, and to a mixed-mode corrector for error correcting to be used particularly in mobile communications devices, and to a parallel A/D converter which uses the corrector according to the invention. 
     2. Description of the Related Art Including Information Disclosed Under 37 CFR 1.97 and 1.98 
     From the prior art it is known fast parallel A/D conversion, or flash A/D conversion, wherein multiple comparators are used. In a conversion the resolution of which is N bits, 2 N −1 reference signals are compared to the input signal, the reference signals being reference voltages having evenly increasing voltages. This technique is generally used in digital video equipment. The maximum speed of the converter is usually 15 to 300 million samples per second (MSPS). 
     FIG. 1 shows a prior-art parallel A/D converter. The series arrangement of resistors R 1 , R 2 , R 3 , R 4  and R 5  produces at the connection points steadily-rising reference voltages such that the values of the first resistor R 1  and last resistor R 5  in the ladder are half the values of intermediate resistors R 2 , R 3  and R 4 . Naturally there are more intermediate resistors if there are more comparators than shown in FIG.  1 . The second input signal of comparators IC 1 , IC 2 , IC 3  and IC 4  is an analog signal V IN  to be converted which is compared to the reference voltages mentioned above. As the analog signal voltage V IN  rises, the inputs of the comparators change one after the other from zero to one, i.e. from ground to operating voltage. Coder IC 5  latches the output signals of the comparators at sampling decision moments into memory and converts the information stored to an N-bit byte of binary code. 
     A problem with known fast A/D converters are conversion errors caused by inaccurate timing of state transitions of individual comparators. Inaccuracy can be caused by clock jitter, among other things, and it may result in non-simultaneous comparator state transitions. As the analog signal level changes, non-simultaneous comparison may cause bubbles in the so-called thermometer code produced by comparator outputs. This is illustrated in the table below which shows six erroneous sets of output signals in the first columns and the best guess in the last column on the right. A set comprises  14  comparator output signals. The correct voltage level is seen on the horizontal line. 
     
       
         
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Examples of comparator errors in known A/D converter 
               
               
                   
               
             
             
               
                 0  0  0  0  1  0  0 
               
               
                 0  0  1  0  1  0  0 
               
               
                 0  0  0  0  0  0  0 
               
               
                 0  0  0  0  0  0  0 
               
               
                 0  0  0  0  0  0  0 
               
               
                 0  0  0  1  0  0  0 
               
               
                 1  0  0  1  0  0  0 
               
               
                 0  1  1  0  1  1  1 
               
               
                 1  1  1  0  1  1  1 
               
               
                 1  0  1  1  1  1  1 
               
               
                 1  1  1  1  1  1  1 
               
               
                 1  1  1  1  1  0  1 
               
               
                 1  1  1  1  1  0  1 
               
               
                 1  1  1  1  1  0  1 
               
               
                   
               
             
          
         
       
     
     In the first column of Table 1 the six lowest values are correct but the seventh value is erroneously zero, where ideal comparison would yield one. The next output is again one, but it should be zero. The six topmost outputs are correctly zeros. So, the A/D converter gives an inaccurate result. The next five columns show other possible error results. The last column on the right-hand side shows the ideal result. Several methods have been developed for error correcting in a parallel converter but they all involve a great number of logic circuits between the comparators and latch circuits. 
     It is an object of the invention to eliminate the above-mentioned inaccuracy with a reasonable amount of circuitry. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention pertains to a method for correcting an error in a parallel analog-to-digital conversion wherein the error is caused by uncertainty in the reading of the states of parallel comparators in the converter, said uncertainty being the result of nonideality, such as non-simultaneous state latching. In accordance with the invention the error is corrected using a cellular nonlinear neural network. 
     The invention also pertains to a corrector for correcting an error in a parallel analog-to-digital converter, said corrector including parallel comparing elements which have uncertainty error, such as non-simultaneous state latching, in comparison state reading. According to the invention the corrector comprises a cellular neural net-work for reducing the error caused by the uncertainty of the output state control of individual comparing elements by estimating the real comparison result on the basis of the state of the comparing element and its neighbourhood. 
     The invention also pertains to a parallel A/D converter that includes a corrector for correcting an error in a parallel analog-to-digital converter, said converter including parallel comparing elements which have uncertainty error, such as non-simultaneous state latching, in comparison state reading. In accordance with the invention the corrector includes a cellular neural network for reducing the error caused by the uncertainty in the reading of the states of individual comparing elements by estimating the real comparison result on the basis of the state of the comparing element and its neighbourhood. 
     Preferred embodiments of the invention are described in the dependent claims. 
     An information processing network modelled after the biological neural network is called a neural network. Computing by means of neural networks is considerably faster than serial information processing as the former functions parallely such that information is processed simultaneously in each computing unit. Neural networks are also advantageously capable of generalizing calculation which is considerably more difficult using conventional computing algorithms. 
     The invention utilizes a cellular neural network designed mainly for image processing wherein one computing unit is called a cell. The cells are arranged into a certain shape, such as a two-dimensional quadrangular or hexagonal shape. The cellular neural network is one type of neural network, also known as the cellular nonlinear network (CNN). In a nonlinear cellular network the cells get their input from the cells of their neighbourhood, information from the different cells is weighted, and a dynamic state is formed in the cells. A linear or nonlinear function is used in a cell to form a cell state output. The cell output is taken to the neighbourhood cells as input, as described above. This way, the weighted outputs of the neighbourhood cells also affect the dynamic state of a cell. Thus, the cells have one input signal and one output signal and, in addition, connections to their specified neighbourhood. 
     A cellular neural network can be programmed to carry out various computational tasks by weighting the signals from the neighbourhood in various manners. Advanced cellular neural networks can be integrated more compactly than the original ones. Advanced cellular neural networks, such as the full signal range (FSR), high gain, positive range, and positive range high gain network, can be integrated on a microcircuit more compactly than the original ones. The invention is preferably implemented using a positive range high gain cellular neural network wherein the cell output signal level extends from zero to one and changes as a bistable state, i.e. such that no permanent intermediate states are specified. 
     The cellular neural network theory and cellular nonlinear network are also discussed in patent documents U.S. Pat. Nos. 5,140,670, 5,355,528 and 5,717,834. 
     In accordance with the invention, a one-dimensional neural network is preferably used which has one cell per each comparing element. The neural network gets its input from the comparators and sends its output to the coder. Input signals from the comparators are latched such that the input signals remain in constant state during the correction computing carried out by the neural network and change again for the next sample. Similarly, output signals sent to the coder are latched such that the output signals remain in constant state during the correction computing carried out by the neural network and change when the correction computing is finished. 
     It is an advantage of the invention that fast A/D conversion can be made accurate by correcting the “bubbles” caused by one or more erroneous comparator outputs. 
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) 
     The invention will now be described in more detail with reference to the accompanying drawing wherein 
     FIG. 1 shows in the form of circuit diagram a known A/D converter, 
     FIG. 2 shows a two-dimensional neural network, 
     FIG. 3 shows in the form of circuit diagram a parallel A/D converter according to the invention, 
     FIG. 4 illustrates in the form of flow diagram a method according to the invention, 
     FIG. 5 illustrates the operating principle of a neural network cell, and 
     FIG. 6 shows a neighbourhood according to the invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 was discussed above in conjunction with the description of the prior art. 
     FIG. 2 shows a quadrangular two-dimensional 5×5 cellular network. In a cellular neural network a neighbourhood refers to the cells with which a particular cell has connections apart from its input and output signals. In the two-dimensional form a cell has neighbours at all sides, as can be seen in FIG.  2 . The hatched cell C in the middle is the cell examined and the broken line defines the neighbourhood, which in this case extends one cell away. 
     FIG. 3 shows in the form of circuit diagram a parallel A/D converter which includes a mixed mode corrector IC 6  according to the invention between the comparing elements IC 1 , IC 2 , IC 3 , IC 4  and the coder IC 5 . 
     FIG. 4 illustrates in the form of flow diagram a method according to the invention. Error correction is here divided into three stages such that at the first stage small one-comparator errors are corrected, at the second stage two-comparator errors, and at the third stage the correction of two-comparator errors continues. The second and third stages together correct a situation wherein the outputs of three adjacent comparators erroneously have zeros. All correction stages are position independent. 
     The following coefficients A, B and I are used in the computing:              A   =         [           a   1               a   2               a   3               a   4               a   5           ]                   B     =         [           b   1               b   2               b   3               b   4               b   5           ]                   I     =     I   1                 (   1   )                                
     In the coefficients, the elements a 1 , a 2 , a 3 , a 4 , a 5  of matrix A serve as coefficients for the preceding outputs of the neighbourhood cells. In the coefficients, the elements b 1 , b 2 , b 3 , b 4 , b 5  of matrix B serve as coefficients for the inputs of the neighbourhood cells. The outputs of the cells of the neighbourhood multiplied by the coefficients produce a result into which constant I is added. Values of the coefficient elements are relative and multiples of the unit quantity to be determined. Thus, the output of the middle cell is zero when the result is smaller than zero, or one when the result is greater than zero. 
     The state of a cell can be modelled using the equation                C                 v   x          (   t   )              t         =         -     1     R   x                v   x          (   t   )         +       ∑     C     k   ∈     N   T                  A        (   k   )              v     y   k            (   t   )           +       ∑       C   k       ∈     N   T                  B        (   k   )              v     u   k            (   t   )           +   I             (   2   )                                
     wherein the derivate for state v x  of cell C k  is determined in relation to time at moment t. C is the value of the capacitance of the integrating element of the cell, which gives the cell&#39;s time constant when multiplied by quantity R x . The four terms on the right-hand side of the equation are from left to right: the loss term, share of neighbourhood outputs, share of neighbourhood inputs, and the level adjustment term. In the terms mentioned above, v x , v y  and v u  are voltages appearing later on in FIG.  5 . The equation sums the effect of voltages v y  and v u  of the cells in the neighbourhood N T  on the state of the cell examined using tile corresponding coefficients of matrices A and B. Summed also is the current according to coefficient I. 
     Operation starts by first reading  1  the input signal from the comparing elements. Next, matrices are formed preferably using tile values below:              A   =         [   0   ]                   B     =         [         0           2           2           2           0         ]                   I     =     -   3                 (   3   )                                
     Cell output states are computed  3  according to the matrices (3). At this stage, errors of the size of one comparing element, i.e. errors not including adjacent erroneous comparison results (erroneous in the same direction, that is), are corrected. 
     After the computation, cell input is read  4  from the outputs according to the previous computation of neighbourhood cells. Next, matrices are formed preferably using the values below:              A   =         [   0   ]                   B     =         [         2           2           2           0           0         ]                   I     =     -   1                 (   4   )                                
     Cell output states are computed  6  according to the matrices (4). At this stage, errors of the size of two comparing element zeros are corrected. The cell output state following the computation is read  7  into cell initial state. Step  7  may be carried out automatically depending on the circuit arrangement in use. Next, matrices are formed preferably using the values below:              A   =         [         2           0           2           0           0         ]                   B     =         [         2           0           0           0           2         ]                   I     =     -   3                 (   5   )                                
     Final computing is carried out  8  for cell output states according to the matrices (5). At this stage it is checked whether there was initially a situation with two adjacent erroneous comparison results of two errors (in opposite directions), and errors with three adjacent zeros are corrected. Finally, cell outputs are read  9 . 
     The following coefficients A, B and I can be used instead of matrices (3), (4) and (5) to compute in one step:              A   =         [   0   ]                   B     =         [         2           2           2             0      \        -   2                 0      \        -   2             ]                   I     =     -   1                 (   6   )                                
     The three upper factors of the coefficient B are normal in function. The two lower factors are 0 when input is 1 and −2 when input is 0. 
     Also the following normal coefficients A, B and I can be used instead of matrices (3), (4) and (5) to compute in one step:              A   =         [   0   ]                   B     =         [         2           2           2           2           2         ]                   I     =     -   5                 (   7   )                                
     An advantage in the coefficient sets (6) and (7) is one phase operation and ease of implementation. The functional steps  4  to  9  are not executed. A disadvantage is correction ability for processing only one or two erroneous adjacent comparator outputs instead of three. 
     FIG. 5 shows a diagram illustrating the operating principle of a cell in a neural network according to the original theory wherein the size of the neighbourhood is 2. Voltage v u  across capacitance C u  in accordance with the comparison state is taken from a comparator to the cell input line. According to the original theory the voltage v u  could vary freely between [−1, 1], but in accordance with the invention, it varies preferably only according to the comparators digital output such that its value is either zero or one. Voltage v u  controls the voltage-controlled current sources I b1 , I b2 , I b4 , I b5  to the neighbourhood cells and current source I b3  to the same cell such that voltage v u  is multiplied by the corresponding matrix B coefficient B k  and the input is then taken to the control input of the corresponding voltage-controlled current source. Currents I x1 , I x2 , I x4 , I x5  are taken from the neighbourhood cells and current I x3  from own cell. Said currents I x1 , I x2 , I x3 , I x4 , I x4  are added to current I and the result is taken to an integrating capacitor C and resistor R x  in parallel with it so that voltage v x  appears across capacitor C. Current I is determined in template I. Voltage v x  is turned into voltage v y  by limiting it by means of a voltage-controlled current source I out  and resistor R y  between [−1, 1] at moment t according to the equation below: 
     
       
           v   y ( t )= f ( v   x ( t ))=½(| v   x ( t )+1|−| v   x ( t )−1|)  (8) 
       
     
     Voltage v y  is used to control the voltage-controlled current sources I a1 , I a2 , I a4 , I a5  to the neighbourhood cells and current source I a3  to the same cell such that voltage v y  is multiplied by the corresponding matrix A coefficient A k  and the input is then taken to the control input of the corresponding voltage-controlled current source. The coefficients A are called feedback terms and the coefficients B control terms. The use of coefficients here refers to the generation of a voltage control to a current source by multiplying the respective common control voltage by the matrix coefficient corresponding to the current source in order to produce the current source specific control voltage. When using the positive range high gain model, the cell output is limited to a step function in the range [0, 1]. 
     FIG. 6 shows seven cells  11 ,  12 ,  13 ,  14 ,  15 ,  16 ,  17  of a one-dimensional neural network according to the invention and therein a two-cell neighbourhood  18  on both sides of the middle cell  14 . The neighbourhood cells  12 ,  13 ,  15 ,  16  affect the middle cell  14  in a manner according to matrices A and B and constant I, as was described above in conjunction with the description of FIG.  3 . In accordance with their functions, matrix A is called the feedback term and matrix B the control term. 
     The cellular neural network according to the invention operates in mixed mode, i.e. the internal operation of the network is mainly analog, but the input and output signals are digital. 
     The properties of the cellular neural network that correct conversion errors can also be modified by altering the size of the neighbourhood. 
     In accordance with the invention, the parallel A/D converter and neural network are integrated on silicon using e.g. a 0.5 μm line width semiconductor process, but other line widths, too, can be used. In this case, the neural network cells can be realized using 35 transistors, for example. 
     The invention is not limited to the embodiments described above but many modifications are possible within the scope of the inventional idea defined by the claims set forth below.