- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Engineer-to-Engineer指南 EE-263
Analog Devices公司DSP、处理器和开发工具的使用技术指南
联系我们的技术支持中心:dsp.support@ 和 dsptools.support@
查看我们的在线资源:/ee-notes 和 /processors
TigerSHARC®处理器上定点FFT的并行实现
Boris Lernerr提供 第一版-2005年2月3日
供。具体例子使用一个256-点FFT ,但其中的数
引言
学算法和理念同样适于其它大小(不小于16
点)的变换。
现代的高度并行式处理器的进展如Analog
Devices 的TigerSHARC® 系列处理器,要求寻找 如同所见,重建的算法将FFT 打散成更小的部
更为有效的方法来并行实现许多标准算法的操 分而后可被并行。在256点FFT (其代码列表在
作。该应用手记不仅解释最快的16位FFT 如何 该应用手记的尾部)的情形下,FFT被分成一
在TigerSHARC上的实现,而且提供指导算法的 个个16 点的FFT 有16 个, 16 点FFT 以基数4
开发,使你能够将同一技术施于其他算法。一 (radix-4 )的格式来完成(即每个只有两个
般来说,大多数算法有几个层次的优化级,该 阶)。如果我们做一个512=点 FFT ,我们将不
手记将给予详细讨论。第一和最直截了当的优 得不一次做16个32点的FFT (或者一次做32个
化级是指令的并行,这是处理器架构所允许 16点的FFT ),每个32点FFT 以基数4格式先完成
的。这种工作是简单而又烦人的。优化的第二 前两个阶,最后一阶做成基数2格式。这种不同
级是循环体展开(loop unrolling )和软件的流 意味着书写FFT大小统配(FFT size-generic )的
水线操作,以取得最大并行性,避免流水线停 代码是困难的。虽然实现的算法是通用的,可
止工作。虽然比简单的一级并行复杂,但可按 同等地适于所有大小的FFT ,但代码却不能这
描述的步骤进行工作,无需深入了解算法,几 样,它必须针对每一种点大小FFT进行手工调
乎没有独创性。第三级是重建算法的数学操 整,以便能够完全达到最优化。带上这些一并
作,仍产生有效的结果,但更适合处理器的架 考虑,让我们进入TigerSHARC 园地里迷人的定
构。这需要彻底了解算法,不像软件的流水线 点FFT世界吧。
操作那样,它没有既定的引导你走向最佳方案
的步骤。这在写最佳代码中是最有趣的。 标准的基数2 FFT算法
在实际应用中,常常不需要用到所有的优化层
图1给出了一种输入经过位反转(bitreversed )
次。当所有的优化级需要时,最好以反向的顺
后的标准16点基数-2 FFT实现方案。传统来
序进行这些级的优化。在代码完全被流水化操
看,在这一算法中,阶1和2与所要求的位反转
作以后,再来尝试
文档评论(0)