Sie sind auf Seite 1von 3

658

IEEE TRANSACTIONS O N CIRCUITS AND SYSTEMS, VOL. 38, NO. 6, JUNE 1991

Partial Fraction Expansion Without Derivative Evaluation


0 Ol\

David Westreich
Abstract -A practical algorithm is given for computing the partial fraction expansion of a general rational function without derivative evaluations.

I. INTRODUCTION
b

.-*
~ilOS1

Consider the problem of expressing a rational function G(s) as the sum of partial fractions with constant coefficients where

IO

101

102

103

IO&

( Min.

Retention Time

Fig. 7. Measured charge retention characteristics of floating-gate tranis the amount of threshsistors at an elevated temperature. old voltage change from electrical programming.

very suitable for analog VLSI neural circuits due to the endurability of long-term information storage, the reprogrammability for neural adaptation, and the process compatibility with conventional VLSI circuits. By using the compact electronic synapse cell, a VLSI neural chip with 100 K programmable synapses can be fabricated using the one megabit CMOS process. ACKNOWLEDGMENT Valuable suggestions from the reviewers are highly appreciated. The authors would like to thank Dr. George Lewicki, the former director of the MOSIS Service at USC/Information Sciences Institute, for introducing them to the floating-gate neural circuit studies and for his stimulating comments. REFERENCES
[l] B. W. Lee and B. J. Sheu, Combinatorial optimization using competitive-Hopfield neural network, presented at Int. Joint Conf. Neural Networks, Jan. 1990. [2] H. P. Graf, L. D. Jackel, and W. E. Hubbard, VLSI implementation of a neural network model, IEEE Computer, vol. 21, pp. 41-49, Mar. 1988. [3] B. W. Lee and B. J. Sheu, Design of a neural-based A / D converter using modified Hopfield network, IEEE J . Solid-State Circuits, vol. 24, pp. 1129-1135, Aug. 1989. [4] M. Ismail, S. V. Smith, and R. G. Beale, A new MOSFET-C universal filter structure for VLSI, IEEE J. Solid-State Circuits, vol. 23, pp. 183-194, Feb. 1988. [5] M. Holler, S. Tam, H. Castro, and R. Benson, An electrically trainable artificial neural network (ETANN) with 10240 float gate synapses, in Proc. Int. Joint Conf. Neural Networks, vol. 2, pp. 191-196, June 1989. [6] L. R. Carley, Trimming analog circuits using floating-gate analog MOS memory, IEEE J . Solid-State Circuits, vol. 24, pp. 1569-1575, Dec. 1989. 171 C. A. Mead, Analog V Z S I and Neural Systems. Reading, MA: Addison-Wesley, 1989. 181 H. A. R. Wegener, Endurance model for textured-poly floating gate memories, in Pruc. IEEE Int. Electron Decices Meeting, pp. 480-483, Dec. 1984. [9] T. Quarks, SPICE3 Version 3C1 Users Guide, Electron. Res. Lab. Memo UCB/ERL M89/46, Univ. California, Berkeley, Apr. 1989. [lo] C. Tomovich, MOSIS: A gateway to silicon, IEEE Circuits and Devices Mag., vol. 4, pp. 22-23, Mar. 1988.

The a k are complex numbers and w = deg(Q(s)) 2 deg(P(s)) =p . This should be accomplished efficiently with minimum computational effort and maximum numerical accuracy. Many of the standard ways of obtaining the partial fraction expansion require the computation of the high-order derivatives of the terms of G ( s ) in the presence of multiple poles [2], [3]. These methods are complicated and can only be implemented if the coefficients of the polynomials are explicitly computed. However, one of the most difficult tasks to perform on a computer is the accurate calculation of the coefficients of a polynomial. Moreover, due to inaccurate coefficients and limitations of a computer, the value of a polynomial at a point can be determined more accurately from its factored form then from its explicit coefficient form. In order to avoid some of these shortcomings, and improve results, Wehrhahn [5] developed a method for expanding in partial fractions a rational function that avoids differentiation and the computation of the coefficients of Q ( s ) . However, it is most suitable for functions with a constant numerator. When P ( s ) is not a constant, then the function has to be reduced to one with a constant numerator, by repeated polynomial divisions. This process requiring coefficient evaluation, is inaccurate and quite complicated. Karni [I] was able to extend Wehrhahns algorithm to the case where P ( s ) is not a constant. He showed how to find the expansion, efficiently and accurately, without derivative evaluation and coefficient evaluation. However, his algorithm is limited to just those instances where p < n. We will show how his method may be extended to those cases where p > It. In addition we show how to reduce the roundoff error in its implementation. The procedure is rather straightfonvard and accurate, efficient, and easy to program.
11. THEMETHOD

We first note that for any nontrivial polynomial, Ip(z>I - + E as I z l + m and for high-degree polynomials Ip(z)l is likely to be huge even for moderate z. Thus if w and L are two poles of G ( s )where IwI > 1 ~ 1 , then the partial fraction coefficients correManuscript received May 25, 1990; revised October 15, 1990. This paper was recommended by Associate Editor R. Unbehauen. The author is with the Computer Center, Department 3851 MBT, Israel Aircraft Industries, Ltd., Yahud, Israel 56000. I E E E Log Number 9143703.

0098-4094/91/0600-0658$01 .00 01991 IEEE

IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS, VOL. 38, NO. 6, JUNE 1991

659

sponding to w are apt to be smaller in magnitude then those of Moreover due to the properties of floating point arithmetic more accurate results are obtained if a set of numbers are added by increasing order of magnitude. For these reasons we first order the poles of G ( s ) by increasing order of magnitude. Then we rearrange the terms of G ( s ) so it is in the form G ( s ) = gG,(s)G,(s)where we let
U.

V. EXPANDING E ( s ) / ( s-pi)

Let us assume that p i is the pole a, of E ( s ) . The partial fraction expansion of E ( s ) / ( s - a , ) is the sum of the partial expansions of

; for k = 1 is simply
Er( s ) / (

. .,n. The partial fraction expansion of E , ( s ) / ( s - a,)


s-a r )
=dr,

/( s -

'

. . + d r u ( r ) /( s - a,)

U(,)+

and

On the other hand the partial fraction expansion of Ek(s)/(s a,)for k # r is the sum of the partial fraction expansions of
vkj(s) = d k j / ( ( s - a r ) ( s - a k ) ' )

where the pi are m zeros of P ( s ) . The polynomial P,(s) and m can be chosen in any manner, convenient for the particular rational function to be expanded. Next we find the partial fraction expansion of gG,(s): where each
I n

for j = 1,. . .,v ( k ) . Using classical complex variable methods [41 one could readily show that for j = 1 ; . .,v ( k )

Thus the partial fraction expansion of Ek(s)/(s- a,)is given by


u(k)
Ek(s)/(sekl

/(s-

ar)-

eki

/(s-

.kli

i=l

where e k u ( k , = d k u ( k ) / ( a , - a k )and for u = v ( k ) - l ; . . , l , 111. ALGORITHM FOR COMPUTING Kj In order to avoid overflow we could evaluate K, as follows. Express Pl(s) = (s - y l ) . . . (s - yf), set K, := g and i := 0. Then f o r k = l ; . . , n a n d k # j s e t i : = i + l a n d u p d a t e K, bysetting K, := K,(aI - y , ) / ( a , - ( Y k ) when i Q f , and when i > f set K, := K, /(a,- a,). IV. MULTIPLE POLES If d = ( ~ ( 1 ) 1>+ . . . + ( p ( n ) - 1) and p , ; . . , p d are the poles of G , ( s ) including multiplicities, then G 2 ( s )can be expressed in the form G , ( s )= F , ( s ) x . . . X F,(s), where q = max{m, d } and
=[ek,o+l

+ dkul/(ar-(Yk).

VI. ALGORITHM FOR EXPANSION OF Fi(s)E(s)


We can therefore use the following method to find the partial fraction expansion of F,(s)E(s), where if p i = a, then we let

= a, -

pi.

u(

r ) := v( r )
= u(

+ 1; d,,

:= 0 ,

For j
d

r ) , . . . ,1

.:=

d,

+ z.d,,j-l,

if F i ( s ) satisfies (3) otherwise.

For k = n ; . . , l y := 0. Therefore, we complete the procedure by successively multiplying (1) by F,; . .,F, and finding the partial fraction expansion of each resultant product. After multiplying by the first i - 1 factors of G,(s) we obtain the partial fraction expansion

and k # r

For u = u ( k ) ; . . , l

Y
-kL,

:= [
:=

+dk(.]/(ar

-ak)

dk, - z . y ,
-

Y,

if F , ( s ) satisfies (3) otherwise. if F , ( s ) satisfies (3) otherwise.

+ 'zy,
d,, Let us assume for now that i Q d. If Fi(s) is of the form then it is readily verified that while if F,(s) is of the form F,(s) = l/(s we have

+y ,

When we have finished computing the expansion of Fi(s)E(s)will be

2, the partial fraction

-p,)

VII. EXPANDING (s - /3,)E(s) Now let us assume that Fi(s) =s-0 ., The partial fraction expansion of (s - P , ) E ( s ) is readily computed from the partial fraction expansion of E ( s ) in (2). It is the sum of the partial

Thus we will show how to compute the partial expansion of

E(s)/(s- P , ) .

660

IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS, VOL. 3X, NO. 6, JUNE 1 Y Y 1

fraction expansions of

Combining, we obtain
V (s ) Therefore,
= 74/(

1) + 24/(

1) - 85/( s - 2)

F( s)

(s+3) E ( s) (s-2) 14

VIII. ALGORITHM FOR EXPANSION OF (s - P,,)E(s)


If we first set c,, := 0 and use the following algorithm: For k = n ; . . , I
d k , v ( k ) + l := 0;

--

s-1

+-( s - l ) ? +-+s-2

24

-63

60

(s-2)

Finally we complete the expansion of G ( s ) by expanding G ( s ) = F ( s ) ( s +4)


s-1 24 -73 (s-2) ( a

p ( k ) := u ( k ) ;

c,, := c,, + d k l

For j = l ; . . , v ( k )
k l := dkl(aYX
-Pm)

+- ( s - 1 ) *+-+s-2
=

+ dkl + 1

then

Now,
60( s + 4)/( s - 2) -73( s + 4 ) / ( s - 2) 24( s + 4)/( s - I) 74(s + 4 ) / ( ~- 1 )

i
s

(s +4).

60/( s - 2) + 360/(
s -2)

2)

= - 73-438/( =

24/( s - I ) + 120/( s - 1)

= 7 4 + 3 7 0 / ( ~- 1).

Combining, we obtain

IX. EXAMPLE
Let G ( s )= ( s

G( s)

I + 394/( s - 1) + 120/( s - I)
-

378/( s - 2) + 360/( s - 2)

+ l)(s +2)( s + 3 ) ( s +4)/(s

1)*(s -2).

Express G ( s ) as G ( s )= G,(s)G,(s) where G , ( s )= (s + l)/[(s l ) ( s - 2)] and G,(s) = (s + 2)(s +3)(s + 4)/[(s - l)(s - 2)]. The partial fraction expansion of G , ( s )= - 2 / ( s - 1)+ 3/(s - 2). Next, we expand
GI(s)(s+2)/(s-l)= -2(s+2)/(s-I)* +3(s+2)/(s-l)(s-2).

REFERENCES
[ I ] S. Karni, Easy partial fraction expansion with multiple poles, Proc. IEEE, vol. 51, pp. 231-232, 1969. [2] C . F. Olsen and C. G. Brockus, Digital computation of inverse Laplace transforms, Simulation, vol. 37, pp. 197-202, 1976. [3] C. Pottle, On the partial fraction expansion of a rational function with multiple poles by digital computer, IEEE Truns. Circuit TheO V , vol. CT-11, pp. 161-162, 1964. [4] M. R. Spiegel, Complex variables, Schaums Outline Series, New York: McGraw-Hill, 1964. [5] E. Wehrhahn, On partial fraction expansion with high-order poles, IEEE Trans. Circuit Theory, vol. CT-14, pp. 346-347, 1967.

Now

- 2 ( s + 2 ) / ( s - 1)
while

-2/(s

1) -6/(s

- 1)

3( s + 2)/( s - 1)( s - 2)

= - 9/(

1) + 12/(
1)
-

s - 2).

Adding these two expansions we obtain E(s) =G ~ ( s ) ( +s2 ) / ( ~- 1) = - l l / ( s Next we expand

Design Methodology of CMOS Algorithmic Current A/D Converters in View of Transistor Mismatches
1)+ 12/( s - 2 ) .

-6/(s

Zhenhua Wang
Abstract -The CMOS algorithmic current A/D converter is analyzed with emphasis on the modeling and the quantitative description that relate the accuracy of the converter to the transistor mismatch and the reference current of the converter. This leads to a n inequality for determining the optimum sizes of the devices and the value of the reference current. It is shown that the area of the converter can be significantly reduced by scaling the devices per stage, without loss of accuracy and without a n increase of the reference current. Design strategies of the converter are demonstrated by a n example for a n 8-bit

To this end we first expand 12(s + 3 ) / ( s - 2) and obtain


12(s + 3 ) / ( s -2)
= 12/(s

-2)

+ 6 0 / ( s - 2).

On the other hand, we let V ( s )= ( - I l / ( s


- 1) -6/(s -

l))(s

+ 3)/(s
-

-2).
Manuscript received June 20, 1990; revised November 26, 1990. This paper was recommended by Associate Editor M. Ismail. The author is with the Institute of Electronics, Department of electrical Engineering, Swiss Federal Institute of Technology, CH-8092 Zurich, Switzerland. IEEE Log Number 9143704.

NOW, ( S + 3 ) / ( ~ - 2 ) = 1 +5/(s -21, ( - l l / ( s = 55/(s - 1)- 55/(s - 21, and (-6/(~-l))X(5/(~-2))=30/(~-1)

1 ) ) X ( 5 / ( ~-2))

+30/(s

1)-30/(

2).

0098-4094/91/0600-0660$01 .OO 01991 IEEE

Das könnte Ihnen auch gefallen