上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
ADSP-TigerSHARC处理器上定点FFT的并行实现-TigerSAHRC-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> TigerSAHRC 今天是:
技术中心  
SigmaDSP
SHARC
Blackfin
TigerSAHRC
UCLinux
ADSP-218X
视频培训
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
TigerSAHRC  
ADSP-TigerSHARC处理器上定点FFT的并行实现
[ 作者:OP ] [ 来源:ADSP开源社区 ] [ 发布时间:2015-12-14 ]

引言

现代的高度并行式处理器的进展如AnalogDevices的TigerSHARC®系列处理器,要求寻找更为有效的方法来并行实现许多标准算法的操作。该应用手记不仅解释最快的16位FFT如何在TigerSHARC上的实现,而且提供指导算法的开发,使你能够将同一技术施于其他算法。一般来说,大多数算法有几个层次的优化级,该手记将给予详细讨论。第一和最直截了当的优化级是指令的并行,这是处理器架构所允许的。这种工作是简单而又烦人的。优化的第二级是循环体展开( loop unrolling)和软件的流水线操作,以取得最大并行性,避免流水线停止工作。虽然比简单的一级并行复杂,但可按描述的步骤进行工作,无需深入了解算法,几乎没有独创性。第三级是重建算法的数学操作,仍产生有效的结果,但更适合处理器的架构。这需要彻底了解算法,不像软件的流水线操作那样,它没有既定的引导你走向最佳方案的步骤。这在写最佳代码中是最有趣的。在实际应用中,常常不需要用到所有的优化层次。当所有的优化级需要时,最好以反向的顺序进行这些级的优化。在代码完全被流水化操作以后,再来尝试改变基本的底层算法已经太迟了。由此,程序师必须要先考虑算法结构,随后组织代码。然后通常将优化层次1和2(并行、展开以及流水线操作)同时进行。

本手记中所参考使用的代码由模拟器件公司提供。具体例子使用一个256-点FFT,但其中的数学算法和理念同样适于其它大小(不小于16点)的变换。

如同所见,重建的算法将FFT打散成更小的部分而后可被并行。在256点FFT(其代码列表在该应用手记的尾部)的情形下, FFT被分成一个个16点的FFT有16个,16点FFT以基数4(radix-4)的格式来完成(即每个只有两个阶)。如果我们做一个512=点 FFT,我们将不得不一次做16个32点的FFT(或者一次做32个16点的FFT) ,每个32点FFT以基数4格式先完成前两个阶,最后一阶做成基数2格式。这种不同意味着书写FFT大小统配( FFT size-generic)的代码是困难的。虽然实现的算法是通用的,可同等地适于所有大小的FFT,但代码却不能这样,它必须针对每一种点大小FFT进行手工调整,以便能够完全达到最优化。带上这些一并考虑,让我们进入TigerSHARC园地里迷人的定点FFT世界吧。

完整的文档请通过百度云盘下载:链接:http://pan.baidu.com/s/1o6Zm650 密码:0nqd

ADI DSP任何问题,可联系OP的QQ:5516164,邮箱:sale@openadsp.com

联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1