admin管理员组文章数量:1534605
2024-07-28 作者:
4.6
N为复合数的F盯算法~一混合基算法上面讨论的是序列的点数为N~护,即t:J2为基敛的FFT算法这种算法在实际中使用得摄多,因为它的餐序简单.效率高,使用方便.若不满且N=2ι,则可有U下几种办法(Jl将;dn)补一些零也点的办法,以使N增长到最邻近的个2'舷值,例如N=27.则在序列中可补进到27l二到28)=x(29)
=x(30) =x(31)
=0等5个零值点使N达到N=ZS=32.囱OFT的性质知盟,有限长序列补零之后,并不影响其频诺X'o叫,只不过其频谐的抽样点数增加T.上例中就是囱27点地JmJlJ
32点.所造成的结果是增细了计算量而已.但是.有时计算量地加太多,造成很大浪费.例如x,时的点数N=300.则须补到N=Z"=512.要补212个零值点.因而人们才研究N".2ι时的FFT算法.(2)如果要求准确的N点DFT,而N卫是素数则只能采用直拨OFT方法,或者用后顶将要介细的CZT(Chirp-z变换〉方法.(3)着N是个草合数,它可以分解成一些因子的乘胆,则可H用FFT8 徽算法.即由合基FFT算法,而基.2算法只是这种一徽算法的特例.一撞撞的~基~选制表示形式(Jl对于二进制.N=Zι.则任一个.<护的正整数"可以用2为基敛表示成二进制形式,.ι,11L:"'11,170)'其中n为0或l,i=0,1.....1_-1这个二进制敛所表示的数也为〈的10= 11!.-12l-1 + ",._:2L-I +... +11,2+110 (4-32) 将此二进制数倒位序后成为[p'川]ε=(n."I"'nι2叽I) 2 ,其所代表的数值为[p(n)]10 = 1102L-I +11,2,.--1十+.ι:2+ 11ι(4-33) (2)对于"茸制〈多进制).设N=,.!',r和L皆为大于1的'窿数(,.=2时,即为二进制).则任一个η 其中>'1,=,.→1.i=O.I,....L-j.这个"挂制敛所袋示的数值为(1/)10 = nιirLI+,,Larι1+"'+11,,-+,10 (4"34) • 162 • 将此F进制'生倒也序后成为(p(,,)J.-(,慧。""""'-I"L-,).•其所代表的敏值为[p(")J,~ =,、r'-'+'" r且'+•.. + "t-tr+叽_,(4-35) (3)对于多基多进制或称混合基.这是绩一般的情况可以包括上面两种单蜂的情Ilt.此时N可表示威直合舷N=r,rl'"凡,则对于,, m noLI'EM气。这一多基多进制数所代表的数值为(n),o = "L_,(rlrJ"'rι) +nι.(r,r, "'rι)+"'+",r,+汗。(4-36) 其倒佳11"形式为[ρ,(n)].~.~_,......,=("o","'nι,nι, ) [μp(n时)J,. = 向no(r,内r'z,... 口rι斗)+ n, (町r,ηr",... rι L2ρ)+"'+"比1-→zr,+"叽ι←H斗,(4-3盯盯7>在迫一a多脏基多进制的褒示中,,0=η1 ",= _,-l 吼,=,-l 可记为",=凡;-1. i = O.l,....L-l (4-38) 移基多进制《混合基〉是JI普A隘的形式它包含了.qt基《二进制或多迸制〉形式.当r,-rl="'=凡~2时.N=护为基2的二进制形式,当r,=rf-"'-rι~,时.N=rι为差,的r进制形式.[倒4-1]N=3X5:ar,r!.则有(n),. = n,rl +"0 = 5"t +"。[p(时],.= "Orl +'" = 3"0 + 'It 芷中n,=0.1,2: no=0.1.2.3.4 例如(6),.=5Xl+l=(11)m. [p(6)],o=3Xl+1=(4>m(2),ø=5XO+2-(02).> [例4-2]N=4X4=r,r,.剧本f(")10 = n,r, +n. = 411\ +"。[ρ〈时J,o-IIor, + n, = 4"0 + '" 其巾n,=0.1.2,31 ".=0.1.2.3 例如(3),. -4 XO+3 -(03)川[p(3)J,.-4 X 3 -, 0 -(12)ω (7),.=4Xl+3=(13).",. (ρ(7)Jlo = 4 X 3+ 1 = (13),. (l4),.=4X3+2=(32).x,. [p(l4)J,.=4X2+3=(II),. [例4-3]N=4X3X2-r,rzr).则有(,,),. = l1,rlr, +n,r, +no = 6111 +211, +11. • 163 • [ρ(n)],O nor,r,+n,r,+n,=12n。十4叫牛叫其巾n,=0.1.2.3; n,=O.J.2, n.=O.J 例如(5),0 =6XO+2x2+1 = (021),)<))(,唱[p(S)],o= 12 X 1 +4 X2+0 = (20),0 (14 )】。=6x2+2xl+0=(210)川~,.[p(14)],o = 12xO+4XI+2=刊)"(2日10= 6 X 3+2 X 1+ 1 = (31l},xm. [p(ZD],. = 12 x 1 +4 X 1十3= (19)'0 二N=r",的快速,摩洛1算法原理要计算的N点DFT为.'1-) X(k) =王二x(n)W;'.k=N-1 (4-39) 民N 是个且合数N hηn债 阳上丽的讨tfnIn将 nn <时仙向川用下式表达(〕1r一r1= 一E+g z--(4-40)、A‘ h 1同样,若令N=r,r,•则可将频率壶量k(k =η-1 = k, Ik,r,十仇 (4-41) 这样的表达式,.为"进制数..。为末位.".为其进位,是为叫进制数,k,为其末恤,是l为其进佳.实际上是将原来的序号""周短阵形式来表示.用下面的例子来加U说明设r,=4.r,=2.则N = r,r, = 4 X 2 = 8 那么则可把"。看成列序号.把..看成行序号,r,=2为列的数目.r,=4为行的数目。在安(4-40)式组合这两变蝠,就得到单一的置量时1I=O,l.....N-l)叼如表4-4的挤到.表4-4N….Xl时将n然列为短酶形式., n二〉之。。o 2 357 2 4 3 6 同样,若N=r,r,=164 • 是=4k+品。叼, 4Ik,=0.1 0守11 ko = .2.3 迫II~.k,为变换后的列置景k,为行变量.1'"1= 2为别的敬目.,】~4为行的数目.彼(4-41)式组告这两蛮量,就得到单一的变量是〈是=O,I.....N~I).将(4-40)式与(4-41)式代人(4-39)式可得.'1] 汩的=X(I'",k, +k.> = X :L,:xüdW::: •• 0 = :•L : :L:.:dl'"lll] + no )W'.,;,', _-0 -•,. ~o =豆豆.r(n, • no ) W~"" W'~,咐.W扩ewylh= :•L :. _L,.:x(n, .no)叫「··WJVitvye(4-42) ~O .. '牛。在上面推导中应用了W,日川】需W231.1=IWJ蜻果这里n是肘,川和.,表示的.所U主要对矶和..的所有佳求利,则n的一个求和1号变成了.,初"0的两个求和号.(4 42)式可进步衷示为X屿,是0)~2:1[三.I'(/I,.no)W:J""JW~'o)W沪., ~2:1[2:,问,nJWfo]川'elwrt=)~[X,(ko."o)圳、]W71.l=三x',忡。.n,,)W:g"= Xt(ko.k,) (4-43) 注意表达式小x(n,.no)表示x(旧的"为η进制顺序徘列X(k,.ko)表示X(们的走为"进制顺序排列,而X(1l0.n,)则应表示x(川的n为"进制倒位序排列.x(品。而〉川i应表示X :L:x(n"lIo)W;J".' k" =,r,一1(4-44) X,'(ko ."。】=X, (ι""}W3·P (4-45) X, (是..k,)= 2..:X,'(k川(4-46) X(企,.辰。)= X,(仇•k 1 ) (4 -41) (4-44)式表示叫为参锺时川。=0,1.....I'"t-1)输入变盟'"与输H1变键是。之间的"点165 • DFT,且共有η个(肉的最自)"点DFT.而X,(k,.7Io)的序歹'1值为ηXrl=N.(4-45) 式表示(4-44)式的X,忡。.问》乘以w:;,'.回子所组成的新序列Xi(ko,7Io).W~"称为旋转园子 (4-46)式表示h为参量时忡。=O,}....,r1-l)输入变量"0与输出变量是』之间的η点DFT,总共有"个忡。的数目)'.点DFT.而X,(仇•k1 )的序列值为"xη=N.同时页1VJ看出叼X,(/':0,k1)中的暨盏是孩"进位制倒位序徘列的.(4-47)式则表示.簸后要利用是=r1k1+ko进行整序,'J恢直出X(}=X(的.因而可将N为重合数N=r1r,的DFT算法的步骤归纳如下(J)将X(7I)改写成x(711町"0) .利用(2)利用(4-44)式,做η个"点DFT.得X,(是。.110).(3)利用(4-45)式,把N个X,(儿.710 )乘且相应的旋转因子w~'.组成Xt (的利用(4-46)式,做"个"点DFT得X,性。,k1 ). (5)利用"→47)式,进行整序.得到UX(k1,是Q)=X<的,其巾k=r,k,+庭。.对于N=rlr,=4X2=8(其中r,=4.η=白的例子,重写"和庭的表达式为71 = 211, + 710 • k = 4k,十店。,则(4-44)式变成X1(ko•1I0) = 2:x(η, ,"。川、叫"。此式有两组(对应于710=0,1)4点DFT.(4-45)式与(4-46)式分别变成Xi(仇.1I0}= X,(.)Wã<>" X,(ko .kl) = 2:X,'恼,,川Wj"1","。后一-式子共有四组(时应予ko=O.I.2.3)2点O1'T.(4-47)式变成X(k,.ko) = X,() 这样,我们可U得到IJN=4X2=8的流因.ln图4-20所示.图中省略了一个4点DFT的流阁.读者可利用上面分析的方法自行画l\j• 另外,还可U果用先乘旋转圈子再算D凹的算法,即可表示为X = 2: W~i"' 眉。_0"2,.: [.r( 11, ,110) W~.f' JW:~.L (4-48) -0 此式和(4-43)式不同z处是,首先把时间序剖乘U旋转回子W~、,然后计算"点悦。,11,)的DFT.再计算"点(k,.II.)的DFT.这里是序同先乘wyo,应正反映了按时间抽选,(4-43)式是先作变候再乘wyg,正反幌T按频血事抽选.上面讨论的是N=r,rlnpN分解为两个素数的情况.若N为商组合素数,则可按166 直数效法草数加法N' N( N-I) 国而混合基算法可节省的运算量储安交为乘法Rx=..-NX而万万τ丁)f N "ττ+1 (4-49) M法N-l R+=τγ一一--;:;'7=一一一一"'"Nù', +η-2) 1'",+1',-2 l) N(N-35 13 例如,当N=r,η=5X7=35时.R只=~~=2_6.直接DFT算法的运算量是混合基算法的Z.6俯.同样,当N=r,ηr,ß;t.一定有"2r.个"点DFT.r,r,个"点DFT,r,rl个η点DFT.b闭上两次乘旋转园子,因而单乘法欢数为N(r,+r,+η+2). 这样可山推算出.当N=r,r,"'rι时采用混合毒品算法所需且果法次数为N[I2.>')村.则直撞计算DFT与之相比,运算烛之比为-1 J (4-50) R..= N' N[ 12 .,>,)+1. --I J L HEF N (4-51) 在章,(4-50)式用于每个r,!1)为素数〈但手白的情且是精确的守此时可将'.点置换着成乘法次数为r!是对的.但是当代不是蒙致或,.,=2时.就不定对了.例如.当ri= 2时,(4-50)是两点变换不辛苦有多在法运算对".=4也是这样.对r.=8.则所得运算比64次乘法少得多.所以.当'.分别为2.4.8时.将使上面的公式儿子失放也就是说,N=Z"时式完全不适用.
本文标签: N为复合数的FFT算法混合基算法
版权声明:本文标题:N为复合数的FFT算法——混合基算法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/shuma/1722129975a917516.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论