一种超高吞吐量IFFT/FFT调制解调方法转让专利

申请号 : CN202210315781.8

文献号 : CN114422315B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李天瑞黄以华

申请人 : 中山大学

摘要 :

本发明涉及通信技术领域,更具体地,涉及一种超高吞吐量IFFT/FFT调制解调方法,使用完全展开,并对旋转因子进行了专门优化的架构作为实现的基础,使用行列交织器进行紧凑的数据重排,以实现IFFT/FFT架构的分解;本发明面积开销更小,关键路径更短,运行频率更高,功耗更低,并且能够用于不同体系结构的。

权利要求 :

1.一种超高吞吐量IFFT/FFT调制解调方法,其特征在于,包括以下步骤:解调FFT过程:

S11. n点DFT的定义为:

式中, ,v为解调输入,V为解调输出,j是纯虚数,N表示FFT/IFFT的长度;

为傅立叶变换旋转引子的基;i为时域信号的序号;k为频域信号的序号;

S12.对于n点DFT,将其分解为多个DFT子模块,设 ,引入下面的系数代换:S13.代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:S14.将系数代换带入原式,并记 得到:其中,括号内的: 部分是一个 点的DFT变换,其结果与旋转因子 相乘;

整个变换式是一个 点的DFT变换,将原本的n点DFT变换分解为嵌套的 个 点变换和 个 点变换;

调制IFFT过程:

S21.n点IDFT的定义为:

S22.对于n点IDFT,将其分解为多个IDFT子模块,设 引入下面的系数代换:S23.代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:S24. 将系数代换带入原式,并记 ,得到:其中,IDFT过程与DFT过程一致,只是在IDFT过程中,改变了旋转因子,并在最后通过1/N进行缩放,在N是2的整数次幂的条件下,1/N无需计算;

其中,在步骤S14和步骤S24中,与旋转因子的相乘采用复数乘法器实现;将复数乘法器记为:式中,p为复数乘法的积;a、 b是复数乘法器的乘数;

其中,实部和虚部分别记为

对于非特殊值的复数乘法器,采用一种使用3个乘法,5个加法的快速算法:;

在没有完全展开即并行度小于P的情况下,对于行列交织器,通过组合桶式移位器和RAM实现如下架构:在输入周期中,数据通过桶式移位器,在每个周期以一个递增的移位数量进入RAM组;经过所有输入周期后,需要交织的数据被以一种无冲突的方式,完全存储到RAM中;开始输出周期后,交织后的数据通过桶式移位器输出;在行列交织器中,采用如下的地址映射方案,使得每周期的输入和输出都来自不同的RAM端口,以避免碰撞;所述的地址映射方案包括:RAM数量等于行/列数量中较大的数量;

对于属于同一行的数据,分配给不同的RAM,其序号从行首开始递增;

对于属于同一列的数据,分配给不同的RAM,其序号从列首开始递增;

对于属于同一个RAM的数据,其地址随时间递增。

2.根据权利要求1所述的超高吞吐量IFFT/FFT调制解调方法,其特征在于,对于非完全展开的FFT/IFFT,以完全展开的FFT/IFFT实现方法作为基本实现单元,根据非完全展开的FFT/IFFT的目标并行度,将其分解为多个基本实现单元,然后按照基本实现单元即完全展开的FFT/IFFT实现方法实现非完全展开的FFT/IFFT。

3.根据权利要求2所述的超高吞吐量IFFT/FFT调制解调方法,其特征在于,当IFFT/FFT被用于多载波系统的调制解调时,IFFT的输入为扩展得到的共轭对称序列,输出为实序列,FFT的输入为实序列,输出为共轭对称序列;对于共轭对称序列IFFT,采用下面的算法进行简化,对于两个需要进行变换的共轭对称序列 :前处理:构造序列 ;

对D进行IFFT变换得到d;

后处理:希望将 从D中分离出来,由于IDFT是线性变换,因此有,由于 都是实序列,所以将结果的实部和虚部分别输出即可;

对于实序列FFT,采用下面的算法进行简化,对于两个需要进行变换的实序列 :前处理:构造序列 ;

对d进行FFT变换得到D;

后处理:希望将 从D中分离出来,DFT是线性变换,因此有 ,并且D也是共轭对称的,有:

4.一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行计算机程序,其特征在于,所述的处理器执行所述计算机程序,实现权利要求1至3任一项所述的超高吞吐量IFFT/FFT调制解调方法。

5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述的计算机程序被处理器执行时,实现权利要求1至3任一项所述的超高吞吐量IFFT/FFT调制解调方法。

说明书 :

一种超高吞吐量IFFT/FFT调制解调方法

技术领域

[0001] 本发明涉及通信技术领域,更具体地,涉及一种超高吞吐量IFFT/FFT调制解调方法。

背景技术

[0002] 超高速多载波通信系统需要超高吞吐量的IFFT/FFT模块,以采用SEFDM的50G接入网基带芯片为例,其在基带接收机迭代译码时需要实现吞吐量达到250M次/秒以上的512点IFFT解调模块和512点FFT调制模块,目前并没有公开方法能够直接生成这样高吞吐量的IFFT/FFT设计。工业界可能采用的替代方法是,使用多个市场上的基2/基4的串行的N点IFFT/FFT IP模块进行组合,通过对多组FFT输入数据的缓存,在一个更长的时间周期上,获得平均意义上与目标相同的计算能力,来代替目标模块。使用多个低吞吐量(串行/部分并行)模块会带来以下缺点:更大的芯片面积开销;更长的关键路径时延;要求有连续的多组FFT输入,才能逐渐达到目标吞吐量;需要更多的缓存来存储多组FFT输入;要更复杂的功耗控制逻辑,否则会导致更高的功耗;增加了调制解调的的整体时延;根据所购买的IP,完整模块的实现会被限制在特定体系结构下(如某家特定商业公司的FPGA)。

发明内容

[0003] 本发明为克服上述现有技术中的缺陷,提供一种超高吞吐量IFFT/FFT调制解调方法,降低了面积开销,降低了功耗,提高了运行频率。
[0004] 为解决上述技术问题,本发明采用的技术方案是:一种超高吞吐量IFFT/FFT调制解调方法,包括以下步骤:
[0005] 解调FFT过程:
[0006] S11. n点DFT的定义为:
[0007]
[0008] 式中, ,v为解调输入,V为解调输出,j是纯虚数,N表示FFT/IFFT的长度; 为傅立叶变换旋转引子的基;i为时域信号的序号;k为频域信号的序号;
[0009] S12.对于n点DFT,将其分解为多个DFT子模块,设 ,引入下面的系数代换:
[0010]
[0011] S13.代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:
[0012]
[0013] S14.将系数代换带入原式,并记 得到:
[0014]
[0015] 其中,括号内的: 部分是一个 点的DFT变换,其结果与旋转因子 相乘;
[0016] 整个变换式是一个 点的DFT变换,将原本的n点DFT变换分解为嵌套的 个点变换和 个 点变换;
[0017] 调制IFFT过程:
[0018] S21.n点IDFT的定义为:
[0019]
[0020] S22.对于n点IDFT,将其分解为多个IDFT子模块,设 引入下面的系数代换:
[0021]
[0022] S23. 代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:
[0023]
[0024] S24. 将系数代换带入原式,并记 ,得到:
[0025]
[0026] 其中,IDFT过程与DFT过程一致,只是在IDFT过程中,改变了旋转因子,并在最后通过进行1/N缩放,在N是2的整数次幂的条件下,1/N无需计算。
[0027] 进一步的,在步骤S14和步骤S24中,与旋转因子的相乘采用复数乘法器实现。
[0028] 在其中一个实施例中,将复数乘法器记为: ;式中,p为复数乘法的积;a、 b是复数乘法器的乘数;
[0029] 其中,实部和虚部分别记为
[0030] 对于非特殊值的复数乘法器,采用一种使用3个乘法,5个加法的快速算法:
[0031] 。
[0032] 在其中一个实施例中,在没有完全展开即并行度小于P的情况下,对于行列交织器,通过组合桶式移位器和RAM实现如下架构:在输入周期中,数据通过桶式移位器,在每个周期以一个递增的移位数量进入RAM组;经过所有输入周期后,需要交织的数据被以一种无冲突的方式,完全存储到RAM中;开始输出周期后,交织后的数据通过桶式移位器输出。
[0033] 在其中一个实施例中,在行列交织器中,采用如下的地址映射方案,使得每周期的输入和输出都来自不同的RAM端口,以避免碰撞;所述的地址映射方案包括:
[0034] RAM数量等于行/列数量中较大的数量;
[0035] 对于属于同一行的数据,分配给不同的RAM,其序号从行首开始递增;
[0036] 对于属于同一列的数据,分配给不同的RAM,其序号从列首开始递;
[0037] 对于属于同一个RAM的数据,其地址随时间递增。
[0038] 在其中一个实施例中,对于非完全展开的FFT/IFFT,以完全展开的FFT/IFFT实现方法作为基本实现单元,根据非完全展开的FFT/IFFT的目标并行度,将其分解为多个基本实现单元,然后按照基本实现单元即完全展开的FFT/IFFT实现方法实现非完全展开的FFT/IFFT。
[0039] 在其中一个实施例中,当IFFT/FFT被用于多载波系统的调制解调时,IFFT的输入为扩展得到的共轭对称序列,输出为实序列,FFT的输入为实序列,输出为共轭对称序列;对于共轭对称序列IFFT,采用下面的算法进行简化,对于两个需要进行变换的共轭对称序列:
[0040] 前处理:构造序列 ;
[0041] 对D进行IFFT变换得到d;
[0042] 后处理:希望将 从D中分离出来,由于IDFT是线性变换,因此有,由于 都是实序列,所以将结果的实部和虚部分别输出即可;
[0043] 对于实序列FFT,采用下面的算法进行简化,对于两个需要进行变换的实序列:
[0044] 前处理:构造序列 ;
[0045] 对d进行FFT变换得到D;
[0046] 后处理:希望将 从D中分离出来,DFT是线性变换,因此有 ,并且D也是共轭对称的,有:
[0047]
[0048] 本发明还提供一种超高吞吐量IFFT/FFT调制解调系统,包括FFT模块和IFFT模块,其中:
[0049] 所述的FFT模块包括:
[0050] DFT定义单元:用于将n点的DFT的定义为:
[0051]
[0052] 式中, ,v为解调输入,V为解调输出,j是纯虚数,N表示FFT/IFFT的长度; 为傅立叶变换旋转引子的基;i为时域信号的序号;k为频域信号的序号;
[0053] DFT子单元:用于对n点DFT,将其分解为多个DFT子模块,并设 ,引入下面的系数代换:
[0054]
[0055] 行列交织器单元:用于改变输出变量的顺序,用二维的索引来代替一维索引:
[0056]
[0057] 复数乘法器单元:用于将系数代换带入原式,并记 得到:
[0058]
[0059] 其中,括号内的: 部分是一个 点的DFT变换,其结果与旋转因子 相乘;与旋转因子的相乘采用复数乘法器实现;
[0060] 所述的IFFT模块包括:
[0061] IDFT定义单元:用于将n点的IDFT的定义为:
[0062]
[0063] IDFT子单元:用于对n点IDFT,将其分解为多个IDFT子模块,并设 引入下面的系数代换:
[0064]
[0065] 行列交织器单元:用于改变输出变量的顺序,用二维的索引来代替一维索引:
[0066]
[0067] 复数乘法器单元:用于将系数代换带入原式,并记 得到:
[0068]
[0069] 其中,括号内的: 部分是一个 点的IDFT变换,其结果与旋转因子 相乘;与旋转因子的相乘采用复数乘法器实现。
[0070] 本发明还提供一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行计算机程序,述的处理器执行所述计算机程序,实现以上所述的超高吞吐量IFFT/FFT调制解调方法。
[0071] 本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现以上所述的超高吞吐量IFFT/FFT调制解调方法。
[0072] 与现有技术相比,有益效果是:本发明提供的一种超高吞吐量IFFT/FFT调制解调方法,使用完全展开,并对旋转因子进行了专门优化的架构作为实现的基础,使用行列交织器进行紧凑的数据重排,以实现IFFT/FFT架构的分解;本发明面积开销更小,关键路径更短,运行频率更高,功耗更低,并且能够用于不同体系结构的。

附图说明

[0073] 图1是本发明实施例1中FFT计算流程示意图。
[0074] 图2是本发明实施例1中FFT计算流程简图,且补充了当输入和输出都是自然顺序时,所需的行列交织。
[0075] 图3是FFT算法的递归分解示意图。
[0076] 图4是复数乘法器实现示意图。
[0077] 图5是特殊旋转因子示意图。
[0078] 图6是DFT‑2(蝶形单元)示意图。
[0079] 图7是DFT‑4示意图。
[0080] 图8是完全展开的行列交织器示意图。
[0081] 图9是行列交织器实现架构示意图。
[0082] 图10是列交织器的存储映射方案示意图。
[0083] 图11是具有因数并行度的IFFT/FFT实现架构示意图。
[0084] 图12是实序列/共轭对称序列优化架构示意图。
[0085] 图13是发射机IFFT调制模块架构示意图。
[0086] 图14是接收机IFFT模块架构示意图。
[0087] 图15是接收机FFT模块架构示意图。

具体实施方式

[0088] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。下面结合具体实施方式对本发明作在其中一个实施例中说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0089] 在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义为,包括三个并列的方案,以“A和/或B”为例,包括A方案,或B方案,或A和B同时满足的方案。
[0090] 实施例1:
[0091] 本实施例提供一种超高吞吐量IFFT/FFT调制解调方法,包括以下步骤:
[0092] Cooley‑Tukey FFT过程:
[0093] S11. n点DFT的定义为:
[0094]
[0095] 式中, ,v为解调输入,V为解调输出,j是纯虚数,N表示FFT/IFFT的长度; 为傅立叶变换旋转引子的基;i为时域信号的序号;k为频域信号的序号;
[0096] S12.对于n点DFT,将其分解为多个DFT子模块,设 ,引入下面的系数代换:
[0097]
[0098] S13.代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:
[0099]
[0100] S14.将系数代换带入原式,并记 得到:
[0101]
[0102] 其中,括号内的: 部分是一个 点的DFT变换,其结果与旋转因子 相乘;
[0103] 整个变换式是一个 点的DFT变换,将原本的n点DFT变换分解为嵌套的 个点变换和 个 点变换;
[0104] Cooley‑TukeyIFFT过程:
[0105] S21.n点IDFT的定义为:
[0106]
[0107] S22.对于n点IDFT,将其分解为多个IDFT子模块,设 引入下面的系数代换:
[0108]
[0109] S23. 代换之后,使用行列交织器,改变输出变量的顺序,用二维的索引来代替一维索引:
[0110]
[0111] S24. 将系数代换带入原式,并记 ,得到:
[0112]
[0113] 其中,IDFT过程与DFT过程一致,只是在IDFT过程中,改变了旋转因子,并在最后通过1/N进行缩放,在N是2的整数次幂的条件下,1/N无需计算。
[0114] 根据上面的算法,以12点DFT为例,画出器计算流程对应的硬件框图,如图1所示。图1所示的结构的可以简化为如图2所示的形式。
[0115] Cooley‑Tukey FFT算法的分解过程是递归的,如图3所示:对于一个点数不为质数n的DFT子模块,可以再次使用该算法对其进行分解,因此,对于任何2点的DFT/IDFT变换,只需要实现2/4点DFT/IDFT模块,就能通过组合的方式得到更高点数的变换。
[0116] 一个例子是对于64点的DFT:
[0117] 首先分解为16*4,这意味需要实现16点和4点的DFT模块;
[0118] 在实现16点DFT模块时,又将其分解为4*4,因此最终只需要实现4点DFT模块这一种模块。
[0119] 根据上面的论证,2n点FFT的硬件实现可以分解为对下面三项内容的硬件实现和组合,2/4点DFT子模块、复数乘法器模块、行列交织器模块。
[0120] 复数乘法器的实现:
[0121] 将复数乘法记为:
[0122]
[0123] 式中,p为复数乘法的积;a、 b是复数乘法器的乘数;
[0124] 其中,实部和虚部分别记为
[0125] 对于非特殊值的复数乘法器,采用一种使用3个乘法,5个加法的快速算法:
[0126] 。
[0127] 图4中给出了上面算法在硬件上的映射,这种实现架构在不同的底层工艺下可以通过不同的流水线配置方式进行适配,在不改变硬件的前后驱动关系的情况下,调整计算时间并插入流水线寄存器(图3中的虚线部分),可以得到不同流水线级数的设计。
[0128] 在FPGA中,较为合适的实现是流水线级数=5的实现,其开销可以被3个FPGA上的DSP slice完全覆盖。在ASIC中,取决于工艺和目标工作频率,设计者可以灵活采用更加紧凑流水线配置,一个例子是如图4给出在流水线级数为0,3,5时的示意图。
[0129] 在DFT的旋转因子中,有8个特殊值的计算能够被简化,它们均匀地分布在复平面的单位圆上,如图5所示。对于在坐标轴上的四个特殊值(1,‑1,j,‑j),无需进行乘法计算,只需要进行实部和虚部的交换及取反即可。对于剩余的四个实部和虚部绝对值均为 的特殊值,只需进行两个乘法计算,其流水线结构与完整复数乘法器类似,也可以灵活配置。
[0130] 2/4点DFT子模块的实现:
[0131] 2/4点DFT/IDFT点模块的特殊之处在于,由于旋转因子存在若干特殊值,其直接实现所使用的乘法器数量明显小于通过基2方式分解得到的数量,在更大的点数上,旋转因子特殊值的出现数量减少,这种性质不再成立。因此,总是以2/4点DFT模块作为基本实现单元,其实现架构如图6和图7所示。
[0132] IDFT的实现与DFT硬件结构一致,只是输出顺序略有不同,故省略。
[0133] 行列交织器模块的实现:
[0134] 图1和图2中的行列交织,在“完全展开”的情况下,它们可以被简单地实现为电路上的连线,如图8所示。
[0135] 在没有完全展开(并行度小于P)的情况下,对于行列交织器,可以通过组合通式移位器和RAM实现如下架构,如图9所示:在输入周期中,数据通过桶式移位器,在每个周期以一个递增的移位数量进入RAM组;经过所有输入周期后,需要交织的数据被以一种无冲突的方式,完全存储到RAM中;开始输出周期后,交织后的数据通过桶式移位器输出。
[0136] 相应地,需要一种地址映射方案,使得每周期的输入和输出都来自不同的RAM端口,如图10所示,以避免碰撞,地址映射方案通过以下规则给出:
[0137] RAM数量等于行/列数量中较大的数量;
[0138] 对于属于同一行的数据,分配给不同的RAM,其序号从行首开始递增;
[0139] 对于属于同一列的数据,分配给不同的RAM,其序号从列首开始递;
[0140] 对于属于同一个RAM的数据,其地址随时间递增。
[0141] 在图10中,展示了并行度为4的(4,4)交织器的地址映射方案,不同颜色代表数据所属的不同RAM,可以从图中看到每个周期间,输入数据的移位关系。
[0142] 实施例2
[0143] 本实施例提供一种非完全展开的FFT/IFFT的实现方法;在实施例1中提供了完全展开(并行度为P,每周期产生一组变换结果)的FFT/IFFT的实现方法,该方法实现步骤包括(以64点FFT为例):
[0144] 确定n的因数分解,64 = 16 * 4 = 4 * 4 * 4,因此,整个模块分为3列DFT‑4,每列有16个DFT‑4;
[0145] 根据DFT‑4的实现方法,实现所有的DFT模块;
[0146] 根据交织器和复数乘法器的实现方法,通过(4,4)交织器和复数乘法器,将前两列DFT‑4模块组合为4个FFT‑16模块。
[0147] 当所需的吞吐量低于完全展开的FFT/IFFT模块所提供的吞吐量时,提出一种方法使得可以实现一个具有P的因数并行度的FFT/IFFT模块,其基本组成单元与完全展开的FFT模块无异,不过,因为已经论述了完全展开的FFT的实现,将其也视为一种“基本实现单元”,非完全展开的FFT/IFFT的实现方法包括以下步骤(以一个并行度为64的512点FFT的实现为例,如图11所示):
[0148] 根据目标并行度将512分解为64(目标并行度) * 8;
[0149] 实现1个完全展开的FFT‑64模块;
[0150] 实现8 = 64/8个完全展开的FFT‑8模块;
[0151] 控制预写旋转因子的ROM为FFT‑64后的64个复数乘法器提供不同的系数;
[0152] 通过(64,8)行列交织器从中连接;
[0153] 在前后通过(8,64) 行列交织器进行预处理和后处理。
[0154] 实施例3
[0155] 当IFFT/FFT被用于多载波系统的调制解调时,IFFT的输入为扩展得到的共轭对称序列,输出为实序列;FFT的输入为实序列,输出为共轭对称序列。
[0156] 对于两个需要进行变换的共轭对称序列 :
[0157] 前处理:构造序列 ;
[0158] 对D进行IFFT变换得到d;
[0159] 后处理:希望将 从D中分离出来,由于IDFT是线性变换,因此有 ,由于 都是实序列,所以将结果的实部和虚部分别输出即可;
[0160] 对于实序列FFT,采用下面的算法进行简化,对于两个需要进行变换的实序列:
[0161] 前处理:构造序列 ;
[0162] 对d进行FFT变换得到D;
[0163] 后处理:希望将 从D中分离出来,DFT是线性变换,因此有 ,并且D也是共轭对称的,有:
[0164]
[0165] 在硬件上,上面的变换只需加法/减法器就可实现,因为对2和2j的除法在2进制下可以通过连线实现。
[0166] 这样,就能够使用一个并行度为P的IFFT/FFT模块,来实现并行度为2P的实际吞吐量,其架构简图如图12所示。
[0167] 实施例4
[0168] 本实施例提供一种用于50G接入网的SEFDM调制解调模块设计。
[0169] 设计条件: 在250MHz的运行频率下,每个复平面符号中调制4 bit,迭代译码5次;如果希望达到目标吞吐量,则,在接收机端,IFFT/FFT模块要能够每周期产生一组调制/解调结果;在发射机端,IFFT模块要能够每5周期产生一组调制/解调结果;因此,在发射机端需要并行度等于128的512点变换,在接收机端需要并行度为512(完全展开)的512点变换。
[0170] 根据实施例2中的设计方法,加上实施例3中的前处理和后处理模块,得到发射机和接收机中的相应模块的硬件框图;如图13至图15所示。
[0171] 本实施例在Xilinx FPGA上对上面的设计进行了实现和测试,并将其与现有技术进行对比;下表的数据来自使用Xilinx原厂FFT IP在xcvu9p这款芯片上配置为pipelined_streming_io模式,位宽=18时的测试结果。该IP提供的并行度为2(每256 = 512/2个周期输出一个完整512点变换结果),这已经是该IP吞吐量最高的模式。
[0172]
[0173] 如果以该实现作为基本单元组成我们所需要的模块,那么
[0174] 发射机IFFT需要64个该单元;接收机FFT需要256个该单元;接收机IFFT需要256个该单元。
[0175] 根据以上数据,比较了本发明的方法和基于以上IP的实现的面积开销和最高工作频率,其中,对现有技术(低吞吐量IP组合)开销的估计还不包括将多个IP所组合起来的逻辑和缓存开销,也没有考虑这些部分对fmax带来的负面影响,即使如此,使用本发明的设计也减少了约50% 70%的面积开销(随实现规模的增大而提高),在片上存储使用上优势更是~加明显。
[0176] 提供了与官方IP持平的工作频率,考虑到将多个IP组合所必须的缓存部分也需要数据交织,实际上,使用现有技术的工作频率可能还要明显劣于以下的数据。
[0177] 发射机IFFT
[0178]
[0179] 接收机IFFT
[0180]
[0181] 接收机FFT
[0182]
[0183] 综上,本发明实现了一种超高吞吐量IFFT/FFT调制解调方法,面积开销更小,关键路径更短(因而,运行频率更高),功耗更低的,并且能够用于不同体系结构的。
[0184] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。