[发明专利]一种大点数FFT在处理器上的实现方法有效
申请号: | 201310034812.3 | 申请日: | 2013-01-29 |
公开(公告)号: | CN103106181A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 高立宁;刘峰;马潇;刘腾飞 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 杨志兵;高燕燕 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明公开了一种大点数FFT在处理器上的实现方法,能够解决传统FFT算法在处理器上实现大点数快FFT时没有充分考虑Cache丢失对执行效率影响的问题,改进了传统Winograd算法处理速度有限的问题。该方法包括:将一维序列存储为二维矩阵;处理器先列FFT:每次从二维矩阵中读取i列数据,读取的i列数据分 |
||
搜索关键词: | 一种 点数 fft 处理器 实现 方法 | ||
【主权项】:
1.一种大点数FFT在处理器上的实现方法,其特征在于,包括:步骤一、将待处理的一维序列x(n)分L段存储为L×M的二维矩阵,L为列的长度,M为行的长度;设定后续步骤二中每次读取i列数据,i为正整数,则在保证
的基础上,使行长度M小于或等于CacheLength;CacheLength为处理器所用Cache的容量;步骤二、处理器进行列FFT;处理器每次从L×M二维矩阵中读取i列数据,通过Cache的缓存放入内存的指定空间,然后从指定空间读取数据并进行列FFT,并将结果原位存回L×M二维矩阵;假设根据处理器数据宽度的限制,处理器每次处理数据量为w列,则i的取值为w的整数倍;读取的i列数据分
次处理;处理器共读取
次数据并进行列FFT,从而实现M次L点的列FFT;步骤三、处理器进行行FFT;处理器每次从步骤二处理后的L×M二维矩阵中读取一行数据,通过Cache的缓存放入内存的指定空间,然后从指定空间读取缓存数据并进行行FFT,并将结果按照列方向输出;处理器共读取L次数据并进行行FFT,从而实现L次M点的行FFT;本步骤的行FFT运算时第b级蝶形运算所用的旋转因子W(b,u)由下式确定:W ( b , u ) = W P ( b ) k 0 · W Q ( b ) u ]]> 其中,Wn=e-j2π/n,P(b)=N/2c-b,Q(b)=M/2c-b;b表示FFT算法中蝶形运算的当前级数;c表示FFT算法中所包含蝶形运算的总级数,c=log2(M);u表示b级蝶形运算输出序列的序号,取值范围是u=0,1,...,Q(b)-1;k0为当前进行FFT变换的行数据的行序号。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310034812.3/,转载请声明来源钻瓜专利网。
- 上一篇:激光谐振腔中光学元件精密调整及锁紧装置
- 下一篇:一种铁路轨距尺检定器