<< Chapter < Page Chapter >> Page >
A very efficient length N = 16 FFT module that can be use alone or with the PFA or the WFTA.

N=16 fft module

A FORTRAN implementation of a length-16 FFT module to be used in a Prime Factor Algorithm program.

C C-------------------WFTA N=16----------------------------C 116 R1 = X(I(1)) + X(I(9))R2 = X(I(1)) - X(I(9)) S1 = Y(I(1)) + Y(I(9))S2 = Y(I(1)) - Y(I(9)) R3 = X(I(2)) + X(I(10))R4 = X(I(2)) - X(I(10)) S3 = Y(I(2)) + Y(I(10))S4 = Y(I(2)) - Y(I(10)) R5 = X(I(3)) + X(I(11))R6 = X(I(3)) - X(I(11)) S5 = Y(I(3)) + Y(I(11))S6 = Y(I(3)) - Y(I(11)) R7 = X(I(4)) + X(I(12))R8 = X(I(4)) - X(I(12)) S7 = Y(I(4)) + Y(I(12))S8 = Y(I(4)) - Y(I(12)) R9 = X(I(5)) + X(I(13))R10= X(I(5)) - X(I(13)) S9 = Y(I(5)) + Y(I(13))S10= Y(I(5)) - Y(I(13)) R11 = X(I(6)) + X(I(14))R12 = X(I(6)) - X(I(14)) S11 = Y(I(6)) + Y(I(14))S12 = Y(I(6)) - Y(I(14)) R13 = X(I(7)) + X(I(15))R14 = X(I(7)) - X(I(15)) S13 = Y(I(7)) + Y(I(15))S14 = Y(I(7)) - Y(I(15)) R15 = X(I(8)) + X(I(16))R16 = X(I(8)) - X(I(16)) S15 = Y(I(8)) + Y(I(16))S16 = Y(I(8)) - Y(I(16)) T1 = R1 + R9T2 = R1 - R9 U1 = S1 + S9U2 = S1 - S9 T3 = R3 + R11T4 = R3 - R11 U3 = S3 + S11U4 = S3 - S11 T5 = R5 + R13T6 = R5 - R13 U5 = S5 + S13U6 = S5 - S13 T7 = R7 + R15T8 = R7 - R15 U7 = S7 + S15U8 = S7 - S15 T9 = C81 * (T4 + T8)T10= C81 * (T4 - T8) U9 = C81 * (U4 + U8)U10= C81 * (U4 - U8) R1 = T1 + T5R3 = T1 - T5 S1 = U1 + U5S3 = U1 - U5 R5 = T3 + T7R7 = T3 - T7 S5 = U3 + U7S7 = U3 - U7 R9 = T2 + T10R11= T2 - T10 S9 = U2 + U10S11= U2 - U10 R13 = T6 + T9R15 = T6 - T9 S13 = U6 + U9S15 = U6 - U9 T1 = R4 + R16T2 = R4 - R16 U1 = S4 + S16U2 = S4 - S16 T3 = C81 * (R6 + R14)T4 = C81 * (R6 - R14) U3 = C81 * (S6 + S14)U4 = C81 * (S6 - S14) T5 = R8 + R12T6 = R8 - R12 U5 = S8 + S12U6 = S8 - S12 T7 = C162 * (T2 - T6)T8 = C163 * T2 - T7 T9 = C164 * T6 - T7T10 = R2 + T4 T11 = R2 - T4R2 = T10 + T8 R4 = T10 - T8R6 = T11 + T9 R8 = T11 - T9U7 = C162 * (U2 - U6) U8 = C163 * U2 - U7U9 = C164 * U6 - U7 U10 = S2 + U4U11 = S2 - U4 S2 = U10 + U8S4 = U10 - U8 S6 = U11 + U9S8 = U11 - U9 T7 = C165 * (T1 + T5)T8 = T7 - C164 * T1 T9 = T7 - C163 * T5T10 = R10 + T3 T11 = R10 - T3R10 = T10 + T8 R12 = T10 - T8R14 = T11 + T9 R16 = T11 - T9U7 = C165 * (U1 + U5) U8 = U7 - C164 * U1U9 = U7 - C163 * U5 U10 = S10 + U3U11 = S10 - U3 S10 = U10 + U8S12 = U10 - U8 S14 = U11 + U9S16 = U11 - U9 CX(I( 1)) = R1 + R5 X(I( 9)) = R1 - R5Y(I( 1)) = S1 + S5 Y(I( 9)) = S1 - S5X(I( 2)) = R2 + S10 X(I(16)) = R2 - S10Y(I( 2)) = S2 - R10 Y(I(16)) = S2 + R10X(I( 3)) = R9 + S13 X(I(15)) = R9 - S13Y(I( 3)) = S9 - R13 Y(I(15)) = S9 + R13X(I( 4)) = R8 - S16 X(I(14)) = R8 + S16Y(I( 4)) = S8 + R16 Y(I(14)) = S8 - R16X(I( 5)) = R3 + S7 X(I(13)) = R3 - S7Y(I( 5)) = S3 - R7 Y(I(13)) = S3 + R7X(I( 6)) = R6 + S14 X(I(12)) = R6 - S14Y(I( 6)) = S6 - R14 Y(I(12)) = S6 + R14X(I( 7)) = R11 - S15 X(I(11)) = R11 + S15Y(I( 7)) = S11 + R15 Y(I(11)) = S11 - R15X(I( 8)) = R4 - S12 X(I(10)) = R4 + S12Y(I( 8)) = S4 + R12 Y(I(10)) = S4 - R12C GOTO 20CFigure. Length-16 FFT Module

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Large dft modules: 11, 13, 16, 17, 19, and 25. revised ece technical report 8105. OpenStax CNX. Sep 14, 2009 Download for free at http://cnx.org/content/col10569/1.7
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Large dft modules: 11, 13, 16, 17, 19, and 25. revised ece technical report 8105' conversation and receive update notifications?

Ask