22.01.2014 Views

download searchable PDF of Circuit Design book - IEEE Global ...

download searchable PDF of Circuit Design book - IEEE Global ...

download searchable PDF of Circuit Design book - IEEE Global ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40 Some Tools and Examples <strong>of</strong> Filter Synthesis<br />

imaginary parts with (3.3); this straightforward process yields<br />

n<br />

u= L:(a,X,-b,Y,),<br />

o<br />

(3.29)<br />

n<br />

v= L: (a,Y,+b,Xd.<br />

(3.30)<br />

o<br />

Furthermore, differentiating (3.1) with respect to z and following the same<br />

procedure yields<br />

(3.31 )<br />

(3.32)<br />

Clearly, (3.29)-(3.32) can be programmed easily in the BASIC language,<br />

especially since complex-variable calculations have been avoided. For the<br />

common situation where the given polynomials have only real coefficients,<br />

half the work in (3.29)-(3.32) can be eliminated, because all b, are zero. This<br />

and savings in synthetic division by quadratic factors make it worthwhile to<br />

have a separate real-coefficient, root-finding program.<br />

3.1.4. Root-Finder Program BASIC language Program B3-I is documented<br />

in Appendix B, including a flowchart and listing. This is similar to the<br />

Hewlett-Packard Co. (1976a) program in the RPN language. Given a polynomial<br />

as in (3.1), the program always starts at the point z=O.1 +jl (see Figure<br />

3.1). Subroutine 3000 calculates (3.28), (3.29), and (3.30). Only program lines<br />

2040-2070 are required to obtain the derivatives in (3.31) and (3.32), so that<br />

the adjustments in x and y can be calculated for the Newton-Raphson step in<br />

(3.9) and (3.10). If taking that step increases the objective function (goes too<br />

far up an opposite hill in Figure 3.1), then the steps are reduced by a factor <strong>of</strong><br />

4 in the flowchart loop to reentry point 2190 until a lower objective value is<br />

obtained. Note that while in that cutback loop, new derivatives are not<br />

required, because the search direction is unchanged. It is interesting to observe<br />

how seldom cutback is required by temporarily adding the lines in Table 3.1.<br />

Table 3.1.<br />

Temporary Code to Print Search<br />

Cutback in Program 83-1<br />

4005 PRINT ""'''''''CUTBACK''''''*ON ITER#"; L<br />

5035 PRINT" ITERS -"; L •<br />

Example 3.3. Input the coefficient real and imaginary parts for the polynomial<br />

f(z) = I - Z8. The roots are on the unit circle; they are located at the four

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!