发明名称 基于DSP芯片的可变长度FFT计算方法
摘要 本发明公开一种基于DSP芯片的可变长FFT计算方法,步骤为:1)判断待运算数据的长度N,若N&lt;N<sub>1</sub>,执行步骤2);若N<sub>1</sub>&lt;N&lt;TH<sub>1</sub>,执行步骤3);若TH<sub>1</sub>&lt;N&lt;TH<sub>2</sub>,执行步骤4);其中N<sub>1</sub>为DSP芯片内FFT执行装置能够直接支持的最大点数,TH<sub>1</sub>为片上存储器能够存储的最大点数,TH<sub>2</sub>=N<sub>1</sub>*N<sub>1</sub>;2)直接执行一维FFT并以DMA方式从片外存储器读写数据;3)执行二维FFT且由片上存储器存储中间数据并进行矩阵转置;4)分成多个数据块进行变换,由片上存储器存储每个数据块。本发明具有实现方法简单、能够实现可变长度的FFT计算且计算长度范围大、存储带宽利用率高、执行效率高的优点。
申请公布号 CN103955446B 申请公布日期 2017.04.19
申请号 CN201410174461.0 申请日期 2014.04.28
申请人 中国人民解放军国防科学技术大学 发明人 雷元武;彭元喜;陈书明;郭阳;刘宗林;万江华;孙书为;陈小文;余再祥;孙永节;陈跃跃;屈晓阳
分类号 G06F17/14(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 湖南兆弘专利事务所(普通合伙) 43008 代理人 周长清
主权项 一种基于DSP芯片的可变长度的FFT计算方法,其特征在于步骤为:(1)判断存储在片外存储器中待运算数据的长度N,若N&lt;N<sub>1</sub>,转入执行步骤(2);若N<sub>1</sub>&lt;N&lt;TH<sub>1</sub>,转入执行步骤(3);若TH<sub>1</sub>&lt;N&lt;TH<sub>2</sub>,转入执行步骤(4);其中N=2<sup>k</sup>,N<sub>1</sub>为DSP芯片内FFT执行装置能够直接支持的最大点数,TH<sub>1</sub>为片上存储器能够存储的最大点数,TH<sub>2</sub>=N<sub>1</sub>*N<sub>1</sub>;(2)直接以DMA方式从片外存储器中读取初始数据,所述FFT执行装置执行N点一维FFT运算后将运算结果以DMA方式写回片外存储器中,退出计算;(3)将所述待运算数据视为N<sub>1</sub>*N<sub>2</sub>的二维数据矩阵并按行顺序读取到片上存储器,在二维数据矩阵中行数为N<sub>1</sub>、列数为N<sub>2</sub>,其中N=N<sub>1</sub>*N<sub>2</sub>;所述FFT执行装置对片上存储器中数据矩阵执行二维FFT运算后得到最终结果矩阵,按列顺序读取所述最终结果矩阵并按行顺序写回片外存储器,退出计算;(4)将所述待运算数据视为N<sub>1</sub>*N<sub>2</sub>的二维矩阵并按列分为多个列数据块,每个列数据块包含TH<sub>1</sub>个数据点,依次读取每个列数据块到片上存储器中并由所述FFT执行装置进行列方向的FFT计算,将计算结果顺序写回片外存储器;将所述计算结果按行分为多个行数据块,每个行数据块包含TH<sub>1</sub>个数据点,依次读取每个行数据块到片上存储器中,由所述FFT执行装置进行行方向的FFT计算,按列顺序读取计算结果并按行顺序写回片外存储器,退出计算。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院微电子与微处理器研究所