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

N=25 fft module

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

C C-------------------WFTA N=25----------------------------C C 420 ADDS; 132 MPYSC DATA FOR LENGTH 25 DFT DATA C5001 / -.2500000000000000 /DATA C5002 / .5590169943749474 / DATA C5003 / -.3632712640026805 /DATA C5004 / 1.5388417685876267 / DATA C5005 / -.5877852522924731 /DATA C5102 / .2236067977499788E+01 / DATA C5103 / -.1453085056010720E+01 /DATA C5104 / .6155367074350504E+01 / DATA C5105 / -.2351141009169892E+01 /DATA C2510/ -.0760795655183429 / DATA C2511/ .0449933296227360 /DATA C2512/ .0605364475705394 / DATA C2520/ -.0848787721340987 /DATA C2521/ .0246595628713843 / DATA C2522/ .0547691675027415 /DATA C2530/ -.0883447333343813 / DATA C2531/ .0027763450932952 /DATA C2532/ .0455605392138382 / DATA C2540/ -.0862596700300632 /DATA C2541/ -.0192813206576887 / DATA C2542/ .0334891746861873 /DATA C2560/ -.0663010779973491 / DATA C2561/ -.0584522630561849 /DATA C2562/ .0039244074705821 / DATA C2580/ -.0299404850563092 /DATA C2581/ -.0831628965019433 / DATA C2582/ -.0266112057228170 /DATA C2590/ -.0083180783141937 / DATA C2591/ -.0879960770327799 /DATA C2592/ -.0398389993592931 / DATA C25120 / .0541738417343859 /DATA C25121 / -.0698404959299239 / DATA C25122 / -.0620071688321549 /DATA C25160 / .0879960770327799 / DATA C25161 / .0083180783141937 /DATA C25162 / -.0398389993592931 / CC--------------------CFA N=25----------------------------- CR101=X(I(6))+X(I(21)) R102=X(I(11))+X(I(16))R103=X(I(6))-X(I(21)) R104=X(I(11))-X(I(16))R31=R101+R102 R32=R101-R102R35=R103+R104 T11 =R31 *C5001+X(I(1))T12 =R32 *C5002 T13 =R103 *C5003T14 =R104 *C5004 T15 =R35 *C5005T32=T11+T12 T33=T11-T12T34=T13+T15 T35=T14+T15S101=Y(I(6))+Y(I(21)) S102=Y(I(11))+Y(I(16))S103=Y(I(6))-Y(I(21)) S104=Y(I(11))-Y(I(16))S31=S101+S102 S32=S101-S102S35=S103+S104 U11 =S31 *C5001+Y(I(1))U12 =S32 *C5002 U13 =S103 *C5003U14 =S104 *C5004 U15 =S35 *C5005U32=U11+U12 U33=U11-U12U34=U13+U15 U35=U14+U15XT1=X(I(1))+R31 YT1=Y(I(1))+S31XT6= T32-U34 XT21= T32+U34YT6= T34+U32 YT21=-T34+U32XT11= T33-U35 XT16= T33+U35YT11= T35+U33 YT16=-T35+U33R101=X(I(7))+X(I(22)) R102=X(I(12))+X(I(17))R103=X(I(7))-X(I(22)) R104=X(I(12))-X(I(17))T31=R101+R102 R32=R101-R102R35=R103+T104 T16=X(I(2))+X(I(2))T11=T16+T16-R31 T12 =R32 *5102T13 =R103 *5103 T14 =R104 *5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=Y(I(7))+Y(I(22))S102=Y(I(12))+Y(I(17)) S103=Y(I(7))-Y(I(22))S104=Y(I(12))-Y(I(17)) S31=S101+S102S32=S101-S102 S35=S103+S104U16=Y(I(2))+Y(I(2)) U11=U16+U16-S31U12 =S32 *5102 U13 =S103 *5103U14 =S104 *5104 U15=S35*5105U32=U11+U12 U33=U11-U12U34=U13+U15 U35=U14+U15XT2=X(I(2))+R31 YT2=Y(I(2))+S31XT7= T32-U34 XT22= T32+U34YT7= T32+U34 YT22=-T32+U34XT12= T33-U35 XT17= T33+U35YT12= T35+U33 YT17=-T35+U33R101=X(I(8))+X(I(23)) R102=X(I(13))+X(I(18))R103=X(I(8))-X(I(23)) R104=X(I(13))-X(I(18))R31=R101+R102 R32=R101-R102R35=R103+R104 T16=X(I(3))+X(I(3))T11=T16+T16-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=Y(I(8))+Y(I(23))S102=Y(I(13))+Y(I(18)) S103=Y(I(8))-Y(I(23))S104=Y(I(13))-Y(I(18)) S31=S101+S102S32=S101-S102 S35=S103+S104U16=Y(I(3))+Y(I(3)) U11=U16+U16-S31U12 =S32 *C5102 U13 =S103 *C5103U14 =S104 *C5104 U15=S35*C5105U32=U11+U12 U33=U11-U12U34=U13+U15 U35=U14+U15XT3=X(I(3))+R31 YT3=Y(I(3))+S31XT8= T32-U34 XT23= T32+U34YT8= T34+U32 YT23=-T34+U32XT13= T33-U35 XT18= T33+U35YT13= T35+U33 YT18=-T35+U33R101=X(I(9))+X(I(24)) R102=X(I(14))+X(I(19))R103=X(I(9))-X(I(24)) R104=X(I(14))-X(I(19))R31=R101+R102 R32=R101-R102R35=R103+R104 T16=X(I(4))+X(I(4))T11=T16+T16-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=Y(I(9))+Y(I(24))S102=Y(I(14))+Y(I(19)) S103=Y(I(9))-Y(I(24))S104=Y(I(14))-Y(I(19)) S31=S101+S102S32=S101-S102 S35=S103+S104U16=Y(I(4))+Y(I(4)) U11=U16+U16-S31U12 =S32 *C5102 U13 =S103 *C5103U14 =S104 *C5104 U15=S35*C5105U32=U11+U12 U33=U11-U12U34=U13+U15 U35=U14+U15XT4=X(I(4))+R31 YT4=Y(I(4))+S31XT9= T32-U34 XT24= T32+U34YT9= T34+U32 YT24=-T34+U32XT14= T33-U35 XT19= T33+U35YT14= T35+U33 YT19=-T35+U33R101=X(I(10))+X(I(25)) R102=X(I(15))+X(I(20))R103=X(I(10))-X(I(25)) R104=X(I(15))-X(I(20)) R31=R101+R102R32=R101-R102 R35=R103+R104T16=X(I(5))+X(I(5)) T11=T16+T16-R31T12 =R32 *C5102 T13 =R103 *C5103T14 =R104 *C5104 T15=R35*C5105T32=T11+T12 T33=T11-T12T34=T13+T15 T35=T14+T15S101=Y(I(10))+Y(I(25)) S102=Y(I(15))+Y(I(20))S103=Y(I(10))-Y(I(25)) S104=Y(I(15))-Y(I(20))S31=S101+S102 S32=S101-S102S35=S103+S104 U16=Y(I(5))+Y(I(5))U11=U16+U16-S31 U12 =S32 *C5102U13 =S103 *C5103 U14 =S104 *C5104U15=S35*C5105 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 XT5=X(I(5))+R31YT5=Y(I(5))+S31 XT10= T32-U34XT25= T32+U34 YT10= T34+U32YT25=-T34+U32 XT15= T33-U35XT20= T33+U35 YT15= T35+U33YT20=-T35+U33 T1=(XT7+YT7)*C2512T2=XT7*C2510 XT7=T1-YT7*C2511YT7=T1+T2 T1=(XT12+YT12)*C2522T2=XT12*C2520 XT12=T1-YT12*C2521YT12=T1+T2 T1=(XT17+YT17)*C2532T2=XT17*C2530 XT17=T1-YT17*C2531YT17=T1+T2 T1=(XT22+YT22)*C2542T2=XT22*C2540 XT22=T1-YT22*C2541YT22=T1+T2 T1=(XT8+YT8)*C2522T2=XT8*C2520 XT8=T1-YT8*C2521YT8=T1+T2 T1=(XT13+YT13)*C2542T2=XT13*C2540 XT13=T1-YT13*C2541YT13=T1+T2 T1=(XT18+YT18)*C2562T2=XT18*C2560 XT18=T1-YT18*C2561YT18=T1+T2 T1=(XT23+YT23)*C2582T2=XT23*C2580 XT23=T1-YT23*C2581YT23=T1+T2 T1=(XT9+YT9)*C2532T2=XT9*C2530 XT9=T1-YT9*C2531YT9=T1+T2 T1=(XT14+YT14)*C2562T2=XT14*C2560 XT14=T1-YT14*C2561YT14=T1+T2 T1=(XT19+YT19)*C2592T2=XT19*C2590 XT19=T1-YT19*C2591YT19=T1+T2 T1=(XT24+YT24)*C25122T2=XT24*C25120 XT24=T1-YT24*C25121YT24=T1+T2 T1=(XT10+YT10)*C2542T2=XT10*C2540 XT10=T1-YT10*C2541YT10=T1+T2 T1=(XT15+YT15)*C2582T2=XT15*C2580 XT15=T1-YT15*C2581YT15=T1+T2 T1=(XT20+YT20)*C25122T2=XT20*C25120 XT20=T1-YT20*C25121YT20=T1+T2 T1=(XT25+YT25)*C25162T2=XT25*C25160 XT25=T1-YT25*C25161YT25=T1+T2 R101=XT2+XT5R102=XT3+XT4 R103=XT2-XT5R104=XT3-XT4 R31=R101+R102R32=R101-R102 R35=R103+R104T11 =R31 *C5001+XT1 T12 =R32 *C5002T13 =R103 *C5003 T14 =R104 *C5004T15 =R35 *C5005 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=YT2+YT5S102=YT3+YT4 S103=YT2-YT5S104=YT3-YT4 S31=S101+S102S32=S101-S102 S35=S103+S104U11 =S31 *C5001+YT1 U12 =S32 *C5002U13 =S103 *C5003 U14 =S104 *C5004U15 =S35 *C5005 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 X(I(1))=XT1+R31Y(I(1))=YT1+S31 X(I(6))= T32-U34X(I(21))= T32+U34 Y(I(6))= T34+U32Y(I(21))=-T34+U32 X(I(11))= T33-U35X(I(16))= T33+U35 Y(I(11))= T35+U33Y(I(16))=-T35+U33 R101=XT7+XT10R102=XT8+XT9 R103=XT7-XT10R104=XT8-XT9 R31=R101+R102R32=R101-R102 R35=R103+R104T11 =XT6-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=YT7+YT10S102=YT8+YT9 S103=YT7-YT10S104=YT8-YT9 S31=S101+S102S32=S101-S102 S35=S103+S104U11 =YT6-S31 U12 =S32 *C5102U13 =S103 *C5103 U14 =S104 *C5104U15=S35*C5105 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 R31=R31+R31S31=S31+S31 X(I(2))=XT6+R31+R31Y(I(2))=YT6+S31+S31 X(I(7))= T32-U34X(I(22))= T32+U34 Y(I(7))= T34+U32Y(I(22))=-T34+U32 X(I(12))= T33-U35X(I(17))= T33+U35 Y(I(12))= T35+U33Y(I(17))=-T35+U33 R101=XT12+XT15R102=XT13+XT14 R103=XT12-XT15R104=XT13-XT14 R31=R101+R102R32=R101-R102 R35=R103+R104T11 =XT11-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=YT12+YT15S102=YT13+YT14 S103=YT12-YT15S104=YT13-YT14 S31=S101+S102S32=S101-S102 S35=S103+S104U11 =YT11-S31 U12 =S32 *C5102U13 =S103 *C5103 U14 =S104 *C5104U15=S35*C5105 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 R31=R31+R31S31=S31+S31 X(I(3))=XT11+R31+R31Y(I(3))=YT11+S31+S31 X(I(8))= T32-U34X(I(23))= T32+U34 Y(I(8))= T34+U32Y(I(23))=-T34+U32 X(I(13))= T33-U35X(I(18))= T33+U35 Y(I(13))= T35+U33Y(I(18))=-T35+U33 R101=XT17+XT20R102=XT18+XT19 R103=XT17-XT20R104=XT18-XT19 R31=R101+R102R32=R101-R102 R35=R103+R104T11 =XT16-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=YT17+YT20S102=YT18+YT19 S103=YT17-YT20S104=YT18-YT19 S31=S101+S102S32=S101-S102 S35=S103+S104U11 =YT16-S31 U12 =S32 *C5102U13 =S103 *C5103 U14 =S104 *C5104U15=S35*C5105 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 R31=R31+R31S31=S31+S31 X(I(4))=XT16+R31+R31Y(I(4))=YT16+S31+S31 X(I(9))= T32-U34X(I(24))= T32+U34 Y(I(9))= T34+U32Y(I(24))=-T34+U32 X(I(14)= T33-U35X(I(19))= T33+U35 Y(I(14))= T35+U33Y(I(19))=-T35+U33 R101=XT22+XT25R102=XT23+XT24 R103=XT22-XT25R104=XT23-XT24 R31=R101+R102R32=R101-R102 R35=R103+R104T11 =XT21-R31 T12 =R32 *C5102T13 =R103 *C5103 T14 =R104 *C5104T15=R35*C5105 T32=T11+T12T33=T11-T12 T34=T13+T15T35=T14+T15 S101=YT22+YT25S102=YT23+YT24 S103=YT22-YT25S104=YT23-YT24 S31=S101+S102S32=S101-S102 S35=S103+S104U11 =YT21-S31 U12 =S32 *C5102U13 =S103 *C5103 U14 =S104 *C5104U15=S35*C5105 U32=U11+U12U33=U11-U12 U34=U13+U15U35=U14+U15 R31=R31+R31S31=S31+S31 X(I(5))=XT21+R31+R31Y(I(5))=YT21+S31+S31 X(I(10))= T32-U34X(I(25))= T32+U34 Y(I(10))= T34+U32Y(I(25))=-T34+U32 X(I(15))= T33-U35X(I(20))= T33+U35 Y(I(15))= T35+U33Y(I(20))=-T35+U33 CGOTO 20 CFigure. Length-25 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