发明名称 一种低复杂度的通用混合基FFT设计方法
摘要 本发明在基于原位存储的结构上,提出一种低复杂度的通用混合基FFT设计方法,步骤一、设计计数器;步骤二、根据步骤一得到的每级的计数器,将其映射到操作数的访问地址;步骤三、根据步骤一得到的计数器,给出生成旋转因子地址的中间值的映射;上面得到的操作数和旋转因子的访问地址即为地址控制单元,选择器Mux设置为:当Mux=0时,表示进入RAM中的数据为外界输入数据;当Mux=1时,表示进入RAM中的数据为由蝶形单元计算按照原位算法存储的数据。
申请公布号 CN103823789A 申请公布日期 2014.05.28
申请号 CN201410038962.6 申请日期 2014.01.26
申请人 北京理工大学 发明人 陈禾;杨晨;马梅;谢宜壮;陈亮;龙腾
分类号 G06F17/14(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 仇蕾安
主权项 1.一种低复杂度的通用混合基FFT设计方法,设FFT点数满足<maths num="0001"><![CDATA[<math><mrow><mi>N</mi><mo>=</mo><msubsup><mi>r</mi><mn>1</mn><msub><mi>s</mi><mn>1</mn></msub></msubsup><mo>&times;</mo><msubsup><mi>r</mi><mn>2</mn><msub><mi>s</mi><mn>2</mn></msub></msubsup><mo>&times;</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>&times;</mo><msubsup><mi>r</mi><mi>t</mi><msub><mi>s</mi><mi>t</mi></msub></msubsup><mo>,</mo></mrow></math>]]></maths>计算蝶形单元顺序为:<maths num="0002"><![CDATA[<math><mrow><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><msub><mi>r</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>r</mi><mi>t</mi></msub><mo>,</mo><mi>s</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></munderover><msub><mi>s</mi><mi>i</mi></msub><mo>;</mo></mrow></math>]]></maths>其特征在于,包括以下步骤:步骤一、设计计数器:当级数为1~s<sub>1</sub>时,采用的蝶形单元为基-r<sub>1</sub>,设计的计数器为:<img file="FDA0000462598380000013.GIF" wi="524" he="124" />即该计数器由s位进制数表示,顺序从最高位到最低位的进制数分别为s<sub>1</sub>-1位r<sub>1</sub>进制数,s<sub>2</sub>位r<sub>2</sub>进制数,s<sub>3</sub>位r<sub>3</sub>进制数,…,s<sub>t</sub>位r<sub>t</sub>进制数,1位r<sub>1</sub>进制数;当级数为s<sub>1</sub>+1~s<sub>1</sub>+s<sub>2</sub>时,采用的蝶形单元为基-r<sub>2</sub>,设计的计数器为:<img file="FDA0000462598380000014.GIF" wi="494" he="124" />顺序从最高位到最低位的进制数分别为s<sub>1</sub>位r<sub>1</sub>进制数,s<sub>2</sub>-1位r<sub>2</sub>进制数,s<sub>3</sub>位r<sub>3</sub>进制数,…,s<sub>t</sub>位r<sub>t</sub>进制数,1位r<sub>2</sub>进制数;当级数为<img file="FDA0000462598380000015.GIF" wi="206" he="120" />时,采用的蝶形单元为基-r<sub>j</sub>,设计的计数器为:<img file="FDA0000462598380000016.GIF" wi="628" he="126" />顺序从最高位到最低位的进制数分别为s<sub>1</sub>位r<sub>1</sub>进制数,s<sub>2</sub>-1位r<sub>2</sub>进制数,s<sub>3</sub>位r<sub>3</sub>进制数,…,s<sub>j</sub>-1位r<sub>j</sub>进制数,…,s<sub>t</sub>位r<sub>t</sub>进制数,1位rj进制数;步骤二、根据步骤一得到的每级的计数器,将其映射到操作数的访问地址,即当级数为1~s<sub>1</sub>时,计数器为:<img file="FDA0000462598380000017.GIF" wi="504" he="130" />对应的操作数地址为:<img file="FDA0000462598380000018.GIF" wi="430" he="110" />当级数为1时,将计数器最低位r<sub>1</sub>移位到最高位的左端;当级数为2时,将计数器最低位r<sub>1</sub>移位到最高位的后1位;当级数为3时,将计数器最低位r<sub>1</sub>移位到最高位的后2位;….;当级数为i(i≤s<sub>1</sub>)时,将计数器最低位r<sub>1</sub>移位到最高位的后i-1位;当级数为s<sub>1</sub>+1~s<sub>1</sub>+s<sub>2</sub>时,计数器为:<img file="FDA0000462598380000021.GIF" wi="544" he="134" />对应的操作数地址为:<img file="FDA0000462598380000022.GIF" wi="384" he="106" />当级数为s<sub>1</sub>+1时,将计数器最低位r<sub>2</sub>移位到s<sub>2</sub>-1位r<sub>2</sub>进制数左端;当级数为s<sub>1</sub>+2时,将计数器最低位r<sub>2</sub>移位到s<sub>2</sub>-1位r<sub>2</sub>进制数的后1位;当级数为3时,将计数器最低位r<sub>2</sub>移位到s<sub>2</sub>-1位r<sub>2</sub>进制数后2位;….;当级数为i(s<sub>1</sub>&lt;i≤s<sub>1</sub>+s<sub>2</sub>)时,将计数器最低位r<sub>2</sub>移位到s<sub>2</sub>-1位r<sub>2</sub>进制数后i-s<sub>1</sub>位;依次类推其他级数由计数器映射到对应的操作数地址;步骤三、根据步骤一得到的计数器,给出生成旋转因子地址的中间值的映射,设为β:第一级,无需映射,β=0;当级数为<img file="FDA0000462598380000026.GIF" wi="171" he="69" /><img file="FDA0000462598380000023.GIF" wi="348" he="124" />即i-1位r<sub>1</sub>进制数,后面补s-i个零,其中s<sub>1</sub>-i个r<sub>1</sub>进制零,s<sub>2</sub>个r<sub>2</sub>进制零,…,s<sub>t</sub>个r<sub>t</sub>进制零;当级数为<img file="FDA0000462598380000027.GIF" wi="293" he="72" /><img file="FDA0000462598380000024.GIF" wi="376" he="120" />即s<sub>1</sub>位r<sub>1</sub>进制数,i-s1-1位r<sub>2</sub>进制数,后面补s-i个零,其中s<sub>1</sub>+s<sub>2</sub>-i个r<sub>2</sub>进制零,s<sub>3</sub>个r<sub>3</sub>进制零,…,s<sub>t</sub>个r<sub>t</sub>进制零;其他级数以此类推;β得到后,即得到基-r′的r′个旋转因子地址,r′=r<sub>j</sub>,j=1,2,…,<sub>t</sub>:<img file="FDA0000462598380000025.GIF" wi="434" he="322" />上面得到的操作数和旋转因子的访问地址即为地址控制单元,选择器Mux设置为:当Mux=0时,表示进入RAM中的数据为外界输入数据;当Mux=1时,表示进入RAM中的数据为由蝶形单元计算按照原位算法存储的数据。
地址 100081 北京市海淀区中关村南大街5号