Skip to content Skip to navigation

Connexions

You are here: Home » Content » N = 19 Winograd FFT module

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the authors

Recently Viewed

This feature requires Javascript to be enabled.

N = 19 Winograd FFT module

Module by: Howard Johnson, C. Sidney Burrus

Summary: A very efficient length N = 19 FFT module that can be use alone or with the PFA or the WFTA. Designed by Howard Johnson in 1981.

N=19 FFT module

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

C
C-------------------WFTA N=19----------------------------
C
C 372 ADDS; 76 MPYS
C DATA FOR LENGTH 19 DFT
DATA C1901  /     -1.0555555555555556 /
DATA C1902  /      .1775222851392708 /
DATA C1903  /     -.1282007750219153 /
DATA C1904  /      .0493215101173555 /
DATA C1905  /      .5761101149100590 /
DATA C1906  /     -.7499644965553628 /
DATA C1907  /     -.1738543816453038 /
DATA C1908  /    -2.1729997561977314 /
DATA C1909  /    -1.7021211726914737 /
DATA C1910  /      .4708785835062578 /
DATA C1911  /    -2.0239400846888438 /
DATA C1912  /      .1055164120166409 /
DATA C1913  /     2.1294564967054848 /
DATA C1914  /     -.7508754389737117 /
DATA C1915  /      .1481281769515716 /
DATA C1916  /      .8990036159252833 /
DATA C1917  /     -.6214824677260278 /
DATA C1918  /     -.7986935209871269 /
DATA C1919  /     -.4733919962377183 /
DATA C1920  /     -.2421610524189263 /
DATA C1921  /     -.0593686079675051 /
DATA C1922  /      .0125786882551762 /
DATA C1923  /     -.0467899197123289 /
DATA C1924  /     -.9375012191378236 /
DATA C1925  /     -.0501115370433529 /
DATA C1926  /     -.9876127561811766 /
DATA C1927  /    -1.1745786501205960 /
DATA C1928  /     1.1114482296234993 /
DATA C1929  /     2.2860268797440954 /
DATA C1930  /      .2642052325793094 /
DATA C1931  /     2.1981792779352138 /
DATA C1932  /     1.9339740453559042 /
DATA C1933  /     -.7482584709125489 /
DATA C1934  /     -.4782083564276887 /
DATA C1935  /      .2700501144848602 /
DATA C1936  /     -.3464235615954227 /
DATA C1937  /     -.8348542936068828 /
DATA C1938  /     -.3937592850674352 /
C
C-----------------WFTA N=19--------------------------
C 
R100=X(I(2))+X(I(19))
R109=X(I(2))-X(I(19))
R101=X(I(3))+X(I(18))
R110=-X(I(3))+X(I(18))
R102=X(I(5))+X(I(16))
R111=X(I(5))-X(I(16))
R103=X(I(9))+X(I(12))
R112=-X(I(9))+X(I(12))
R104=X(I(17))+X(I(4))
R113=X(I(17))-X(I(4))
R105=X(I(14))+X(I(7))
R114=-X(I(14))+X(I(7))
R106=X(I(8))+X(I(13))
R115=X(I(8))-X(I(13))
R107=X(I(15))+X(I(6))
R116=-X(I(15))+X(I(6))
R108=X(I(10))+X(I(11))
R117=X(I(10))-X(I(11))
R200=R100-R106
R201=R101-R107
R202=R102-R108
R203=R103-R106
R204=R104-R107
R205=R105-R108
R206=R100+R103+R106
R207=R101+R104+R107
R208=R102+R105+R108
R209=R200+R202
R210=R203+R205
R31=R206+R207+R208
R32=R210+R204
R33=R209+R201
R34=R33-R32
R35=R210-R204
R36=R209-R201
R37=R36-R35
R38=R203
R39=R200-R203
R310=R200
R311=R205
R312=R202-R205
R313=R202
R314=-R312+R200-R204
R315=R39+R205-R201
R316=-R315+R314
R317=R206-R208
R318=R207-R208
R319=R317+R318
R220=R109-R115
R221=R110-R116
R222=R111-R117
R223=R112-R115
R224=R113-R116
R225=R114-R117
R226=R109+R112+R115
R227=R110+R113+R116
R228=R111+R114+R117
R229=R220+R222
R230=R223+R225
R320=R226+R227+R228
R321=R230+R224
R322=R229+R221
R323=R322-R321
R324=R230-R224
R325=R229-R221
R326=R325-R324
R327=R223
R328=R220-R223
R329=R220
R330=R225
R331=R222-R225
R332=R222
R333=-R331+R220-R224
R334=R328+R225-R221
R335=-R334+R333
R336=R226-R228
R337=R227-R228
R338=R336+R337
X(I(1))=X(I(1))+R31
T11=R31*C1901
T12=R32*C1902
T13=R33*C1903
T14=R34*C1904
T15=R35*C1905
T16=R36*C1906
T17=R37*C1907
T18=R38*C1908
T19=R39*C1909
T110=R310*C1910
T111=R311*C1911
T112=R312*C1912
T113=R313*C1913
T114=R314*C1914
T115=R315*C1915
T116=R316*C1916
T117=R317*C1917
T118=R318*C1918
T119=R319*C1919
T120=R320*C1920
T121=R321*C1921
T122=R322*C1922
T123=R323*C1923
T124=R324*C1924
T125=R325*C1925
T126=R326*C1926
T127=R327*C1927
T128=R328*C1928
T129=R329*C1929
T130=R330*C1930
T131=R331*C1931
T132=R332*C1932
T133=R333*C1933
T134=R334*C1934
T135=R335*C1935
T136=R336*C1936
T137=R337*C1937
T138=R338*C1938
T11=T11+X(I(1))
T200=T12+T13
T201=T15+T16
T202=T115+T116
T203=T200+T201
T204=T12+T14
T205=T15+T17
T206=T114+T116
T207=-T203+T18
T208=T204+T205
T209=T111-T206
T210=T19+T202+T207
T211=T208+T112+T209
T212=T204-T205+T202
T213=T207+T208+T110+T206
T214=T203+T113+T209+T202
T215=T200-T201+T206
T216=T117-T119
T217=T118-T119
T218=T11+T216
T219=T11-T216-T217
T220=T11+T217
T2100=T121+T122
T2101=T124+T125
T2102=T134+T135
T2103=T2100+T2101
T2104=T121+T123
T2105=T124+T126
T2106=T133+T135
T2107=-T2103+T127
T2108=T2104+T2105
T2109=T130-T2106
T2110=T128+T2102+T2107
T2111=T2108+T131+T2109
T2112=T2104-T2105+T2102
T2113=T2107+T2108+T129+T2106
T2114=T2103+T132+T2109+T2102
T2115=T2100-T2101+T2106
T2116=T136-T138
T2117=T137-T138
T2118=T120+T2116
T2119=T120-T2116-T2117
T2120=T120+T2117
T32=T213-T210+T218
T310=T214-T211+T219
T36=T215-T212+T220
T38=-T213+T218
T37=-T214+T219
T34=-T215+T220
T39=T210+T218
T35=T211+T219
T33=T212+T220
T311=T2113-T2110+T2118
T319=T2114-T2111+T2119
T315=T2115-T2112+T2120
T317=-T2113+T2118
T316=-T2114+T2119
T313=T2115-T2120
T318=-T2110-T2118
T314=T2111+T2119
T312=-T2112-T2120
S100=Y(I(2))+Y(I(19))
S109=Y(I(2))-Y(I(19))
S101=Y(I(3))+Y(I(18))
S110=-Y(I(3))+Y(I(18))
S102=Y(I(5))+Y(I(16))
S111=Y(I(5))-Y(I(16))
S103=Y(I(9))+Y(I(12))
S112=-Y(I(9))+Y(I(12))
S104=Y(I(17))+Y(I(4))
S113=Y(I(17))-Y(I(4))
S105=Y(I(14))+Y(I(7))
S114=-Y(I(14))+Y(I(7))
S106=Y(I(8))+Y(I(13))
S115=Y(I(8))-Y(I(13))
S107=Y(I(15))+Y(I(6))
S116=-Y(I(15))+Y(I(6))
S108=Y(I(10))+Y(I(11))
S117=Y(I(10))-Y(I(11))
S200=S100-S106
S201=S101-S107
S202=S102-S108
S203=S103-S106
S204=S104-S107
S205=S105-S108
S206=S100+S103+S106
S207=S101+S104+S107
S208=S102+S105+S108
S209=S200+S202
S210=S203+S205
S31=S206+S207+S208
S32=S210+S204
S33=S209+S201
S34=S33-S32
S35=S210-S204
S36=S209-S201
S37=S36-S35
S38=S203
S39=S200-S203
S310=S200
S311=S205
S312=S202-S205
S313=S202
S314=-S312+S200-S204
S315=S39+S205-S201
S316=-S315+S314
S317=S206-S208
S318=S207-S208
S319=S317+S318
S220=S109-S115
S221=S110-S116
S222=S111-S117
S223=S112-S115
S224=S113-S116
S225=S114-S117
S226=S109+S112+S115
S227=S110+S113+S116
S228=S111+S114+S117
S229=S220+S222
S230=S223+S225
S320=S226+S227+S228
S321=S230+S224
S322=S229+S221
S323=S322-S321
S324=S230-S224
S325=S229-S221
S326=S325-S324
S327=S223
S328=S220-S223
S329=S220
S330=S225
S331=S222-S225
S332=S222
S333=-S331+S220-S224
S334=S328+S225-S221
S335=-S334+S333
S336=S226-S228
S337=S227-S228
S338=S336+S337
Y(I(1))=Y(I(1))+S31
U11=S31*C1901
U12=S32*C1902
U13=S33*C1903
U14=S34*C1904
U15=S35*C1905
U16=S36*C1906
U17=S37*C1907
U18=S38*C1908
U19=S39*C1909
U110=S310*C1910
U111=S311*C1911
U112=S312*C1912
U113=S313*C1913
U114=S314*C1914
U115=S315*C1915
U116=S316*C1916
U117=S317*C1917
U118=S318*C1918
U119=S319*C1919
U120=S320*C1920
U121=S321*C1921
U122=S322*C1922
U123=S323*C1923
U124=S324*C1924
U125=S325*C1925
U126=S326*C1926
U127=S327*C1927
U128=S328*C1928
U129=S329*C1929
U130=S330*C1930
U131=S331*C1931
U132=S332*C1932
U133=S333*C1933
U134=S334*C1934
U135=S335*C1935
U136=S336*C1936
U137=S337*C1937
U138=S338*C1938
U11=U11+X(I(1))
U200=U12+U13
U201=U15+U16
U202=U115+U116
U203=U200+U201
U204=U12+U14
U205=U15+U17
U206=U114+U116
U207=-U203+U18
U208=U204+U205
U209=U111-U206
U210=U19+U202+U207
U211=U208+U112+U209
U212=U204-U205+U202
U213=U207+U208+U110+U206
U214=U203+U113+U209+U202
U215=U200-U201+U206
U216=U117-U119
U217=U118-U119
U218=U11+U216
U219=U11-U216-U217
U220=U11+U217
U2100=U121+U122
U2101=U124+U125
U2102=U134+U135
U2103=U2100+U2101
U2104=U121+U123
U2105=U124+U126
U2106=U133+U135
U2107=-U2103+U127
U2108=U2104+U2105
U2109=U130-U2106
U2110=U128+U2102+U2107
U2111=U2108+U131+U2109
U2112=U2104-U2105+U2102
U2113=U2107+U2108+U129+U2106
U2114=U2103+U132+U2109+U2102
U2115=U2100-U2101+U2106
U2116=U136-U138
U2117=U137-U138
U2118=U120+U2116
U2119=U120-U2116-U2117
U2120=U120+U2117
U32=U213-U210+U218
U310=U214-U211+U219
U36=U215-U212+U220
U38=-U213+U218
U37=-U214+U219
U34=-U215+U220
U39=U210+U218
U35=U211+U219
U33=U212+U220
U311=U2113-U2110+U2118
U319=U2114-U2111+U2119
U315=U2115-U2112+U2120
U317=-U2113+U2118
U316=-U2114+U2119
U313=U2115-U2120
U318=-U2110-U2118
U314=U2111+U2119
U312=-U2112-U2120
X(I(2))=T32-U311
X(I(19))=T32+U311
Y(I(2))=T311+U32
Y(I(19))=-T311+U32
X(I(3))=T33-U312
X(I(18))=T33+U312
Y(I(3))=T312+U33
Y(I(18))=-T312+U33
X(I(4))=T34-U313
X(I(17))=T34+U313
Y(I(4))=T313+U34
Y(I(17))=-T313+U34
X(I(5))=T35-U314
X(I(16))=T35+U314
Y(I(5))=T314+U35
Y(I(16))=-T314+U35
X(I(6))=T36-U315
X(I(15))=T36+U315
Y(I(6))=T315+U36
Y(I(15))=-T315+U36
X(I(7))=T37-U316
X(I(14))=T37+U316
Y(I(7))=T316+U37
Y(I(14))=-T316+U37
X(I(8))=T38-U317
X(I(13)=T38+U317
Y(I(8))=T317+U38
Y(I(13)=-T317+U38
X(I(9))=T39-U318
X(I(12))=T39+U318
Y(I(9))=T318+U39
Y(I(12))=-T318+U39
X(I(10))=T310-U319
X(I(11))=T310+U319
Y(I(10))=T319+U310
Y(I(11))=-T319+U310
C
    GOTO 20
C
 
Figure.  Length-19 FFT Module

References

    Comments, questions, feedback, criticisms?

    Send feedback