An economical method for calculating the discrete Fourier transform

Size: px
Start display at page:

Download "An economical method for calculating the discrete Fourier transform"

Transcription

1 An economical method for calculating the discrete Fourier transform byr. YAVE RaytMon Company Bedford, Massachusetts ITRODUCTIO With the advent of digital computers it became possible to compute the Discrete Fourier Transform for a large number of input points in relatively reasonable times. However, for certain uses a demand developed to compute the Discrete Fourier Transform in a very short time or even in real time. Also, a demand developed for computing the Fourier Transform for a very large number of input points. These demands resulted in a requirement for computing the Fourier Transform in the fastest time possible. A very economical way for computing the Fourier Transform was developed a few years ago and is known as the Cooley-Tukey Algorithm. This article describes another algorithm for computing the Discrete Fourier Transform where the required number of additions and subtractions is the same as in the Cooley-Tukey Algorithm; but the required number of multiplications is only one half of that in the Cooley Tukey Algorithm. The discrete Fourier transform and the Cooley-Tukey algorithm The Descrete Fourier Transform may be expressed by the following equation: -I. ZwkDT -I _j~ F = I l e -J T I,_ l'i n k=o k k=o K e forn=o.i.z _1 (I) In this equation, f 1c is the kth equally spaced discrete input point of the time function to be transformed. is the number of samples entering the transformation. F" is the nth term (the nth filter) of the Discrete Fourier Transform. The symbol T represents the time interval between input samples. Each term has a fre- 2r quency bandwidth of T and is centered at the fre- 2rn quency T- The Cooley -Tukey Algorithm is a very economical way of numerically computing equation (1). (It uses a small number of additions and multiplications.) This is especially true when is a power of 2 only. To develop this Algorithm for = 2 V we first note that: e - J. ( + 2'11'kn) 211'kn 11'11 -,;r n - J -,;;r = (-1) e Therefore equati,on (1) can now be rewritten as: -I ZIIka!t- I -j,,-, [ ], Zilka Fn = ~ 'k-.. r + (_Un' -J.,,- k=o k=o,'k ' + It for n=o.i H-I T (3) Let and For n even we can write n = 2t and obtain: ~- 1 H 1 _j~ r - _j Z., FU= r alt- : r 0:_ 7I for,'=o.i.,... ~_1 (6) ltd ltd k, Equation (6) is identical in form to equation (1) but it has half the number of input points and double the time interval be~ween two points, since only the even numbers of the sample points were used. As a result of this, the O"s may be treated as a new set of ~ input points (2) (4) (5) 115

2 116 Fall Joint Computer Conference, 1968 for a Discrete Fourier Transform. For n odd = 2.t + 1 we get: r - 1 -J Zwk(A' + I) r - I ( -J~) _j Zwk' F Zl + I r Ike r 'Jte.."'R7I k=o k=o lor' = O. 1 - _ 1 (7) 2-irk After the a,e's are multiplied by e- 1 they can also be treated as a set of new input points to a Discrete Fourier Transform but, with half the number of points and double the time interval between samples. This nrst step which divides the input points into O"'s and a's an d. mu I tip. l' les tea's h by the appropriate. e- 27rk 1 is ~hown in Figure 1 in a flow chart form for eight points. After this, the process is repeated with two groups, each containing 12 input points. The next repetition will be with four groups, each containing 14 input points. This continues until = 2 V groups are obtained, each containing I = 1 input point. These last input point.s are the desired F,.'s of the Fourier Transform. A complete flow chart of eight input points is shown in Figure 2. As seen in Figure 2, the output is riot in the regular numerical order. The transformed order may be obtained by expressing the numbers 0, 1, 2, in a hinary system, using 1) digits for each number, and reversing the bit order of each number. The new binary number will show the order of the output. As a result, we may say that the output is in a bit reversed order. The hit reversal for = 8 = 2 3, is shown in Figure 3. Another method for obtaining the desired output order is as follows: start with zero. Divide by two and add this to the zero to obtain the second number. Divide ~ by two and add this to the zero and the (U) '0 "0 '.... 'z "2 ".., '4 _1 2 ;0:. Z"" ' _jz", a.e.- I, _I Z : Z :-i -is 2 -i~:_je-i~' 2'" '7 -is,.it FIGURE I-Conversion of a set of 8 input points into 2 new ~ets fo 4 input points each IU) '0 ""0 '2 F z '3 F6 '4 '5 F5 '6 F3 '7 ""7 FIGURE 2-Complete flow chart for the Cooley-Tuke-y Fourier transform for 8 input points lui DEC'MAl REPRESETATIO BIARY REPRESElIIITlO BIARY DECIMAL OF UMERICAL ORDER OF _ERICAL ORDER BIT REVERSAL OUTPUT ' '--_ I ' _ 011--_ _ 7 FIGURE 3-Bit reversal method for 8 input points (0 + ~) to obtain two more numbers. Divide ~ by two and add to the four generated numbers to obtain four more numbers. Continue until I is obtained, which is also added to all the previously generated numbers. This completes the process. A demonstration of this method for = 8, and ~ = 16 is shown in Figure 4. It is worth noting that in the bit reversed order, the numbers in the case appear as every other number is thecase2. There are many variations of the Cooley-Tukey Algorithm. However, all require either the same or more arithmetical operations as the method described Pt:eviouslyand shown in the flow chart in Figure 2. This paper, however, is mainly concerned with a new algorithm, which uses the same number of additions, but only half as many multiplications as needed by the Cooley-Tukey Algorithm. The number of additions and multiplications required for the Cooley-Tukey Algorithm can be obtained by inspection of Figure 2. They are as follows: F4

3 Economical Method for Calculating Discrete Fourier Transforms ~-~,- CU) 01 o' o } AID ltla41 } 4- JlD4I2 2 2 ' 2 AGO 2/2 2 ' '5 IS )AlD2!Z=' The extra increase in the number of additions is based on the fact that a complex multiplication is made up of four real multiplications and two real additions. The amouilt of savings in operations is easily observed when compared with the straightforward processing of equation (1) which requires multiplications and additions each of the order of 2. As shown above, the Cooley-Tukey Algorithm is economical in the required number of add and multiply operations. However, this is not yet optimum. The search for a more economical way of solving equation (1) results in a new algorithm which is more economical than the Cooley-Tukey Algorithm. The required number of real additions is the same in both algorithms; however, the required number of real multiplications has been cut in half to: Real multiplications = (v - 3) + 4 (13) FIGURE 4-Method for generating the bit reversal order umber of complex additions and subtractions: Additions = LogZ = v umber of complex multiplications: Multiplications ::: ~ (v-i) D e I e t lng t h e m ul tip. I"!CatIOns e. 21r0 d -1 = 1; an. 21r / 4. h' h d b I e -, ~ = -J, w l~ are not compute y mutiplying, we obtain: Multiplication. = 2 (y - 1) - 2(2-1) = 2 (y - 3) + 2 Expressing equations (8) and (10) in terms of real additions and multiplications we have: Ileal addition. = 2v + 2 f ~ (v - 3) + 2] = 3 (v - 1) +. and real multiplications = 2 (v - 3) + 8 (8) (10) (11) (12) This algorithm is believed to be optimum as far as the number of required operations is concerned; however, it is more complicated, and therefore may result in a more difficult control problem when it is processed by a digital computer. The new algorithm The analysis of the new algorithm is restricted to, numbers of inputs,, which are pmyers of 2, namely, = 2V. The start of the algorithm is the same as in the Cooley-Tukey Algorithm. The input points are divided into O"s (sums) and 8's (differences). The O"S are again treated as a new set of input points, as shown by equation (6). However, the 8's are not multiplied, as in equation (7), but are processed as shown by the following equation: ~- I Co -J hle(fi + I) F2,f + I" ~o \e " [10 + (-I)' (-j) I ~ ] 't- I + t.1 {[ \ + (-I)' (-J) I l!. J -[I -(-I)' H) I J}.. - r- Ie ~+Ie co. Z1Ik(fI + I).. [10 + (-I)' (-j) I ~J + f -I ["Ie - 6. Ie=1 r - Ie) + H),f H) (I + I 'J co. 11Ik~A; + I) T- k T+ k This equation is valid fort = 0,1,2,... (~ - 1). Equation (14) was derived with the aid of the following equations: 2*1' + I) -j z"k(zi + 1) _j lid hk(w + I) e a COl (15) 211k(A + I) I z"q- - k)(zi + I) I h(t + k)(zi + I) COl.. (-I) lid a(_1) lid (16) ' 11Ik(W + I) Zw'T - k.(ii + 1) COl a-col (17)

4 118 Fall Joint Computer Conference, 1968 Equation (14) actually requires as many multiplications as equation (7). However, the complex multipliers of equation (7) are replaced by real cosine multipliers in equation (14). A multiplication of a complex number by a complex number requires, in general, four real multiplications and two real additions. A multiplication of a complex number by a real number requires only two real multiplications and no real additions. The saving in the number of real multiplications holds for the new algorithm, but the saving in additions does not hold since the new processing requires exactly as many new additions as has been saved by the real cosine multipliers. In equation (14) it is seen that if.e = 2m is even, then the term (-I).e is equal to + 1, and if.e = 2m + 1 is odd, then the term (-ll is equal to -1. Therefore, we may break up equation (14) into the following two equations: For.t even we have: - - I F 4m+l = (6 0 - j 6 ) + r [(~. 6 ) j (6 + 6 ) ] 4' 1t=1 '1'"- It T - It 4' + k coa Zwlt(t' + 1) (18) [ (U) (6k - 6. ) + j ( )] :: ~ T- k T- k T+ k (Z4) coaine Zwk (:;n+l) ::Ck (4m+l) With these notations we obtain for equations (18) and (20) : -.I f-i F 4m+l.. Po + 1: P k Ck (4m+I).. r k-i,1(.. 0 for m:o, I, 2,... ( -. 1) ~. 1 + r F 4M +3 = Q o k=1 f. I ~ Ck (4m+l) = r k.. O ~ Ck(4m+l) (ZZ) (Z3) (Z5) (26) a.nd for.t odd we have: for M:: (f I), ( -. Z), < -. 3).. ;Z, I, 0 add m: 0, I, Z,... cf - 3), (f - 2), (f I) (27) coa hk(~m+3) Both equations hold form = 0,1,2,..., ("4-1) If we reverse the order in equation (19) we obtain: F 4M+3 = (6 0 + j 6 ) + 4' coa hkijm+3) - - I L [(6 k 6 ) + j (6 + 6 ) ] k:1 T. k 4' - k 4' + k --t =(6 0 +j6 )+ r [(~.6 ) T k=1 T - k For M" < - - I). < - - Z), < - - 3)... ( - - -) add m,. 0, I, Z,... ( - - 1) (1') (20) Equations (26) and (27) will require identical processing procedures. However, the outputs for the odd t's will reverse their order as compared to the even t's (which will appear in the bit reversal order, as will be shown later in this paper). A flow chart for a sixteen point input case for processing the ci's up to the P k and Qk terms is shown in Figure 5. Equations (26) and (27) are of the same form as equation (1) but with real cosine multipliers instead of the complex exponential multipliers of equation (1). Unfortunately, the method of processing which leads to the Cooley-Tukey Algorithm is not. applicable to equations (26) and (27). The reason for this is that an exponential multiplier can be split in a manner shown in the following equation: e - j (a + b) = e. - ja e - j b (28) aince: This does not hold for a cosine multiplier, since III general: Zwk [ ~ ttl + 3] [] coa. coa hk(~ - 4" "co. hk ~"tu + I (zoe) To simplify the expression of equations (18) and (20) we introduce the following notation: cos (a + b) =1= cos a cos b (29) A new processing algorithm, which has the same order

5 Ec'ononlical Method for Calculating Discrete Fourier Transforms 119 IU) '0 'z 's '4 's " " '. '. '10 Pz 'II 'IZ 'IS '14 Qz Po PI Ps Qo QI tain the F 4m+ 1 output term, add all the multiplied PIc terms. The order of obtaining the output terms depends upon the order of selecting the m's. For simplicity, we start with m = O. The first output term will therefore be Fl. This output term also is the first odd term in the bit reversal order. The next output term in the bit reversal order is F. The calculation of this '2+ 1 output term is related to the calculation of the term Fl, and therefore will be computed next. To obtain the F output term we must subtract the sum 2' + 1 of all the odd multiplied PI: terms. This is easily seen from equation (26) which results in the following equation: ~- 1 F = L T + 4m+l k=o ~- 1 P k Ck (f + 4m+l) = L k=o - + 4m+l Pkco.2wk~ (30) lis FIGURE 5-Generation of the P and Q set from a set of 16 input points of efficiency as the one used in the Oooley-Tukey Algorithm, had to be designed for the cosine multipliers. Since the PIc'S and <be's require identical processing, only the PIc'S need be discussed. First, we multiply the PIc'S by the Ok (4m + 1)'s. Figure 6 show the multiplication process of the P's for the case = 16. To ob- Po 0 CO: I o Po Qs To make best use of equation (30) we place a constraint on the method of adding, that is, the even multiplied Pi terms should be added separately from the odd PIc terms. At the end, the sum of the even terms and the odd terms will yield Fl, and the difference of the even terms and the odd terms will yield F. One method of adding 2+ 1 the (~ - 1) terms, which fulfills the above/mentioned constraint, is as follows: First, add Po and the middle. term P~ 0(8); next add Pk Ok and P ~-k 0(4 - k) 8 4 for k = 1, 2, 3,... (~ - 1). The output is ~ terms added by pairs. The reason for selecting this method of addition becomes clear from the following analysis. To simplify further analysis we introduce the new notation PkCYk= U Y k (31) PI 0 CI o PI CI with this notation, the first process of addition yields two results 1AI and 1BI,k where: P 2 0 C2. o P 2 C2 (32) P 3 0 C3, o P 3 C3 and: (33) FIGURE 6-First multiplier set for the P set for the case = 16 We repeat the same process of addition with 1A1 and the

6 120 Fall Joint Computer Conference, 1968 lb1,,, 's, which consist of ~ terms, and obtain: (U) (34) IBZ.k = [IBI.k + IBI, _ ] = [IUk + IU i '8 k "ilk k = I.Z.3 (~ - l) (35) After the ith repetition we have: + I U + I U 3 + I U lui ]. zt+t 2m":IiI" (Z(l) Z. Z + (36) (37; lor k = (-:rvr I). 2 FIGURE 7-Addition of the "U" set for the case =64 After h. 3) repetition. we ha.. : +I U 4 +I U 4 ]fork=i=(~_i) (39) (n - I) - k (n - I) + k Z"- + A simple inspection of equations (38) and (39) shows that Av-s contains all the even U terms and Bv-s,l contains all the odd U terms. Adding and subtracting yields: F 1 = lav_3 + 1 B v _ 3, 1 (40) I t is naturally not enough to be able to compute two output terms. It should be possible, in the adding procedure, to. produce new terms so that at the end of the summation. all the output terms will be available. To accomplish this, each time we add terms, we also subtract them. It will be shown that the difference terms can be used. to produce new terms for computing the other output terms. The principle of producing the new terms is based on the following formula: z cos a. cos f3 = cos(a.+f3) + cos(a.-j3) (42) Before using this formula return to the first step in the addition process, as given in equations (32) and (33). The difference terms are produced as follows: IDI =[IUO - lu~] =[po - p~c~] (43) F' = A - B V - 3 Iv - 3, I Z A.Bow chart for adding the U's is shown in Figure 7 for the case of = 64. (41) lel.k = [IUk - lu~ -k] fork = I.Z,3... (~ - 1) (44) Multiply equation (44) by (-2C2k), and using equation (42) obtain:

7 Economical Method for Calculating Discrete Fourier Transforms 121 Adding the terms -aav-3 and --3B IJ - 3,1 we obtain the output term F +~3 which is equal to F Subtracting the term - -3B IJ - 3 I from _3A IJ - s we obtain the output term F -S. We cannot obtain the output terms F +3 and F 3 because these output 2" terms are constructed by the Q expressions and not bythep's. After completing the first step of adding and subtracting, and after multiplying the subtracted term-s by the appropriate cosines we will have two sets of terms, those prefixed by ones (IAI and the IB1,k'S) and those by threes (3AI and the -3B1,k'S). At this point we repeat the addition and subtraction process for each of the sets to obtain la2 and the IB2,k'S and ID2 and the IE2,k'S. We also obtain' aa2 and the -3B 2,k'S and SD2 and the -se2,k's. Figure 8 is a flow chart for = 64, which shows the first two steps of the addition and subtraction process discussed above, and also the processing of equation (46). otice that the results after processing equation (46) are in reverse order and thereijo,a. p,,11,1 /.I.,Ia,a,us ~ (45) P4 Pz 1-11,.~ The terms IBI,k were already computed. Adding them 1,0 equation (45) we obtain: ~ "1,1 IlJ7 ~l,i,lie sdz,lie ;El,I The expressions 3AI and - 3BI,k are the result of the first step in the previously discussed addition process, except that the 3BI,k'S have a minus sign in front of them. We may continue: and: 3 A Z = [3 A l - ( -3 B l' r;) ] (46a),lI,o iez,! p" ",E~,lJ,z saz,uis ilz,s,u", '111,1,U IS T'i, =64-3 B Z,k = [-3 B I'k +(-3 B I'l! _ k.) ] for K.. I, Z, 3... ( - 1). 17) (46b) continuing this process we obtain the terms aalj-3 and - 3BIJ- 3,1; but, 'aav-3 = -aalj-3, and - 3B IJ - 3,1 = - -3B IJ- S,I, since C1\k = coline Z ;('k = coline Zwk~-n) = C(-1t)k (47) FIGURE 8-Proces~ing of the "U" set into A,B,E, and D sets of the second order fore the' appropriate second step of the addition and subtraction process had to be reversed. The described method of processing is general and applies also for the case where m is not equal to zero. In this case, the appropriate multipliers would' be -2C2K(4m + 1) as seen from the following equation: [Pk Ck(4m+l) - P C( - k)(4m+l)] [-ZCZk(4m+l)] + P Ck(4m+1).-k k + P C(. -k) (4m+1) '" - P k C3k(4m+l) - P C3(~ _ k) (4m+l).-k -k... - P k C(-3)k(4m+l) - P C(-3) ( - k) (4m+l) - k for k '" 0,1, Z,..., (l! _ 1) Actually two new pairs of data can be obtained by multiplying by 2C(22r+lk) (4m +.1) for any positive integer of r. However only the multiplication by 2C2k (4m + 1) results in two pairs of data where one pair is already available and. can be subtracted to obtain the new pair. The substraction terms in the second step of the data processing are similar to the addition terms given in equations (34) and (35), and are as follows: (48)

8 122 Fall Joint Computer Conference, 1968 = ~z (49) w 1eo hay.: For II = I, Z, 3, (it - I) We multiply equation (50) by + (2C4k) and obtain: I E 2,1I(2C41t) " [ SUII + SU + SU + SU ] + [ u + U.-11 T-It T+ 1t 31t 3~_k + 3 U + 3 U ]" B + B For T - It T + It 5 2,It 3 2,It k =1,2, ( I) The terms -ab2;k have already been computed, and by adding them to equation (51) we obtain: From equation (46). and (46h we have: (50) (51) respective output terms F and F- 7 (see equa-. 2"-7 tion (47». In the second step of processing we see that the data in the two sets get interchanged. The first set results in. 'la 2, and, 6B2k, and the second set in 6A2, and -7B2,k. To simplify the processing, we exchange the places of the le2,k and the -ae2,k terms before they are multiplied by the 2C4K terms. Figure 9 is a flow chart for the case = 64, showing the second step of addi~on and subtraction, the exchange of terms, and the multiplication by the 2C4K terms. Inspection of Figure 9 shows that from this point the processing becomes repetitious. We started with two sets of data (lal; lbl,k) and (SAl; sbl,k), and finished with double the amount, namely four sets of data, one step further in the processing. We ended with (la2; lb2,k), (7A2; -7B2,k), (SA2; 6B2,k) and (SA2; -3B2,k). The sets with a prefix equal to one, modulo four, have plus Bk's, and appear in the chart with larger k's going down the column. The sets with a prefix equal to 3, modulo four, have minus Bk's, and appear in the chart with larger k's going up the column. Figure 10 shows the next (53) and A I B 1,1 =64 IA Z I BZ,I Z IB2,2 (54) I B I Z,3 IBI,4 7 A Z Multiplying equation (54) by (2C4k)-we obtain: - 3 E Z,k(ZC4k) = - [7 U k + 7U + 7U + 7U ].-k T-kT+k ,5 t 8 Z, ,6 7 B Z,Z BI,7 7 8 Z,I 3 A I 5 A Z 3 8 1,7 5 B Z.I For k = 1. Z ( "* _ 1) The terms IB2,k have already been computed, and by adding them to equation (55) we obtain: - 3E Z, k (ZC4k) + 1 B Z, k = - 7 B Z, k Completing the addition process for the two sets we will obtain: (6AV-3 ± ~v-a) which are equal to the respective output terms F6 and F We will also 2"+6 obtain 7AV-S± (-'lbv-a) which are equal to the (56) Z, ,5 5 B2,3 3 8 ',4 3 A Z,1 1,3 :;8Z, , Z 3 8 2, :;82,1 FIGURE 9-Processing of 2 set.s of A and B of the first order into 4 sets of A and B of the second order

9 Economical Method for Calculating Discrete Fourier Transforms 123,A. z ,1,B.1 Fl,,8.,. HF,A, -.,B.,. -,B.1 -,8,,1 f" A..a.., a... 8,..A. -,S'.1 -,8,.. -,8.,. F FIGURE 10-Processing of 4 sets of A and B of the second order into 16 final outputs for the case =64 H, F F" F Fl, HF step in the processing for = 64 and also the last step and the final outputs. Inspection of Figure 10 shows that the output terms based on the P's occupy the first half of the odd numbered output terms in the bit reversed order for = 64. Reviewing the method of processing it is seen that we began with the set of data (lu O ; lu k) for k = 1, 2, 3,.... (4" - 1). This set may be renamed as (lao;lb o,k). After addition, SUbtraction, and multiplication by (-2C2k) we arrived at the two sets (lal; lbl,k) and (sal;-sbl,k). From this point the method became repetitive. We added and subtracted the two sets of data; we exchanged positions of the two neighboring E's and multiplied each set by (2C4k). This resulted in four sets of data, namely, (la 2 ; lb 2,k), (SA2; -3B2,k), (SA2; sb2,k) and (7A2; -7B2,1:). This process may be continued until the final outputs are obtained, as shown in Figure 10. The author proved that this continuation is always possible. The proof is based on a full induction method. However, for brevity the proof is not included in this paper. The author also proved that the final result will be in the bit reversed order. This proof is also based on a full induction approach. A complete flow chart for this process is shown in Figure 11 for the Case = 64. It is seen from Figure 11 that the flow chart pattern is repeated every three columns. The first nine columns do FIGURE ll-flow chart for the discrete fourier transform for the case ~ =64 :: ;: :: :: :: " 'ncf'i.oii.'... l.lnto...-r ti... ldl HlVf.AIMOIIOIC 11 1I.AIHEOu.s*WAUllfI/I 41 "'acolm I_I' S) -" y:r

10 124 Fall Joint Computer Conference, 1968 not show certain details of the pattern because the columns of the flow chart are terminated at the th input point, while the missing details in the first nine columns should appear after the th input point. It should also be noted that when using this algorithm the dat~ processing can be decomposed into two identical channels, each using real numbers only. The real parts of the input points would go into the first channel and the imaginary parts of the input points would go to the second channel. The data processing " would be identical in both channels. A multiplication by - J would mean a multiplication of the data of the first channel by -1 and a transfer of these data (after the multiplication by -1) to the identical places in the second channel, while the data from the second channel are transferred to the identical vacated places in the first channel. The number of operations required for this algorithm can now be easily established by inspection. The number of multipliers is the same.in this algorithm and in the Cooley-Tukey Algorithm.. However; since the multipliers in the new algorithm are all real, the actual number of real multiplications is cut in half and is therefore (based on equation (12» equal to: Real multiplications = (II-3)+4 (57) Equation (57) is, naturally, the same as equation (13). Also, in general, every complex by a complex multiplication requires two real additions, while no additions are required for a complex by a real multiplication. This will result in a saving of (v - 3) + 4 real additions in the new algorithm. However, the new algorithm requires extra addition operations, which do not appear in the Cooley-Tukey Algorithm. Inspection of Figure 11 shows that there is one extra complex addition with every multiplication by cosine of two times an angle. There are no extra additions required for a multiplication by cosine of one times the angle. However, Figure 11 shows that there is an extra addition and subtraction processing step prior to the cosine one time angle multiplications which requires exectly the same number of complex additions and subtractions as there are cosine one time the angle multiplications. Therefore, the total number of extra complex additions and subtractions is equal to the number of the complex by real multiplications. This exactly wipes out the saving of the (v - 3) + 4 real additions mentioned previously. The total number of real additions required for the new algorithm will therefore be equal to the number required by the Cooley-Tukey Algorithm. This number is given in equation (11) and is rewritten here: Real adds = 3( 11-1 )+4 (58) We have thus far treated the case where the input data was complex. Considerable simplifications and saving in operations is achieved when the input data is real. We first observe that in any case the multipliers are real cosine numbers. Therefore, even in the complex input case, the data processing can be divided into two parallel channels. The real part of the input data will be the input to the first channel and the imaginary part of the input data will be the input to the other channel. The data processing in each channel will be the same and will be real. The only difference between the two channels will be in the interpretation of a multiplication by -j. In the first channel the data is multiplied by - 1, and transferred to the identical place in the second channel. In the second channel, a multiplication by..:..j will mean that the data are transferred to the same place in the first channel (without a multiplication by -1). When the input data are real, the second channel stays empty in the beginning. Only when the data processing reaches the first set of multiplication by -j will data be transferred to the second channel. There will be no data to be transferred from the second to the first channel. After each set of -j multiplications, there is an addition and subtraction operation as shown in Figures 5 and 11. If no data are transferred from the second channel to the first, the addition and subtraction would result in the Q's being equal to the respective P's. Since the Q's and the P's have identical data processing, and no more multiplications by -j, this means that two id entical sets of output terms will be obtained. It is therefore clear that we can process only the P's and leave the spaces for the Q's empty. Physically this could be achieved by eliminating the diagonal lines in the addition and subtraction process which follows the -j multiplications. ow, instead of transferring the data from the first channel to the second, the data are left where they are, since the -j lines are also the empty Q lines. We will now have a new interpretation for a multiplication by-j. It will mean that the numbers become second channel numbers. (That the Q lines become second channel lines.) The required multiplication by minus one will be correctly performed since the processing of the Q's requires a multiplication by minus one. The final result of this analysis is that one channel can process the Fourier Transform when the input data are real. The two channels can therefore process two independent sets of real input data with a saving in the number of operations as co~pared to the complex data input case. A complete flow chart for processing eight complex and

11 Economical Method for Calculating Discrete Fourier Transforms 125 =8 COMPLEX IPUTS 8F '0 O 'Z '. 8 '. 8 '5 8 '. 8 " FIGURE 12-Flow chart for the new data processing method of the fourier transform for the case = 8 8 8F Z 8 of Flgure 11, to be equal to (~ - 1). Therefore, the number of saved addition and' subtraction operations is equal to: Z. (z - I) = - Z (60) Equation (5S) shows the total number of real additions and subtractions for the complex case. For real inputs we will have half the number of additions and subtractions. Combining this with the savings given by equation (60), the total number of additions and subtractions in the real input case is: Real additions and subtractions = 8; REAL IPUTS 'oct-----f)---_--_-- --~_- 8FOJ: '. ~'---_.lo_\_4 ~----4I -~-J _ ~-----~8FI][ -J CI :;>... ~: '1 cf I -...: ~----+"o81i FIGURE 13-Flow chart of the new processing method for the case of 8 real inputs eigh.t real input points is shown in Figures 12 and 13, respectively. In Figure 13 we changed the output numbers which are larger than four to output numbers smaller than four by use of the following formula: This formula results from the foldover of the data when only real inputs are used. This can be seen from Figure 12, when only real data are used, since SF 2, SF! and SF 1h will be equal to SFe, 8F7 and SFs respectively due to the Q's being equal to the P's. To compute the required number of operations, start with the addition and subtraction operations. From Figures 12 and 13 we see that after every -j multiplication there is a saving of two additional operations. The number of -j multiplications is easily seen, by inspection (59). Real additionlland liubtractionll = i (II-l)+Z-+Z = ~ (311-5)+4 (61)" The number of multiplication operations for the real input case is the same as for the complex case. The number of multiplication operations for the complex case is given by equation (10). Therefore, the total numlel' 0: real rr.."!jlti:;::,lications for the real input case is equal to: Real multiplications = ~ (1I-3)+Z. Presently, the described method for computing the Discrete Fourier Transform is limited to numbers of data points which are powers of two. It is the belief of the authpr that the method can be extended for any number of data points. This belief is based on similar types of calculations for the special cases = 6 and = 12. The author also believes that the described method requires, in general, the minimum number of additions and multiplications for both the complex and the real case. This is ajso based on analyzing the cases for small values of. Since there are many variations of the Cooley-Tukey Algorithm, the author hopes that other, more streamlined, variations will be developed for this algorithm. Such streamlining should reduce the problems in the control logic when this algorithm will be programmed for computation. by a digital. computer. In any case, this algorithm should result in considerable saving in time when extended calculations with a large number of data points are required. The method for the real case was developed together with Mr.13ertram Goldstone, a friend of the author who works at Raytheon Company, Bedford, Massachusetts. (62)

12

MAC 1147 Exam #6 Review

MAC 1147 Exam #6 Review MAC 1147 Exam #6 Review Instructions: Exam #6 will consist of 8 questions plus a bonus problem. Some questions will have multiple parts and others will not. Some questions will be multiple choice and some

More information

THE LOGIC OF COMPOUND STATEMENTS

THE LOGIC OF COMPOUND STATEMENTS CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 2.5 Application: Number Systems and Circuits for Addition Copyright Cengage Learning. All rights reserved.

More information

Binary, Hexadecimal and Octal number system

Binary, Hexadecimal and Octal number system Binary, Hexadecimal and Octal number system Binary, hexadecimal, and octal refer to different number systems. The one that we typically use is called decimal. These number systems refer to the number of

More information

The Fast Fourier Transform

The Fast Fourier Transform Chapter 7 7.1 INTRODUCTION The Fast Fourier Transform In Chap. 6 we saw that the discrete Fourier transform (DFT) could be used to perform convolutions. In this chapter we look at the computational requirements

More information

of Nebraska - Lincoln

of Nebraska - Lincoln University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln MAT Exam Expository Papers Math in the Middle Institute Partnership -007 The Polygon Game Kyla Hall Follow this and additional

More information

Digital Signal Processing. Soma Biswas

Digital Signal Processing. Soma Biswas Digital Signal Processing Soma Biswas 2017 Partial credit for slides: Dr. Manojit Pramanik Outline What is FFT? Types of FFT covered in this lecture Decimation in Time (DIT) Decimation in Frequency (DIF)

More information

The Heawood Map-Coloring Problem--Cases 1, 7, and 10

The Heawood Map-Coloring Problem--Cases 1, 7, and 10 JOURNAL OF COMBINATORIAL THEORY 8, 220-231 (1970) The Heawood Map-Coloring Problem--Cases 1, 7, and 10 J. W. T. YOUNGS University of California, Santa Cruz, CaliJornia 95060 Received June 2, 1969 ABSTRACT

More information

Searching Algorithms/Time Analysis

Searching Algorithms/Time Analysis Searching Algorithms/Time Analysis CSE21 Fall 2017, Day 8 Oct 16, 2017 https://sites.google.com/a/eng.ucsd.edu/cse21-fall-2017-miles-jones/ (MinSort) loop invariant induction Loop invariant: After the

More information

A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES

A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES CHRIS BERNHARDT Abstract. Let T be a tree with n vertices. Let f : T T be continuous and suppose that the n vertices form a periodic orbit under f. We show:

More information

IS BINARY ENCODING APPROPRIATE FOR THE PROBLEM-LANGUAGE RELATIONSHIP?

IS BINARY ENCODING APPROPRIATE FOR THE PROBLEM-LANGUAGE RELATIONSHIP? Theoretical Computer Science 19 (1982) 337-341 North-Holland Publishing Company NOTE IS BINARY ENCODING APPROPRIATE FOR THE PROBLEM-LANGUAGE RELATIONSHIP? Nimrod MEGIDDO Statistics Department, Tel Aviv

More information

Decimation-in-Frequency (DIF) Radix-2 FFT *

Decimation-in-Frequency (DIF) Radix-2 FFT * OpenStax-CX module: m1018 1 Decimation-in-Frequency (DIF) Radix- FFT * Douglas L. Jones This work is produced by OpenStax-CX and licensed under the Creative Commons Attribution License 1.0 The radix- decimation-in-frequency

More information

BMO Round 1 Problem 6 Solutions

BMO Round 1 Problem 6 Solutions BMO 2005 2006 Round 1 Problem 6 Solutions Joseph Myers November 2005 Introduction Problem 6 is: 6. Let T be a set of 2005 coplanar points with no three collinear. Show that, for any of the 2005 points,

More information

Fast Fourier Transform (FFT)

Fast Fourier Transform (FFT) EEO Prof. Fowler Fast Fourier Transform (FFT). Background The FFT is a computationally efficient algorithm for computing the discrete Fourier transform (DFT). The DFT is the mathematical entity that is

More information

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1 Solving equations and inequalities graphically and algebraically 1. Plot points on the Cartesian coordinate plane. P.1 2. Represent data graphically using scatter plots, bar graphs, & line graphs. P.1

More information

A Method for the Construction of Minimum-Redundancy Codes*

A Method for the Construction of Minimum-Redundancy Codes* In 1951, David HuftinaD o.vdopod aa ajaoritlun for etbciently encoding the output of a source that produces a sequeaee of symbols, cacllof~jch h1saprobability of oecu.rtenee. This aljorithm, essentially

More information

CD _. _. 'p ~~M CD, CD~~~~V. C ~'* Co ~~~~~~~~~~~~- CD / X. pd.0 & CD. On 0 CDC _ C _- CD C P O ttic 2 _. OCt CD CD (IQ. q"3. 3 > n)1t.

CD _. _. 'p ~~M CD, CD~~~~V. C ~'* Co ~~~~~~~~~~~~- CD / X. pd.0 & CD. On 0 CDC _ C _- CD C P O ttic 2 _. OCt CD CD (IQ. q3. 3 > n)1t. n 5 L n q"3 +, / X g ( E 4 11 " ') $ n 4 ) w Z$ > _ X ~'* ) i 1 _ /3 L 2 _ L 4 : 5 n W 9 U~~~~~~ 5 T f V ~~~~~~~~~~~~ (Q ' ~~M 3 > n)1 % ~~~~V v,~~ _ + d V)m X LA) z~~11 4 _ N cc ', f 'd 4 5 L L " V +,

More information

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B CS1800 Discrete Structures Fall 2017 October 25, 2017 Instructions: CS1800 Discrete Structures Midterm Version B 1. The exam is closed book and closed notes. You may not use a calculator or any other electronic

More information

Parallel algorithms for generating combinatorial objects on linear processor arrays with reconfigurable bus systems*

Parallel algorithms for generating combinatorial objects on linear processor arrays with reconfigurable bus systems* SOdhan& Vol. 22. Part 5, October 1997, pp. 62%636. Printed ill India. Parallel algorithms for generating combinatorial objects on linear processor arrays with reconfigurable bus systems* P THANGAVEL Department

More information

6.046 Recitation 1: Proving Correctness Bill Thies, Fall 2004 Outline

6.046 Recitation 1: Proving Correctness Bill Thies, Fall 2004 Outline 6.046 Recitation 1: Proving Correctness Bill Thies, Fall 2004 Outline Acknowledgement Much of these notes is adapted from David Liben Nowell s notes for the same subject (thanks David!) My contact information:

More information

Discrete Mathematics. Kruskal, order, sorting, induction

Discrete Mathematics.   Kruskal, order, sorting, induction Discrete Mathematics wwwmifvult/~algis Kruskal, order, sorting, induction Kruskal algorithm Kruskal s Algorithm for Minimal Spanning Trees The algorithm constructs a minimal spanning tree as follows: Starting

More information

WS Fall Semester Final Review 2018 [198 marks]

WS Fall Semester Final Review 2018 [198 marks] WS Fall Semester Final Review 2018 [198 marks] 1a. [4 marks] (A1)(A1)(A1)(A1)(C4) [4 marks] 1b. Incorrect (A1) Natural numbers are positive integers. Integers can also be negative. (or equivalent) (R1)

More information

GREENWOOD PUBLIC SCHOOL DISTRICT Algebra III Pacing Guide FIRST NINE WEEKS

GREENWOOD PUBLIC SCHOOL DISTRICT Algebra III Pacing Guide FIRST NINE WEEKS GREENWOOD PUBLIC SCHOOL DISTRICT Algebra III FIRST NINE WEEKS Framework/ 1 Aug. 6 10 5 1 Sequences Express sequences and series using recursive and explicit formulas. 2 Aug. 13 17 5 1 Sequences Express

More information

BASIC ARITHMETIC ON THE MICRO* Peng Tsu Ann National University of Singapore

BASIC ARITHMETIC ON THE MICRO* Peng Tsu Ann National University of Singapore BASIC ARITHMETIC ON THE MICRO* Peng Tsu Ann National University of Singapore We start off by looking at the way numbers are represented by 0 and 1 in the binary system. We are concerned here only with

More information

Year 7 Unit 1 - number properties 1

Year 7 Unit 1 - number properties 1 Year 7 Unit 1 - number properties 1 Order whole numbers using a number line. Place integers and decimals in order of size. Multiply and divide integers and decimals by 10,100, 1000 and explain the effect.

More information

1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors

1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors 1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors on an EREW PRAM: See solution for the next problem. Omit the step where each processor sequentially computes the AND of

More information

1KOd17RMoURxjn2 CSE 20 DISCRETE MATH Fall

1KOd17RMoURxjn2 CSE 20 DISCRETE MATH Fall CSE 20 https://goo.gl/forms/1o 1KOd17RMoURxjn2 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Today's learning goals Explain the steps in a proof by mathematical and/or structural

More information

9 abcd = dcba b + 90c = c + 10b b = 10c.

9 abcd = dcba b + 90c = c + 10b b = 10c. In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

CS 173 [A]: Discrete Structures, Fall 2012 Homework 8 Solutions

CS 173 [A]: Discrete Structures, Fall 2012 Homework 8 Solutions CS 173 [A]: Discrete Structures, Fall 01 Homework 8 Solutions This homework contains 4 problems worth a total of 35 points. It is due on Wednesday, November 14th, at 5pm. 1 Induction Proofs With Inequalities

More information

Chapter 3 Part 2 Combinational Logic Design

Chapter 3 Part 2 Combinational Logic Design University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 3 Part 2 Combinational Logic Design Originals by: Charles R. Kime and Tom

More information

UNIT II. Circuit minimization

UNIT II. Circuit minimization UNIT II Circuit minimization The complexity of the digital logic gates that implement a Boolean function is directly related to the complexity of the algebraic expression from which the function is implemented.

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

(Type your answer in radians. Round to the nearest hundredth as needed.)

(Type your answer in radians. Round to the nearest hundredth as needed.) 1. Find the exact value of the following expression within the interval (Simplify your answer. Type an exact answer, using as needed. Use integers or fractions for any numbers in the expression. Type N

More information

SECTION 5.1. Sequences

SECTION 5.1. Sequences SECTION 5.1 Sequences Sequences Problem: count number of ancestors one has 2 parents, 4 grandparents, 8 greatgrandparents,, written in a row as 2, 4, 8, 16, 32, 64, 128, To look for pattern of the numbers,

More information

Algorithms: Dynamic Programming

Algorithms: Dynamic Programming Algorithms: Dynamic Programming Amotz Bar-Noy CUNY Spring 2012 Amotz Bar-Noy (CUNY) Dynamic Programming Spring 2012 1 / 58 Dynamic Programming General Strategy: Solve recursively the problem top-down based

More information

9 abcd = dcba b + 90c = c + 10b b = 10c.

9 abcd = dcba b + 90c = c + 10b b = 10c. In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

CSE 21 Spring 2016 Homework 4 Answer Key

CSE 21 Spring 2016 Homework 4 Answer Key 1 CSE 21 Spring 2016 Homework 4 Answer Key 1. In each situation, write a recurrence relation, including base case(s), that describes the recursive structure of the problem. You do not need to solve the

More information

18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY

18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY 18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY All the problems below (with the possible exception of the last one), when looked at the right way, can be solved by elegant arguments

More information

Jana Kosecka. Linear Time Sorting, Median, Order Statistics. Many slides here are based on E. Demaine, D. Luebke slides

Jana Kosecka. Linear Time Sorting, Median, Order Statistics. Many slides here are based on E. Demaine, D. Luebke slides Jana Kosecka Linear Time Sorting, Median, Order Statistics Many slides here are based on E. Demaine, D. Luebke slides Insertion sort: Easy to code Fast on small inputs (less than ~50 elements) Fast on

More information

DESCRIPTION OF OPERATIONS ALWAC III ELECTRONIC DIGITAL COMPUTER

DESCRIPTION OF OPERATIONS ALWAC III ELECTRONIC DIGITAL COMPUTER DESCRIPTION OF OPERATIONS ALWAC III ELECTRONIC DIGITAL COMPUTER ALWAC III GENERAL PURPOSE COMPUTER LOGISTICS RESEARCH, INC. REDONDO BEACH, CALIf. DESCRIPTION OF OPERATIONS ALWAC III ELECTRONIC DIGITAL

More information

Number Systems. The Computer Works in Binary, or how I learned to think like a computer. The computer s natural number system is binary not decimal.

Number Systems. The Computer Works in Binary, or how I learned to think like a computer. The computer s natural number system is binary not decimal. PROGRAMMING CONCEPTS Number Systems The Computer Works in Binary, or how I learned to think like a computer Copyright 2013 Dan McElroy The computer s natural number system is binary not decimal. For example,

More information

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey 1. Background 2 2. Definitions 3 3. Using NURBS to define a circle 4 4. Homogeneous coordinates & control points at infinity 9 5. Constructing

More information

He barely tinished stating the problem when young Carl came forward and

He barely tinished stating the problem when young Carl came forward and .. Figurate numbers (a) Figure.. " He barely tinished stating the problem when young Carl came forward and placed his slate on the teacher's desk, void of calculation, with the correct answer: 5050, When

More information

The. Binary. Number System

The. Binary. Number System The Binary Number System Why is Binary important? Everything on a computer (or other digital device) is represented by Binary Numbers One to Five in various systems 1 2 3 4 5 I II III IV V 1 10 11 100

More information

Approximating Square Roots

Approximating Square Roots Math 560 Fall 04 Approximating Square Roots Dallas Foster University of Utah u0809485 December 04 The history of approximating square roots is one of the oldest examples of numerical approximations found.

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 1 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 1 DLD P VIDYA SAGAR UNIT I Digital Systems: Binary Numbers, Octal, Hexa Decimal and other base numbers, Number base conversions, complements, signed binary numbers, Floating point number representation, binary codes, error

More information

Objectives. Connecting with Computer Science 2

Objectives. Connecting with Computer Science 2 Objectives Learn why numbering systems are important to understand Refresh your knowledge of powers of numbers Learn how numbering systems are used to count Understand the significance of positional value

More information

hp calculators HP 33S Using RPN and Algebraic Modes Calculation modes A simple example in RPN Functions of a single number in RPN

hp calculators HP 33S Using RPN and Algebraic Modes Calculation modes A simple example in RPN Functions of a single number in RPN s Calculation modes A simple example in RPN Functions of a single number in RPN A simple example in algebraic Functions of a single number in algebraic Arithmetic calculations with two numbers Another

More information

Intermediate Mathematics League of Eastern Massachusetts

Intermediate Mathematics League of Eastern Massachusetts Meet # January 010 Intermediate Mathematics League of Eastern Massachusetts Meet # January 010 Category 1 - Mystery Meet #, January 010 1. Of all the number pairs whose sum equals their product, what is

More information

Dynamic Programming II

Dynamic Programming II June 9, 214 DP: Longest common subsequence biologists often need to find out how similar are 2 DNA sequences DNA sequences are strings of bases: A, C, T and G how to define similarity? DP: Longest common

More information

DESIGN METHODOLOGY. 5.1 General

DESIGN METHODOLOGY. 5.1 General 87 5 FFT DESIGN METHODOLOGY 5.1 General The fast Fourier transform is used to deliver a fast approach for the processing of data in the wireless transmission. The Fast Fourier Transform is one of the methods

More information

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II)

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II) Chapter 5 VARIABLE-LENGTH CODING ---- Information Theory Results (II) 1 Some Fundamental Results Coding an Information Source Consider an information source, represented by a source alphabet S. S = { s,

More information

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B CS1800 Discrete Structures Fall 2017 October 25, 2017 Instructions: CS1800 Discrete Structures Midterm Version B 1. The exam is closed book and closed notes. You may not use a calculator or any other electronic

More information

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-278: Digital Logic Design Fall Notes - Unit 4. hundreds.

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-278: Digital Logic Design Fall Notes - Unit 4. hundreds. ECE-78: Digital Logic Design Fall 6 UNSIGNED INTEGER NUMBERS Notes - Unit 4 DECIMAL NUMBER SYSTEM A decimal digit can take values from to 9: Digit-by-digit representation of a positive integer number (powers

More information

DIGITAL SYSTEM FUNDAMENTALS (ECE 421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE 422) COURSE / CODE NUMBER SYSTEM

DIGITAL SYSTEM FUNDAMENTALS (ECE 421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE 422) COURSE / CODE NUMBER SYSTEM COURSE / CODE DIGITAL SYSTEM FUNDAMENTALS (ECE 421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE 422) NUMBER SYSTEM A considerable subset of digital systems deals with arithmetic operations. To understand the

More information

Unit 1 Quadratic Functions

Unit 1 Quadratic Functions Unit 1 Quadratic Functions This unit extends the study of quadratic functions to include in-depth analysis of general quadratic functions in both the standard form f ( x) = ax + bx + c and in the vertex

More information

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions Basic Combinatorics Math 40210, Section 01 Fall 2012 Homework 4 Solutions 1.4.2 2: One possible implementation: Start with abcgfjiea From edge cd build, using previously unmarked edges: cdhlponminjkghc

More information

LARP / 2018 ACK : 1. Linear Algebra and Its Applications - Gilbert Strang 2. Autar Kaw, Transforming Numerical Methods Education for STEM Graduates

LARP / 2018 ACK : 1. Linear Algebra and Its Applications - Gilbert Strang 2. Autar Kaw, Transforming Numerical Methods Education for STEM Graduates Triangular Factors and Row Exchanges LARP / 28 ACK :. Linear Algebra and Its Applications - Gilbert Strang 2. Autar Kaw, Transforming Numerical Methods Education for STEM Graduates Then there were three

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

More information

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 4. hundreds.

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 4. hundreds. UNSIGNED INTEGER NUMBERS Notes - Unit 4 DECIMAL NUMBER SYSTEM A decimal digit can take values from to 9: Digit-by-digit representation of a positive integer number (powers of ): DIGIT 3 4 5 6 7 8 9 Number:

More information

Learning from Math Library Testng for C Marcel Beemster Solid Sands

Learning from Math Library Testng for C Marcel Beemster Solid Sands Learning from Math Library Testng for C Marcel Beemster Solid Sands Introduction In the process of improving SuperTest, I recently dived into its math library testing. Turns out there were some interesting

More information

CHAPTER 2 TEXTURE CLASSIFICATION METHODS GRAY LEVEL CO-OCCURRENCE MATRIX AND TEXTURE UNIT

CHAPTER 2 TEXTURE CLASSIFICATION METHODS GRAY LEVEL CO-OCCURRENCE MATRIX AND TEXTURE UNIT CHAPTER 2 TEXTURE CLASSIFICATION METHODS GRAY LEVEL CO-OCCURRENCE MATRIX AND TEXTURE UNIT 2.1 BRIEF OUTLINE The classification of digital imagery is to extract useful thematic information which is one

More information

Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems

Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems In everyday life, we humans most often count using decimal or base-10 numbers. In computer science, it

More information

Curriculum Map: Mathematics

Curriculum Map: Mathematics Curriculum Map: Mathematics Course: Honors Advanced Precalculus and Trigonometry Grade(s): 11-12 Unit 1: Functions and Their Graphs This chapter will develop a more complete, thorough understanding of

More information

COSC 243. Data Representation 3. Lecture 3 - Data Representation 3 1. COSC 243 (Computer Architecture)

COSC 243. Data Representation 3. Lecture 3 - Data Representation 3 1. COSC 243 (Computer Architecture) COSC 243 Data Representation 3 Lecture 3 - Data Representation 3 1 Data Representation Test Material Lectures 1, 2, and 3 Tutorials 1b, 2a, and 2b During Tutorial a Next Week 12 th and 13 th March If you

More information

KS3 - Year 8 & 9 Course Outline: Mathematics

KS3 - Year 8 & 9 Course Outline: Mathematics KS3 - Year 8 & 9 Course Outline: Mathematics EFG D C B visualise and use 2D representations of 3D objects 39 81-82 G1 N1 N2 enlarge 2D shapes, given a centre of enlargement and a positive whole number

More information

5.5 Multiple-Angle and Product-to-Sum Formulas

5.5 Multiple-Angle and Product-to-Sum Formulas Section 5.5 Multiple-Angle and Product-to-Sum Formulas 87 5.5 Multiple-Angle and Product-to-Sum Formulas Multiple-Angle Formulas In this section, you will study four additional categories of trigonometric

More information

PITSCO Math Individualized Prescriptive Lessons (IPLs)

PITSCO Math Individualized Prescriptive Lessons (IPLs) Orientation Integers 10-10 Orientation I 20-10 Speaking Math Define common math vocabulary. Explore the four basic operations and their solutions. Form equations and expressions. 20-20 Place Value Define

More information

Recursion and Induction

Recursion and Induction Recursion and Induction Paul S. Miner NASA Langley Formal Methods Group p.s.miner@nasa.gov 28 November 2007 Outline Recursive definitions in PVS Simple inductive proofs Automated proofs by induction More

More information

7-5 Parts of Similar Triangles. Find x.

7-5 Parts of Similar Triangles. Find x. Find x. 1. By AA Similarity, the given two triangles are similar. Additionally, we see the segments marked x and 10 are medians because they intersect the opposite side at its midpoint. Theorem 7.10 states

More information

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 1 Dynamic Programming 1 Introduction An algorithm design paradigm like divide-and-conquer Programming : A tabular method (not writing computer code) Divide-and-Conquer (DAC):

More information

INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM

INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM Course Outline Course Outline INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM Introduction Fast Fourier Transforms have revolutionized digital signal processing What is the FFT? A collection of tricks

More information

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer Arithmetic ECE 666 Part 2 Unconventional Number Systems Israel Koren ECE666/Koren Part.2.1 Unconventional FixedRadix

More information

Review of Number Systems

Review of Number Systems Review of Number Systems The study of number systems is important from the viewpoint of understanding how data are represented before they can be processed by any digital system including a digital computer.

More information

Chapter 3 Dynamic programming

Chapter 3 Dynamic programming Chapter 3 Dynamic programming 1 Dynamic programming also solve a problem by combining the solutions to subproblems. But dynamic programming considers the situation that some subproblems will be called

More information

Numeric Precision 101

Numeric Precision 101 www.sas.com > Service and Support > Technical Support TS Home Intro to Services News and Info Contact TS Site Map FAQ Feedback TS-654 Numeric Precision 101 This paper is intended as a basic introduction

More information

Discrete Structures. Fall Homework3

Discrete Structures. Fall Homework3 Discrete Structures Fall 2015 Homework3 Chapter 5 1. Section 5.1 page 329 Problems: 3,5,7,9,11,15 3. Let P(n) be the statement that 1 2 + 2 2 + +n 2 = n(n + 1)(2n + 1)/6 for the positive integer n. a)

More information

A Novel Distributed Arithmetic Multiplierless Approach for Computing Complex Inner Products

A Novel Distributed Arithmetic Multiplierless Approach for Computing Complex Inner Products 606 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'5 A ovel Distributed Arithmetic Multiplierless Approach for Computing Complex Inner Products evin. Bowlyn, and azeih M. Botros. Ph.D. Candidate,

More information

I 4 I I 1100 I I I -5 I 1011 I

I 4 I I 1100 I I I -5 I 1011 I VLS DESGNS FOR REDUNDANT BNARY-CODED DEChOU ADDTON Behrooz Shirazi, David Y.Y. Yun, and Chang N. Zhang Department of Computer Science and Engineering Southern Methodist University Dallm. Tc-xas 7.5275

More information

Basic Arithmetic Operations

Basic Arithmetic Operations Basic Arithmetic Operations Learning Outcome When you complete this module you will be able to: Perform basic arithmetic operations without the use of a calculator. Learning Objectives Here is what you

More information

Content Standard 1: Numbers, Number Sense, and Computation

Content Standard 1: Numbers, Number Sense, and Computation Content Standard 1: Numbers, Number Sense, and Computation Place Value Fractions Comparing and Ordering Counting Facts Estimating and Estimation Strategies Determine an approximate value of radical and

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

CSE 101 Homework 5. Winter 2015

CSE 101 Homework 5. Winter 2015 CSE 0 Homework 5 Winter 205 This homework is due Friday March 6th at the start of class. Remember to justify your work even if the problem does not explicitly say so. Writing your solutions in L A TEXis

More information

Homework 3. Assigned on 02/15 Due time: midnight on 02/21 (1 WEEK only!) B.2 B.11 B.14 (hint: use multiplexors) CSCI 402: Computer Architectures

Homework 3. Assigned on 02/15 Due time: midnight on 02/21 (1 WEEK only!) B.2 B.11 B.14 (hint: use multiplexors) CSCI 402: Computer Architectures Homework 3 Assigned on 02/15 Due time: midnight on 02/21 (1 WEEK only!) B.2 B.11 B.14 (hint: use multiplexors) 1 CSCI 402: Computer Architectures Arithmetic for Computers (2) Fengguang Song Department

More information

CSE 4/531 Solution 3

CSE 4/531 Solution 3 CSE 4/531 Solution 3 Edited by Le Fang November 7, 2017 Problem 1 M is a given n n matrix and we want to find a longest sequence S from elements of M such that the indexes of elements in M increase and

More information

KS3 Curriculum Plan Maths - Core Year 7

KS3 Curriculum Plan Maths - Core Year 7 KS3 Curriculum Plan Maths - Core Year 7 Autumn Term 1 Unit 1 - Number skills Unit 2 - Fractions Know and use the priority of operations and laws of arithmetic, Recall multiplication facts up to 10 10,

More information

This chapter covers recursive definition, including finding closed forms.

This chapter covers recursive definition, including finding closed forms. Chapter 12 Recursive Definition This chapter covers recursive definition, including finding closed forms. 12.1 Recursive definitions Thus far, we have defined objects of variable length using semi-formal

More information

Grey Codes in Black and White

Grey Codes in Black and White Grey Codes in Black and White Wes Cleveland, Erin Connerley, Becca Maddrell, Kasey Aderhold, Abel Yehdego December 8, 2007 Introduction A Gray code represents each number in the sequence of integers 0,,...,

More information

Due: Instructor: G. Puvvada

Due: Instructor: G. Puvvada EE457 Homework 18 (not too long Due: Instructor: G. Puvvada in the wooden box outside EEB243 The material which was not tested in the midterm is very important for the final exam. The final exam is supposed

More information

DIVIDE & CONQUER. Problem of size n. Solution to sub problem 1

DIVIDE & CONQUER. Problem of size n. Solution to sub problem 1 DIVIDE & CONQUER Definition: Divide & conquer is a general algorithm design strategy with a general plan as follows: 1. DIVIDE: A problem s instance is divided into several smaller instances of the same

More information

Department Curriculum Map (new GCSE)

Department Curriculum Map (new GCSE) Department Curriculum Map 2014-15 (new GCSE) Department Mathematics required in Year 11 Foundation 1. Structure and calculation: N1 to N9 Fractions, decimals and percentages: N10 to N12 Measure and accuracy:

More information

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1 U.C. Berkeley CS170 : Algorithms Lecturers: Alessandro Chiesa and Satish Rao September 18, 2018 1 Connectivity in Graphs No justification is required on this problem. A B C D E F G H I J (a) (2 points)

More information

Dynamic Programming Algorithms

Dynamic Programming Algorithms CSC 364S Notes University of Toronto, Fall 2003 Dynamic Programming Algorithms The setting is as follows. We wish to find a solution to a given problem which optimizes some quantity Q of interest; for

More information

Mastering Binary Math

Mastering Binary Math Cisco certification candidates, from the CCNA to the CCIE, must master binary math. This includes basic conversions, such as binary-to-decimal and decimal-to-binary, as well as more advanced scenarios

More information

Algorithms -RE-S-O-N-A-N-C-E--I-J-~ ~-~ Data Structures: Lists, Queues, Stacks and Arrays

Algorithms -RE-S-O-N-A-N-C-E--I-J-~ ~-~ Data Structures: Lists, Queues, Stacks and Arrays Algorithms 7. Data Structures: Lists, Queues, Stacks and Arrays R K Shyamasundar This article continues with the exploration of common data structures. In particular, we shall discuss representation of

More information

On Minimal Perimeter Polyminoes

On Minimal Perimeter Polyminoes On Minimal Perimeter Polyminoes Yaniv Altshuler 1, Vladimir Yanovsky 1, Daniel Vainsencher 1, Israel A. Wagner 1,, and Alfred M. Bruckstein 1 1 Computer Science Department, Technion, Haifa 3000 Israel

More information

Abstract. Literature Survey. Introduction. A.Radix-2/8 FFT algorithm for length qx2 m DFTs

Abstract. Literature Survey. Introduction. A.Radix-2/8 FFT algorithm for length qx2 m DFTs Implementation of Split Radix algorithm for length 6 m DFT using VLSI J.Nancy, PG Scholar,PSNA College of Engineering and Technology; S.Bharath,Assistant Professor,PSNA College of Engineering and Technology;J.Wilson,Assistant

More information

Grade 9 Curriculum Map

Grade 9 Curriculum Map Grade 9 Curriculum Map Unit Title (Time frame) Algebra 1 (4 Weeks) Topics in arithmetics Algebraic fractions Equations and Inequalities Formulae and Simultaneous equations (2 Standards IB Objectives Knowledge/Content

More information

Number representations

Number representations Number representations Number bases Three number bases are of interest: Binary, Octal and Hexadecimal. We look briefly at conversions among them and between each of them and decimal. Binary Base-two, or

More information

MATH TEACHER S GUIDE. 12th Grade

MATH TEACHER S GUIDE. 12th Grade MATH TEACHER S GUIDE 1th Grade MATH 100 Teacher s Guide LIFEPAC Overview MATH SCOPE & SEQUENCE 7 STRUCTURE OF THE LIFEPAC CURRICULUM 1 TEACHING SUPPLEMENTS 18 Unit 1: Relations and Functions ANSWER KEY

More information

1.1 Information representation

1.1 Information representation Fundamentals of Data Representation: Before we jump into the world of number systems, we'll need a point of reference; I recommend that you copy the following table that you can refer to throughout this

More information