非基2点多数据模式FFT的实现方法和装置与流程

文档序号:11950163阅读:612来源:国知局
非基2点多数据模式FFT的实现方法和装置与流程

本发明涉及快速傅里叶变换的数据处理,尤其涉及一种非基2点多数据模式FFT的实现方法和装置。



背景技术:

目前进行FFT(Fast Fourier Transformation,快速傅里叶变换)方法是将3780点FFT分为三层,顶层用混合基法分解3780点,中间层用素因子算法分解63点和60点FFT,底层用WFTA算法完成7点、9点、3点、4点、5点的FFT计算。但是这种方法仅仅单一解决固定非基2点(3780点)FFT的运算需求,不能依据需要灵活配置所需FFT运算点数。

采用这种方法,不能胜任解调算法对于FFT运算点数的多样需求,使得FFT的运算效率较低。



技术实现要素:

针对现有技术的问题,本发明提供了一种非基2点多数据模式FFT的实现方法和装置,能够实现兼容3780,4200,4375,4725等非基2点的各种多模的FFT运算。

本发明采用如下技术方案:

一种非基2点多数据模式FFT的实现方法,应用于对3780点数据、4200点数据、4375点数据和4725点数据的DTMB解调算法中,所述实现方法包括对3780点数据、4200点数据、4375点数据和4725点数据的DTMB解调算法的一级分解和二级分解,其中二级分解包括第一阶段和第二阶段,第一阶段于第二阶段后进行或者第一阶段于第二阶段前进行,并且本实施例中第一阶段和第二阶段的内部的顺序不予限定,可以根据实际情况进行调整,并且:

一级分解具体包括:采用混合基算法将所述3780点数据分解成108*35、所述4200点数据分解成120*35、所述4375点数据分解成125*35及所述4725点数据分别分解成135*35;

二级分解的第一阶段具体为:采用混合基算法将108分解成3*4*9、120分解成3*5*8、 125分解成5*5*5及135分解成 3*5*9;其中,

利用一级可编程WFTA单元完成3780点数据中的3点、4200点数据中的3点、4375点数据中的5点及4725点数据中的3点的FFT运算;

利用二级可编程WFTA单元完成3780点数据中的4点、4200点数据中的5点、4375点数据中的5点及4725点数据中的5点的FFT运算;

利用三级可编程WFTA单元完成3780点数据中的9点、4200点数据中的8点、4375点数据中的5点及4725点数据中的9点的FFT运算;

二级分解的第二阶段具体为:采用素因子分解算法把35分解成5*7;其中,

利用四级可编程WFTA单元完成3780点数据中的5点、4200点数据中的5点、4375点数据中的5点和4725点数据中的5点的FFT运算;

利用五级可编程WFTA单元完成3780点数据中的7点、4200点数据中的7点、4375点数据中的7点及4725点数据中7点的FFT运算。

优选的,所述实现方法还包括:

在二级分解的第一阶段中,对应的三个可编程WFTA单元,即所述一级可编程WFTA单元、所述二级可编程WFTA单元、所述三级可编程WFTA单元中,相邻的两个可编程WFTA单元之间的运算均使用乒乓结构的SRAM缓存器;

在一级分解的边界对应的两个可编程WFTA单元,即所述三级可编程WFTA单元、所述四级可编程WFTA单元,相邻的两个可编程WFTA单元之间的运算使用主从结构的SRAM缓存器。从SRAM只有在主SRAM缓存器工作时才会参与工作,在没有连续FFT运算要求的情况下可以省去这个从SRAM缓存器,节约资源。

在二级分解的第二阶段对应的两个可编程WFTA单元,即所述四级可编程WFTA单元、所述五级可编程WFTA单元中,相邻的两个可编程WFTA单元之间的运算使用乒乓结构的SRAM缓存器;

乒乓结构SRAM缓存器在一次FFT运算中会有多次切换。主从结构SRAM缓存器在一次FFT运算中不会有切换,在连续的FFT运算之间仅会有一次切换。

优选的,所述实现方法还包括:

在所述一级可编程WFTA单元和/或所述二级可编程WFTA单元和/或所述三级可编程WFTA单元和/或所述四级可编程WFTA单元和/或所述五级可编程WFTA单元进行FFT运算之前和/或之后进行共轭计算。

优选的,所述实现方法中:

按照所述一级可编程WFTA单元、所述二级可编程WFTA单元、所述三级可编程WFTA单元、所述四级可编程WFTA单元、所述五级可编程WFTA单元的数据流进行的FFT运算;以及

按照所述第五级可编程WFTA单元、所述第四级可编程WFTA单元、所述第三级可编程WFTA单元、所述第二级可编程WFTA单元、所述第一级可编程WFTA单元的反向数据流进行FFT运算;其中,

在所述FFT运算的前后对数据进行共轭计算来实现IFFT运算。

一种非基2点多数据模式FFT的实现系统,应用于对3780点数据、4200点数据、4375点数据和4725点数据的DTMB解调算法中,所述实现系统包括多模FFT模块,所述多模FFT模块包括:

依次连接的可编程WFTA单元,对所述3780点数据、4200点数据、4375点数据和4725点数据进行FFT运算,每一级可编程WFTA单元为一个FFT运算阶段;以及

一级分解使用了混合基算法,一级分解中的相邻两个可编程WFTA单元之间连接有一第一相位旋转单元,所述第一相位旋转单元与一第一存储单元连接,并且所述第一存储单元还与下一个FFT运算阶段的可编程WFTA单元连接,所述第一存储单元采用主从结构混续存储所述第一相位旋转单元的数据;以及

二级分解的第一阶段使用了混合基算法,二级分解的第一阶段中的相邻两个可编程WFTA单元之间连接有一第二相位旋转单元,所述第二相位旋转单元与一第二存储单元连接,并且所述第二存储单元还与下一个FFT运算阶段的可编程WFTA单元连接,所述第二存储单元采用乒乓结构混续存储所述第二相位旋转单元的数据;以及

二级分解的第二阶段使用了素因子分解算法,二级分解的第二阶段中的相邻两个可编程WFTA单元之间无需相位旋转单元,直接由一第三存储单元与下一个FFT运算阶段的可编程WFTA单元连接,所述第三存储单元采用乒乓结构混续存储数据。

优选的,所述实现系统还包括:

共轭单元,包括第一共轭单元和第二共轭单元;

所述第一共轭单元与依次连接的所述可编程WFTA单元中的首个可编程WFTA单元连接,所述第一共轭单元对所述首个可编程WFTA单元的输入数据取共轭;

所述第二共轭单元与依次连接的所述可编程WFTA单元中的最后一个可编程WFTA单元连接,所述第二共轭单元对所述最后一个可编程WFTA单元的输出数据取共轭;

可配置同时打开第一共轭单元和第二共轭单元运算,以实现IFFT运算功能。

优选的,所述实现系统还包括多模IFFT模块,所述多模IFFT模块与所述多模FFT模块连接,并且所述多模FFT模块能够与所述多模IFFT模块级联,以实现FFT运算和IFFT的迭代运算。

本发明的有益效果是:

本发明可进行多种数据模式的非基2点FFT或者IFFT运算,并且无需等待当前FFT输出完毕即可接收新一次的FFT输入,同时进行DTMB解调运算中的多种数据模式的非基2点连续FFT和IFFT的运算,即对DTMB解调运算中,3780点数据、4200点数据、4375点数据和4725点数据这4种数据模式的多次FFT和IFFT迭代运算。

附图说明

图1为本发明可编程WFTA单元的结构示意图;

图2为本发明多模FFT模块的工作示意图;

图3为本发明基于3780,4200,4375,4725点FFT运算的多模FFT模块;

图4为本发明基于3780,4200,4375,4725点FFT运算的多模IFFT模块;

图5为本发明多模FFT模块和多模IFFT模块实现迭代运算的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,下述技术方案,技术特征之间可以相互组合。

下面结合附图对本发明的具体实施方式作进一步的说明:

在新兴的DTMB解调算法研究中增添了4200,4375,4725等非基2点FFT的运算需求,混合实现3780,4200,4375,4725等非基2点FFT会严重增加实现复杂度以及成本本发明旨在使用一个多模FFT模块来实现兼容3780,4200,4375,4725等非基2点的各种多模的FFT运算模块。

本实施例使用可编程 WFTA 单元进行FFT,WFTA的运算公式: X = O*D*I*x;使用外部控制模块让WFTA FFT 单元分别工作在多模(7,9,3,5,4等点)FFT模式。

在DTMB解调算法中的3780,4200,4375,4725点FFT运算可以采用如下技术方案:

首先,用混合基算法把3780, 4200, 4375, 4725点分别分解成 108x35, 120x35, 125x35, 135x35;

之后,用混合基算法把108, 120, 125, 135点分别分解成3x4x9, 3x5x8, 5x5x5, 3x5x9;其中,9,3,5,4分别用可编程 WFTA 单元来实现。关于上述的可编程WFTA单元包括一级可编程WFTA单元、二级可编程WFTA单元、三级可编程WFTA单元,其中,如图3所示,一级可编程WFTA单元对108点中的3点、120点中的3点、125点中的5点、135点中的3点进行FFT运算;二级可编程WFTA单元对108点中的4点、120点中的5点、125点中的5点、135点中的5点进行FFT运算;三级可编程WFTA单元对108点中的9点、120点中的8点、125点中的5点、135点中的9点进行FFT运算。

然后,用素因子分解算法把35分解成5x7,5,7 用可编程WFTA单元来实现,这是非基2点多模FFT中的四、五级可编程WFTA单元。图3中,四级可编程WFTA单元对3780, 4200, 4375, 4725的35点中的5点进行FFT运算,五级可编程WFTA单元对3780,4200,4375,4725的35点中的7点进行FFT运算。

如图1所示, 图1中的B Coef、G Coef和C Coef分别为WFTA算法中三个矩阵的系数,本实施例中可以通过3,4,5,7,9数据模式的WFTA系数表进行计算;D11~D1n为寄存器,组成两个移位寄存器组,移位寄存器对输入数据移位,以形成流水线输入;AC1~ACn为累加器,累加器在系数矩阵的控制下对输入数据进行操作;MUX为多路选择器,选择相应累加器的输出作为第一运算或者第三运算阶段的输出。例如,5点WFTA标准表达式中C、B矩阵元素只有0、1和-1,则第一和第三个运算阶段的矩阵相乘实际上是一个对输入数据的累加。当矩阵每一行的第一个元素为1时,相应累加器的值等于相应的输入数据,为0时,累加器的值被置为0;当矩阵每行的其他元素为1时,累加器执行加操作,即累加器的值为其原值加新输入的数据;当为-1时,累加器执行减操作,即累加器的值为其原值减去新输入的数据;当为0 时,累加器执行保持功能,即后一状态的值等于前一状态的值。7点、9点以及3点WFTA结构即输入数据控制方式与5点基本类似,4点WFTA结构与5点WFTA结构的第二运算阶段类似,此处不进行赘述。

如图2,图3所示,在以上五级可编程WFTA单元之间使用乒乓或者主从结构的SRAM缓存数据。这样可使模块能够进行连续的FFT运算。提高FFT模块的运行效率。进一步的,将以上五级可编程WFTA FFT 单元前后加上共轭模块,共轭模块分别为第一共轭模块和第二共轭模块,其可以进行数据共轭选择,即可实现FFT和IFFT的功能切换,这就实现了完整的非基2点多模FFT装置A。

例如,图2中以一组长度为3780点的数据进行举例,其余各点的计算与3780点类似,3780点数据在时钟的同步作用下进入第一共轭模块,由IFFT使能信号判断是否进行共轭计算,共轭模块输出的3780点数据被FFT一级分解和FFT二级分解的第一阶段共分解成为1260组3点数据,数据在FFT使能信号的驱动下,进入到一级可编程WFTA运算单元(1级可编程WFTA)进行3点FFT运算,计算完由第二相位旋转单元(1级相位旋转)再进行数据的相位旋转,之后存到第二存储单元(2级混续SRAM乒乓结构(Static Random Access Memory,静态随机存取存储器))相应地址中,实现原址运算。按照上述方法,直至进行到5级可编程WFTA运算,输出数据需要进入第二共轭单元,由IFFT使能信号判断是否进行共轭计算,第二共轭单元输出,完成3780点的FFT或者是IFFT的计算。需要说明的是,本实施例中的第二相位旋转单元可以包括1级相位旋转、2级相位旋转、3级相位旋转。第二存储单元包括2级混续SRAM乒乓结构、3级混续SRAM乒乓结构。

二级分解的第二阶段使用了素因子分解算法,二级分解的第二阶段中的相邻两个可编程WFTA单元之间无需相位旋转单元,直接由一第三存储单元(4级混续SRAM乒乓结构、5级混续SRAM乒乓结构)与下一个FFT运算阶段的可编程WFTA单元连接,所述第三存储单元采用乒乓结构混续存储数据。

如图4所示,将这个多模FFT模块的五级可编程WFTA 单元的数据流反相,即可实现可以与多模FFT或者IFFT运算模块的输出混续直接对接的多模IFFT或者FFT运算模块。

为了实现流水线的乒乓结构和主从结构的混续SRAM(存储单元),以3780数据举例,3780数据会被分成35组108点数据,逐组存入二级乒乓结构混续SRAM,乒乓结构的两块SRAM会交替处于写入和读出状态,三级混续SRAM和五级混续SRAM会同理二级混续SRAM模式工作;四级混续SRAM位于FFT一级分解的边界,一帧3780点数据会全部存入到四级混续SRAM中然后全部读出,当多帧3780点数据连续输入时,四级主从结构混续SRAM的两块SRAM会交替完成3780点数据的写入和读出工作,这就实现了3780点数据的实时处理;如果下一帧数据始终在当前帧数据从四级混续SRAM完全读出之后输入,则四级主从结构混续SRAM的两块SRAM中只有一块SRAM独立完成3780点数据的写入和读出工作。这样就实现了SRAM的节约使用。

如图5所示,将多模FFT模块和多模FFT模块级联可以实现连续的FFT和IFFT运算,以及多次FFT和IFFT的迭代运算。

综上所述,本发明可进行多种数据模式的非基2点FFT或者IFFT运算,并且无需等待当前FFT输出完毕即可接收新一次的FFT输入,同时进行DTMB解调运算中的多种数据模式的非基2点连续FFT和IFFT的运算,即对DTMB解调运算中,3780点数据、4200点数据、4375点数据和4725点数据这4种数据模式的多次FFT和IFFT迭代运算。

通过说明和附图,给出了具体实施方式的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1