- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FFT算法在定点DSP芯片上的实现.pdf
FFT算法在定点OSP芯片上的实现
韩冀中 韩承德
(中科院计算所。北京 100050)
摘要:FFT 算法的研究已经非常成熟,本文所要讨论的是如何提高FFT算法在定点DSP芯片
上的执行效率。首先,指出芯片内存层次结构在很大程度上影响算法执行速度,进而提出一种
优化方案:其次,讨论定点芯片中算法的计算精度问题,并给出自适应移位的FFT算法。实
验证明这种算法能够在不降低执行速度的同时,有效解决计算精度问题。
关键词:FFT,定点DSP,Tl C‘6x
一、 引言
自9165年C00lye和uTkye提出快速傅立叶变换算法 (凡tsF0urireTransofmr,FFT)算法
之后,新的算法不断涌现l[]。总的来说,FFT算法有两个主要的发展阶段,最初的研究主要
从计算理论出发,以减少乘法次数、降低计算复杂度为目的。典型的是以winoragd为代表的
一类算法。而后,更多的研究转向从实际应用出发,考虑数据所占内存及数据传递等硬件环境
对程序性能的影响。目前,理论的研究趋于沉寂,而应用研究仍随着信号处理技术的发展而不
断拓展,在DSP芯片上实现FFT算法是其中一个重要的方向。
DSP芯片因其特殊的体系结构和指令系统设计,在信号处理领域得到了广泛地应用.DSP
芯片可分为浮点和定点两种。虽然浮点DSP芯片的计算精度要明显高于定点芯片,但定点芯
片仍被许多系统设计所采用。除了成本的考虑之外,在对实时要求较高的应用中,如果输入信
号源为定点数据,进行定浮转换所需要耗费的时间也是影响系统设计的一个重要因素。
在定点DPs芯片上运行FFT算法需要解决两个问题,第一,计算的精度受到寄存器长度、
乘法器操作数宽度等因素的影响;第二,算法在特殊的体系和指令系统上实现,需要解决软硬
件的匹配问题,例如内存的使用和算法编译等。在Tl 公司的技术文档中提出了一些解决计算
精度和提高算法编译效率方法,除此之外,还有许多相关的研究致力于提高算法的执行速度。
但是,它们并没有将所有因素进行综合考虑。事实上,影响算法性能的因素是互相制约的。例
如,要提高算法的精度,就可能会导致算法执行速度的下降,并且数据也会占用更多的内存空
间.
我们的工作避免了从单方面改进算法的局限,而是以提高算法整体性能为目的,提出在保
证精度的同时提高算法运行效率的方法.为了讨论的方便,硬件上我们选择了德州仪器最新推
出的Tl C‘6201芯片,算法以常见的基ZFFT为例。在下一节。将简单介绍Tl芯片的体系结
构和指令集特点,并给出基ZFFT算法的一般规律。第三节讨论内存的层次结构和编译对算法
执行速度的影响,并给出提高算法效率的一般规律。第四节则首先分析了影响算法精度的几个
因素及传统的解决方案,并提出了一种自适应移位算法,它在满足应用精度需求的同时,保证
了算法的执行速度。
二、 C6201及FFT算法
从体系结构来考虑,所有的DSP芯片都包含有如下几个基本模块:完成数学运算的信号
处理器,存储数据的内存,程序指令字,有时还会包含模数转换的混合信号发生器。传统的微
处理器采用vonNuemna n结构,指令和数据共享一块内存。这种结构简单而易实现,但在一
个周期内不能同时进行数据和指令的访问。DSP芯片采用Hrvaard结构,将程序存储区和指令
存储区分开。提高了数据访问的速度。C6201除具有一般DSP芯片的这些优点之外,还在体
系结构上首先采用了VLIW (超长指令字)结构,这使得在一个周期内并行执行多条指令成为
可能。与此对应,在芯片内部有8个功能部件,_其中包括2个乘法部件和6个算术部件,它们
使每条指令可以并行使用计算资源2]【。
从指令系统上看,C6201采用类RISC的指令集,使用精简指令可以灵活地安排功能部件,
并且由于所有指令都是条件执行,增加了灵活性并减少了分支语句。另外,C6加1采用了流水
线技术,它和vuw技术及多功能部件的设计技术相配合,使得C6201成为至今为止具有最
高峰值性能的定点DSP芯片。但是,这种特殊的体系结构和指令系统也给有效地使用芯片带
来了困难,因为在大多数情况下,编译技术、算法设计等因素影响了系统的性能。FFT是信号
处理领域的一种非常普遍的算法,本文将从算法设计角度讨论如何在定点芯片上高效地实现这
种算法。
我们选择时间抽取基ZFFT算法来分析,算法的简单描述如下。
对N点序列x(n),其DFT变换对定义为fll:
文档评论(0)