5-FFT.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5-FFT

FFT(快速傅立叶变换)及多项式乘法的计算: (Aho书P252,Cormen书P830) 在电路设计、信号处理等许多工程应用中都会用到。 DFT(离散傅立叶变换): 设a=(a0, a1,…, an-1)T为一n维向量, W为一特殊的n阶Vandermonde矩阵: W= (第一行中的”1”等于”(0”) n阶矩阵W=(wkj)的组成: wkj=(k*j,(k=0,1,2,…,n-1, j=0,1,2,…,n-1), 且(满足((1,(n=1以及=0对一切1(j0(n-1成立。 即(是复数e2(i/n(方程xn=1的主单位(复)根),这里i=。 F(a)=Wa= 称为是向量a的离散傅立叶变换(DFT)。 因此,向量Wa中的第k个分量为a0+(k*a1+(2k*a2+…+((n-1)k*an-1。 (k=0,1,2,…,n-1) 由于计算出每一个分量需要做((n)次复数的相乘(ak可能是实数), 因此把n个分量全部计算出来,用通常的方法 需要做((n2)次复数的相乘。 但W是一特殊的n阶矩阵,矩阵中的(有一些特殊的性质, 利用(的这些性质, 使用分治和多项式插值的方法, 就可使DFT的时间复杂度(做复数相乘的次数) 从((n2)降到((nlogn)。 能在((nlogn)时间里完成DFT的算法就称为FFT。 做DFT时,总假定有n=2m(m为大于等于0的整数)。 Wa的第k个分量为: ao+a1*(k+a2*(2k+…+ an-1*( (n-1)k, 相当于求多项式A(x)= ao+a1*x+a2*x2+…+ an-1*x(n-1) 在x=(k处的值,即A((k)(多项式插值,k=0,1,…n-1)。 于是有Wa=( A((0), A((1), A((2),…,A((n-1))T 令 Ae(x)= ao+a2*x+a4*x2+…+ an-2*xn/2-1(A(x)中下标为偶数的aj为系数) Ao(x)=a1+a3*x+a5*x2+…+ an-1*xn/2-1 (A(x)中下标为奇数的aj为系数) 则有A(x)= Ae(x2) + x*Ao(x2) 。 注意:Ae(x)和Ao(x)这2个多项式的规模均为n/2(∵A(x)规模为n)。 根据A(x)= Ae(x2) + x*Ao(x2) ,可得A((k)= Ae((2k)+ (k*Ao((2k); 这就是说,我们只要求出Ae(x)和Ao(x) 在(2k处的值 (k=0,1,…n-1,即在(0 , (2 , (4 ,…(2(n-1)处的值), 再用一次乘法和一次加法就可以求得A(x)在x=(k处的值。 如前所述,A(x)在x=k处的值就是Wa的第k个分量的值。 因此,问题归结为如何较快地求出Ae((2k)和 Ao((2k) (k=0,1,…n-1)。 根据主单位复根(的性质,我们有 折半引理 (Halving Lemma):(参看Cormen书P836) 若n0且n为偶数,则有((n)2k=((n/2)k (k=0,1,2,…) 。 这里(p表示满足方程xp=1的p阶主单位复根, 为方便起见,上文(及下文)中用无下标的(表示(n。 根据主单位复根的性质不难证明折半引理,详细证明略。 e.g. n=8时有:==1,==,==-1,==-。 由折半引理, Ae()和 Ao()的值就等于Ae()和 Ao()的值, 而Ae(x)和Ao(x)这2个多项式的规模又恰好都是n/2; 于是根据前述结果,对规模为n/2的向量(ao, a2, a4,…, an-2)T作DFT, 其第k个分量的值恰好就是Ae() (k=0,1,2,…,n/2-1); 而对规模为n/2的向量(a1, a3, a5,…, an-1)T作DFT, 其第k个分量的值恰好就是Ao() (k=0,1,2,…,n/2-1) 因此,我们可以用分治法, 先分别对(ao, a2, a4,…, an-2)T和(a1, a3, a5,…, an-1)T 作n/2阶的DFT求出Ae()和Ao()(k=0,1,2,…,n/2-1), 再由等式A()= Ae()+*Ao()= Ae()+*Ao() 求出A()(k=0,1,2,…,n-1)。 对于k=0,1,2,…,n/2-1,用上述等式就可求得A(); 但对于k=n/2, n/2+1,…,n-1,A()的计算不是这样直接。这是因为, 在作n/2阶DFT时求出的只是k(n/2-1的Ae()和Ao(), 而未能得到当k=n/2, n/2+1,…,n-1时的Ae()和Ao(), 故还需要找到计算Ae()+*Ao()(k=n/2, n/2+1,…,n-1)的 比较便捷的方法。这需要利用一些的性质。 根据主单位复根的性质,可以证明下列结论: 1) = (Cancellation Lemma,d为正

文档评论(0)

ma33756 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档