<< Chapter < Page Chapter >> Page >
A very efficient length N = 17 FFT module that can be use alone or with the PFA or the WFTA. Designed by Howard Johnson in 1981.

N=17 fft module

A FORTRAN implementation of a length-17 FFT module to be used in a Prime Factor Algorithm program. Errors discovered by Yuri Reznik have been corrected (8/17/11).

C C-------------------WFTA N=17----------------------------C C 314 ADDS; 70 MPYSC DATA FOR LENGTH 17 DFT DATA C1701 / -.0426028491177360 /DATA C1702 / .2049796502326218 / DATA C1703 / 1.0451835201736758 /DATA C1704 / 1.7645848660222969 / DATA C1705 / -.7234079772860566 /DATA C1706 / -.0890555916206064 / DATA C1707 / -1.0625000000000000 /DATA C1708 / .2576941016011038 / DATA C1709 / .7798026078948376 /DATA C1710 / .5438931846457058 / DATA C1711 / .4201019349705270 /DATA C1712 / 1.2810929434228074 / DATA C1713 / .4408890734817534 /DATA C1714 / .3171761928327251 / DATA C1715 / -.9013831864801668 /DATA C1716 / -.4324875636007231 / DATA C1717 / .6669353750404450 /DATA C1718 / -.6038900431251697 / DATA C1719 / -.3692487319858255 /DATA C1720 / .4865693875554976 / DATA C1721 / .2381371213676061 /DATA C1722 / -1.5573820617422459 / DATA C1723 / .6596224701873199 /DATA C1724 / -.1431696156986624 / DATA C1725 / .2390346995986077 /DATA C1726 / -.0479325419499726 / DATA C1727 / -2.3188014856550064 /DATA C1728 / .7891456841920625 / DATA C1729 / 3.8484572871179504 /DATA C1730 / -1.3003804568801376 / DATA C1731 / 4.0814769046889033 /DATA C1732 / -1.4807159909286282 / DATA C1733 / -.0133324703635514 /DATA C1734 / -.3713977869055763 / DATA C1735 / .1923651286345638 /C C-----------------WFTA N=17--------------------------C R100=X(I(2))+X(I(17))R108=X(I(2))-X(I(17)) R101=X(I(4))+X(I(15))R109=X(I(4))-X(I(15)) R102=X(I(10))+X(I(9))R110=X(I(10))-X(I(9)) R103=X(I(11))+X(I(8))R111=X(I(11))-X(I(8)) R104=X(I(14))+X(I(5))R112=X(I(14))-X(I(5)) R105=X(I(6))+X(I(13))R113=X(I(6))-X(I(13)) R106=X(I(16))+X(I(3))R114=X(I(16))-X(I(3)) R107=X(I(12))+X(I(7))R115=X(I(12))-X(I(7)) R200=R100+R104R201=R101+R105 R202=R102+R106R203=R103+R107 R204=R200+R202R205=R201+R203 R31=R100-R104R32=R101-R105 R33=R102-R106R34=R103-R107 R35=R200-R202R36=R201-R203 R37=R204+R205R38=R204-R205 R39=R32+R34R310=R31+R33 R311=R310-R39R312=R33-R34 R313=R31-R32R314=R35+R36 R210=R108+R110R211=R109+R111 R212=R108-R110R213=R115-R113 R214=R112+R114R215=R113+R115 R216=R112-R114R217=R109-R111 R315=R210+R211R316=R214+R215 R317=R315+R316R318=R210-R211 R319=R214-R215R320=R318+R319 R321=R212+R213R322=R216+R217 R323=R321+R322R324=R212-R213 R325=R216-R217R326=R324+R325 R327=R108+R112R328=R108 R329=R112R330=R111+R115 R331=R111R332=R115 R333=R322-R316+R108-R330R334=R315-R321+R111+R112-R115 R335=R333+R334X(I(1))=X(I(1))+R37 T11=R31*C1701T12=R32*C1702 T13=R33*C1703T14=R34*C1704 T15=R35*C1705T16=R36*C1706 T17=R37*C1707T18=R38*C1708 T19=R39*C1709T110=R310*C1710 T111=R311*C1711T112=R312*C1712 T113=R313*C1713T114=R314*C1714 T115=R315*C1715T116=R316*C1716 T117=R317*C1717T118=R318*C1718 T119=R319*C1719T120=R320*C1720 T121=R321*C1721T122=R322*C1722 T123=R323*C1723T124=R324*C1724 T125=R325*C1725T126=R326*C1726 T127=R327*C1727T128=R328*C1728 T129=R329*C1729T130=R330*C1730 T131=R331*C1731T132=R332*C1732 T133=R333*C1733T134=R334*C1734 T135=R335*C1735T17=T17+X(I(1)) T200=T19+T111T201=T110-T111 T202=T14+T112T203=T112-T13 T204=T12+T113T205=T11-T113 T206=T114-T16T207=T114+T15 T208=T18+T17T209=T17-T18 T210=T200-T202T211=T206+T208 T212=T201+T203T213=T207+T209 T214=T200+T204T215=-T206+T208 T216=T201+T205T217=-T207+T209 T32=T210+T211T37=T212+T213 T33=T214+T215T36=T216+T217 T35=-T210+T211T38=-T212+T213 T39=-T214+T215T34=-T216+T217 T220=T115+T117T221=T116+T117 T222=T118+T120T223=T119+T120 T224=T121+T123T225=T122+T123 T226=T124+T126T227=T125+T126 T228=T135+T134T229=T127+T228 T230=T229+T128T231=T220+T222 T232=T220-T222T233=T221+T223 T234=T221-T223T235=T224+T226 T236=T224-T226T237=T225+T227 T238=T225-T227T239=T133-T134 T240=T229+T129T241=T239+T239 T242=T130-T241T243=T242+T131 T244=-T242-T132T245=T228+T228 T246=T245+T245T247=T239+T245 T310=T233+T237+T240T315=T232-T238+T243 T311=T231-T235+T245T314=-T232-T238-T247 T313=T231+T235+T230+T239T316=-T234-T236+T244+T246 T317=-T233+T237+T241+T245T312=T234-T236-T239 S100=Y(I(2))+Y(I(17))S108=Y(I(2))-Y(I(17)) S101=Y(I(4))+Y(I(15))S109=Y(I(4))-Y(I(15)) S102=Y(I(10))+Y(I(9))S110=Y(I(10))-Y(I(9)) S103=Y(I(11))+Y(I(8))S111=Y(I(11))-Y(I(8)) S104=Y(I(14))+Y(I(5))S112=Y(I(14))-Y(I(5)) S105=Y(I(6))+Y(I(13))S113=Y(I(6))-Y(I(13)) S106=Y(I(16))+Y(I(3))S114=Y(I(16))-Y(I(3)) S107=Y(I(12))+Y(I(7))S115=Y(I(12))-Y(I(7)) S200=S100+S104S201=S101+S105 S202=S102+S106S203=S103+S107 S204=S200+S202S205=S201+S203 S31=S100-S104S32=S101-S105 S33=S102-S106S34=S103-S107 S35=S200-S202S36=S201-S203 S37=S204+S205S38=S204-S205 S39=S32+S34S310=S31+S33 S311=S310-S39S312=S33-S34 S313=S31-S32S314=S35+S36 S210=S108+S110S211=S109+S111 S212=S108-S110S213=S115-S113 S214=S112+S114S215=S113+S115 S216=S112-S114S217=S109-S111 S315=S210+S211S316=S214+S215 S317=S315+S316S318=S210-S211 S319=S214-S215S320=S318+S319 S321=S212+S213S322=S216+S217 S323=S321+S322S324=S212-S213 S325=S216-S217S326=S324+S325 S327=S108+S112S328=S108 S329=S112S330=S111+S115 S331=S111S332=S115 S333=S322-S316+S108-S330S334=S315-S321+S111+S112-S115 S335=S333+S334Y(I(1))=Y(I(1))+S37 U11=S31*C1701U12=S32*C1702 U13=S33*C1703U14=S34*C1704 U15=S35*C1705U16=S36*C1706 U17=S37*C1707U18=S38*C1708 U19=S39*C1709U110=S310*C1710 U111=S311*C1711U112=S312*C1712 U113=S313*C1713U114=S314*C1714 U115=S315*C1715U116=S316*C1716 U117=S317*C1717U118=S318*C1718 U119=S319*C1719U120=S320*C1720 U121=S321*C1721U122=S322*C1722 U123=S323*C1723U124=S324*C1724 U125=S325*C1725U126=S326*C1726 U127=S327*C1727U128=S328*C1728 U129=S329*C1729U130=S330*C1730 U131=S331*C1731U132=S332*C1732 U133=S333*C1733U134=S334*C1734 U135=S335*C1735U17=U17+Y(I(1)) U200=U19+U111U201=U110-U111 U202=U14+U112U203=U112-U13 U204=U12+U113U205=U11-U113 U206=U114-U16U207=U114+U15 U208=U18+U17U209=U17-U18 U210=U200-U202U211=U206+U208 U212=U201+U203U213=U207+U209 U214=U200+U204U215=-U206+U208 U216=U201+U205U217=-U207+U209 U32=U210+U211U37=U212+U213 U33=U214+U215U36=U216+U217 U35=-U210+U211U38=-U212+U213 U39=-U214+U215U34=-U216+U217 U220=U115+U117U221=U116+U117 U222=U118+U120U223=U119+U120 U224=U121+U123U225=U122+U123 U226=U124+U126U227=U125+U126 U228=U135+U134U229=U127+U228 U230=U229+U128U231=U220+U222 U232=U220-U222U233=U221+U223 U234=U221-U223U235=U224+U226 U236=U224-U226U237=U225+U227 U238=U225-U227U239=U133-U134 U240=U229+U129U241=U239+U239 U242=U130-U241U243=U242+U131 U244=-U242-U132U245=U228+U228 U246=U245+U245U247=U239+U245 U310=U233+U237+U240U315=U232-U238+U243 U311=U231-U235+U245U314=-U232-U238-U247 U313=U231+U235+U230+U239U316=-U234-U236+U244+U246 U317=-U233+U237+U241+U245U312=U234-U236-U239 X(I(2))=T32-U310X(I(17))=T32+U310 Y(I(2))=T310+U32Y(I(17))=-T310+U32 X(I(3))=T33-U311X(I(16))=T33+U311 Y(I(3))=T311+U33Y(I(16))=-T311+U33 X(I(4))=T34-U312X(I(15))=T34+U312 Y(I(4))=T312+U34Y(I(15))=-T312+U34 X(I(5))=T35-U313X(I(14))=T35+U313 Y(I(5))=T313+U35Y(I(14))=-T313+U35 X(I(6))=T36-U314X(I(13))=T36+U314 Y(I(6))=T314+U36Y(I(13))=-T314+U36 X(I(7))=T37-U315X(I(12))=T37+U315 Y(I(7))=T315+U37Y(I(12))=-T315+U37 X(I(8))=T38-U316X(I(11))=T38+U316 Y(I(8))=T316+U38Y(I(11))=-T316+U38 X(I(9))=T39-U317X(I(10))=T39+U317 Y(I(9))=T317+U39Y(I(10))=-T317+U39 CGOTO 20 CFigure. Length-17 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