用于基-2快速傅立叶变换同址运算的地址产生方法

文档序号:6459077阅读:390来源:国知局
专利名称:用于基-2快速傅立叶变换同址运算的地址产生方法
技术领域
本发明属通信和集成电路设计技术领域,具体涉及一种基-2快速傅立叶变换蝶形运算的 地址产生方法及其硬件实现,尤其涉及一种适用于同址运算的地址产生方法及其硬件实现。
技术背景OFDM(正交频分复址)技术的应用使得通信质量和数据率大大提高。快速傅立叶变换(FFT) 是这一技术中的关键算法,也是运算量和硬件开销最大的部分。在FFT中,基2的同址运算 是目前广泛采用的算法。其特点是,N点快速傅立叶变换中含有logN级运算,每级运算含有 N/2个蝶形运算,每个蝶形结构需要两个操作数作为输入。其中,第一级运算的所有输入采 用与前级调制输出的顺序倒序,每级运算后的结果仍然存到操作数的输入地址中。logN级运 算全部完成后,最后的N个结果正好按照调制输出的顺序输出。从最后的输出结果往回看, 第m级运算的数据是按照第m+l级结果序列的奇偶分开。每个蝶形运算的两个操作数是奇偶 部分对应的两个数。虽然从后往前推导,操作数具有上述特点,但是快速傅立叶变换同址运 算的各级操作数的地址产生是计算的关键。现有解决方案是采用基于ALU的地址发生器,通 过一定的算术和逻辑运算产生所需地址;或者通过查找表进行遍历搜索。这些方法是以找出 第m级的输出在第m+l级输入的位置为目标。但是,这两种方法对于硬件的消耗都比较大, 尤其是查找表的方法,对于傅立叶变换点数较大时不再适用。 发明内容本发明的目的在于提供一种适用于基-2快速傅立叶变换同址运算的地址产生算法及其硬 件实现,以寻找每个蝶形运算的操作数为目标,使用很少的硬件资源,完成所有地址的搜索。本发明提出的适用于基-2快速傅立叶变换(假设N点傅立叶变换,地址宽度r^logN)同 址运算的地址产生方法,其具体步骤如下根据奇偶分离规律,对于第m级运算,参与每个蝶形运算的两个数的地址的第m位相反, 其余位相同;对于第m级运算,屏蔽指针地址的第m位,在剩下的n-1比特中循环加1,进行2"—'范围内的地址搜索;每个指针指到的地址都是参与某个蝶形运算的操作数所在地址,另一个操作 数地址由指针所指地址的第m位取反得到。本发明所提出的适用于基-2快速傅立叶变换同址运算地址产生方法的硬件实现,包括一个初始地址寄存器;一个记录生成地址的指针;一个多比特按位异或逻辑。其中,初始地址寄存器,其宽度为n比特的移位寄存器,与参与蝶形运算操作数地址的位宽相 同。初始地址与傅立叶变换的点数N和当前蝶形运算的级数m有关。记录生成地址的指针是一个与操作数地址宽度相同的寄存器,每一级运算开始时都以初 始地址寄存器中的值为初值,当需要产生下一蝶形运算操作数地址时,指针值加l。按位异或逻辑可处理位宽为n比特,与指针和操作数地址的宽度相同。本发明的特点在于首先,以找出每级运算中参与每个蝶形运算的两个操作数为目标, 不论这两个数在上一级的输出处于什么位置。其次,根据同址运算中奇偶分离的规律,利用 很少的硬件资源实现所有地址的搜索。


图1是以8点快速傅立叶变换为例,根据同址运算的奇偶分离特性,各级蝶形运算输入 数的规律图示。图2为根据图1所示的同址运算的特点,输入序列地址值的规律图示。图3是本发明提出的适用于快速傅立叶变换同址运算的地址产生方法图示(以8点快速傅立叶变换为例)。图4为本发明提出的地址产生算法的硬件实现图示。图中标号l为初始地址寄存器,2为指针寄存器,3为按位异或运算。
具体实施方式
以下参照附图详细描述本发明的具体实施方式
。图1是以8点傅立叶变换为例,给出同址运算的特点。上图为8点傅立叶变换的3级蝶 形运算的操作过程,下图为各级蝶形运算输入操作数序列的顺序。同址运算的特点包括 第一级输入数的顺序为待处理信号正常序列的倒序; 最后一级的输出还原为变换之前的顺序序列; 每一级的输入输出值存在同一地址中;每一级输入序列的顺序是下一级输入序列奇偶分开后的顺序; 一个蝶形运算的操作数是奇偶部分对应的两个数。图2给出了根据图1所示的同址运算的特点,输入序列地址值的规律(地址值从左到右 按位编号,地址位的最高位编号为l)。可以发现第m级中每个蝶形运算的一对操作数的第m位相反,其余位相同((Km《n)。图3是以8-FFT为例,给出了本发明提出的适用于基-2快速傅立叶变换同址运算的地址 产生方法。对于每一级蝶形运算(假设第m级运算),该方法包括第一步,指针初始值全0,位宽为n-l;第二步,屏蔽操作数地址值的第m位,其余位随指针值增加,从全0到全1,遍历所有 情况。地址值的搜索方式完全根据指针的累加计数,与该地址在序列中的实际位置以及在上 一级的输出位置无关。指针指到的地址所在值是参与第m级中一个蝶形运算的其中一个输入 数。第三步,屏蔽位取反得到的地址值是参与该蝶形运算的另一个输入数所在位置。 图4给出了本发明提出的基-2快速傅立叶变换同址运算地址产生方法的硬件实现。根据 图2和图3所示的地址产生方法,比特屏蔽用初始地址寄存器1实现。初始地址寄存器1是 一个宽度为n,具有右移功能的移位寄存器。第m级运算初始地址的值是第m位为l,其余位 为0。指针寄存器2从初始值开始累加1。指针寄存器2中的每个值都是同级中某个蝶形运算 的一个输入数地址。每次累加1后,指针寄存器2和初始地址寄存器1进行按位异或3运算 即可得到与指针寄存器2中对应的参与同一个蝶形运算的另一操作数地址。当指针寄存器2 累加一个周期,即指针寄存器2从初始值累加到全1时,初始地址寄存器1右移一位,表示 当前级地址产生完毕,开始下一级运算。最后所应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述 实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行 修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本 发明的权利要求范围当中。
权利要求
1、一种用于基-2快速傅立叶变换同址运算的地址产生方法,假设为N点傅立叶变换,则地址宽度n=logN,其特征在于具体步骤为根据同址蝶形运算奇偶分离的规律,对于第m级蝶形运算,屏蔽指针的第m位,在剩下的n-1比特中循环累加1,进行2n-1范围内的地址搜索;指针指到的每个值都是参与一个蝶形运算的其中一个操作数所在的地址;另一个操作数的地址由指针所指值的第m位取反得到。
2、 一种实现如权利要求1所述的用于基-2快速傅立叶变换同址运算的地址产生方法的硬 件结构,其特征在于包括一个初始地址寄存器;一个记录生成地址的指针;一个多比特按位异或逻辑。
3、 根据权利要求2所述的硬件结构,其特征在于所述的初始地址寄存器是宽度为n比特 的移位寄存器,与参与蝶形运算操作数地址的位宽相同;初始地址与快速傅立叶变换点数N 和当前蝶形运算的级数m有关;初始值设为第m位为l,其余n-l位为0;如果第m级蝶形运算计算完毕,则初始地址右移一位,用同样的方法产生下一级蝶形运算所需的输入数地址。
4、 根据权利要求2所述的硬件结构,其特征在于所述的记录生成地址的指针是一个与操 作数地址宽度相同的寄存器;每一级蝶形运算开始时都以初始地址寄存器中的值为初始值, 当需要产生下一蝶形运算操作数地址时,指针值加l。
5、 根据权利要求2所述的硬件结构,其特征在于所述的按位异或逻辑,可处理的位宽为 n比特,与指针和操作数地址的宽度相同。
全文摘要
本发明属于通信和集成电路设计技术领域,具体涉及一种用于基-2快速傅立叶变换同址运算的地址产生方法和硬件实现。地址产生方法根据同址运算的奇偶分离规律,以寻找每个蝶形运算的一对操作数为目标,借助指针累加1产生各个蝶形运算的一个操作数地址,借助一对操作数地址间的关系通过特殊位取反得到另一个对应的操作数地址。实现上述地址产生方法的硬件结构包含一个初始地址寄存器、一个记录生成地址的指针和一个多比特按位异或逻辑。其中,初始地址寄存器是一个位宽与操作数存储地址位宽相同的移位寄存器;指针是一个位宽与初始地址寄存器和存储操作数地址的宽度相同的寄存器;异或逻辑支持的操作宽度与地址宽度相同。根据本发明提出的地址产生方法,硬件实现简单,资源消耗很低。
文档编号G06F17/14GK101221555SQ20081003303
公开日2008年7月16日 申请日期2008年1月24日 优先权日2008年1月24日
发明者电 周, 周晓方, 爽 赵, 陆雯青 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1