本发明
实施例提供一种快速傅立叶变换运算的设备,以解决由于现有执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题。
为达到上述目的,本发明实施例采用如下技术方案:
快速傅立叶变换FFT运算的设备,包括:
输入控制单元,用于获取需要进行FFT运算的数据包,将所述数据包发送给FFT运算单元;
FFT运算单元,用于接收所述输入控制单元输入的数据包,对所述数据包进行FFT运算,将所述FFT运算结果发送给输出控制单元;所述FFT运算单元包括
基础运算模块以及前置于所述基础运算模块的蝶形运算模组,其中,所述基础运算模块用于对数据包进行基础点数的FFT运算,所述碟形运算模组用于结合所述基础运算模块对所述数据包进行整数倍的基础点数的FFT运算;
输出控制单元,用于接收所述FFT运算单元中FFT运算得到的结果。
本发明实施例提供的快速傅立叶变换运算的设备,通过所述FFT运算模块中的蝶形运算模组和基础运算模块的相配合实现基础点数整数倍的数据包的FFT运算,能够在减少硬件资源的基础上实现多种点数的快速傅立叶变换,解决了
现有技术中由于执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题。
附图说明
图1为本发明实施例提供的快速傅立叶变换运算的设备的结构示意图;
图2为图1所示的快速傅立叶变换运算的设备中输入控制单元的的结构示意图;
图3为本发明又一实施例提供的快速傅立叶变换运算的设备的结构示意图一;
图4为图3所示的快速傅立叶变换运算的设备中输入控制单元的的结构示意图;
图5为本发明又一实施例提供的快速傅立叶变换运算的设备的结构示意图二;
图6为本发明实施例提供的具体实现128/256/512/1024/1536/2048点FFT运算的装备的结构示意图。
为了解决现有技术中由于执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题,本发明实施例提供一种快速傅立叶变换运算的设备。
如图1所示,本发明实施例提供的快速傅立叶变换运算的设备,包括:
输入控制单元101,用于获取需要进行FFT运算的数据包,将所述数据包发送给FFT运算单元;
在本实施例中,如图2所示,所述输入控制单元,包括,获取模块1011,用于获取需要进行FFT运算的数据包;和发送模块1012,用于将所述获取模块获取的数据包发送给FFT运算单元。
FFT运算单元102,用于接收所述输入控制单元输入的数据包,对所述数据包进行FFT运算,将所述FFT运算结果发送给输出控制单元;
所述FFT运算单元包括基础运算模块1021以及前置于所述基础运算模块1021的蝶形运算模组1022;
其中,所述基础运算模块1021,用于对数据包进行基础点数的FFT运算;
所述碟形运算模组1022,用于结合所述基础运算模块对所述数据包进行整数倍的基础点数的FFT运算。所述碟形运算模块包括基2碟形运算模块,还包括基3碟形运算模块。
在本实施例中,由于所述FFT运算单元包括相互配合的基础运算模块和蝶形运算模组,所述FFT运算单元可实现多种点数的FFT运算,如,基础运算模块可以是现有技术中的128点FFT运算模块,所述128点FFT运算模块可前置一基2蝶形运算模块,或基3运算模块,使得单个FFT运算单元就能够在实现128点FFT运算、256点FFT运算或384点FFT运算。
输出控制单元103,用于接收所述FFT运算单元中FFT运算得到的结果。
本发明实施例提供的快速傅立叶变换运算的设备,通过所述FFT运算模块中的蝶形运算模组和基础运算模块的相配合实现基础点数整数倍的数据包的FFT运算,能够在减少硬件资源的基础上实现多种点数的快速傅立叶变换,解决了现有技术中由于执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明实施例提供的快速傅立叶变换运算的设备进行详细说明。
如图3所示,本发明又一实施例提供的快速傅立叶变换运算的设备,包括:
输入控制单元201,用于获取需要进行FFT运算的数据包,将所述数据包发送给FFT运算单元;
在本实施例中,所述输入控制单元,包括缓存模块2011,用于在输入控制单元连续获取数据包,小点数据包后面紧跟大点数据包时,缓存所述大点数据包。
为了让所述输入控制单元连续获取的数据包有条理的发送给FFT运算单元,所述输入控制单元,如图4所示,还包括:
控
制模块2012,用于在输入控制单元连续获取数据包,大点数据包后面紧跟小点数据包时,等待大点数据包在所述FFT运算单元处理一段时间后将所述小点数据包发送给FFT运算单元。
值得说明的是,相同点数的数据包可以实现连续输入,即前一个数据包未处理完,下一个数据包就可以无约束的跟着发送给所述FFT运算单元。对于点数相对较大的数据包,如2048点,可以无约束的跟着点数相对较小的数据包,如128、256、521、1024点,连续发送给所述FFT运算单元。而对于点数相对较小的数据包,如128点,可以加一些时间约束,等到前一个相对较
大数据包,如256点,在FFT运算单元中处理一段时间后再连续发送给所述FFT运算单元,如256点数据包后面跟着128点数据包,约束时间T=256-128-T运算流
水时间
FFT运算单元202,用于接收所述输入控制单元输入的数据包,对所述数据包进行FFT运算,将所述FFT运算结果发送给输出控制单元;
所述FFT运算单元包括基础运算模块2021以及前置于所述基础运算模块2021的蝶形运算模组2022;
其中,所述基础运算模块2021,用于对数据包进行基础点数的FFT运算;
所述碟形运算模组2022,用于结合所述基础运算模块对所述数据包进行整数倍的基础点数的FFT运算。所述蝶形运算模组至少包括一个蝶形运算模块,所述蝶形运算模块可以是基2蝶形运算模块,也可以是基3蝶形运算模块。
值得说明的是,当蝶形运算模组中有多个蝶形运算模块时,不同基数的蝶形运算模块可以并联,通过多个相互并联的前置于所述基础运算模块的蝶形运算模块可以实现多个基础点数基数倍的数据包的FFT运算,如前置于128点基础运算模块的蝶形运算模组中包括多个蝶形运算模块,其中,在128点基础运算模块的数据输入口前置有并联的基2蝶形运算模块、基3蝶形运算模块,从而不仅可以实现256点的FFT运算,也可以实现384点的FFT运算。当然,还可以并联基4蝶形运算模块、基5蝶形运算模块,以实现512点、640点的FFT运算。上前置有中的所述蝶形运算模块可以是基2蝶形运算模块,也可以是基3蝶形运算模块、基4蝶形运算模块等,根据不同的基础点数以及需要进行FFT运算的数据包的点数确定蝶形运算模块的基数。
另一方面,所述蝶形运算模组中有多个蝶形运算模块时,蝶形运算模块可以
串联以实现较大点数的FFT运算,如,要实现1024点FFT运算,可以在128点基础运算模块的数据输入口前置3个串联的基2蝶形运算模块。
输出控制单元204,用于接收所述FFT运算单元中FFT运算得到的结果。
为了使得所述设备不仅能够执行快速傅立叶变换运算,还能进行快速傅立叶逆变换运算,如图5所示,所述输入控制单元,还包括:
第一共轭运算模块2013,用于在所述输入控制单元获取的数据包需要进行快速傅立叶逆变换时,对数据包中的数据进行求共轭运算,将共轭运算后的结果发送所述FFT运算单元;
与所述输入控制单元相对应的,所述输出控制单元,包括:
第二共轭运算模块2041,用于在所述输入控制单元获取的数据包需要进行快速傅立叶逆变换时,对所述输出控制单元接收所述FFT运算单元中FFT运算得到的结果进行求共轭运算。
本发明实施例提供的快速傅立叶变换运算的设备,通过所述FFT运算模块中的蝶形运算模组和基础运算模块的相配合实现基础点数整数倍的数据包的FFT运算,能够在减少硬件资源的基础上实现多种点数的快速傅立叶变换,解决了现有技术中由于执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题。
为了使本领域的技术人员更好的理解本发明实施例提供的执行快速傅立叶变换运算的装置,下面对图6所示的具体实现执行128/256/512/1024/1536/2048点FFT运算的装备进行详细的介绍。
所述执行128/256/512/1024/1536/2048点FFT运算的装备,包括:
输入控制单元301,用于获取需要进行FFT运算的数据包,将所述数据包发送给FFT运算单元。
FFT运算单元302,用于接收所述输入控制单元输入的数据包,对所述数据包进行FFT运算,将所述FFT运算结果发送给输出控制单元。
其中,所述FFT运算单元中包括128点FFT运算模块3021,即基础运算模块,用于在输入控制单元输入的数据包为128点的数据包时进行FFT运算;和
前置于所述基础运算模块的蝶形运算模块组3022,结合所述基础运算模块对所述数据包进行整数倍的基础点数的FFT运算。为了实现256点FFT运算的时候,所述蝶形运算模组中包括一个基2蝶形运算模块,该基2蝶形运算模块前置于128点FFT运算模块,在调用该基2蝶形运算模块时,实现的是256点FFT运算。即,通过基础运算模块与前置于所述基础运算模块的基2蝶形运算模块实现256点FFT运算,基础运算模块和基2蝶形运算模块组成256点FFT运算模块。
值得说明的是,所述蝶形运算模组中包括的蝶形运算模块的基数可以是2/3/4/5,根据需要进行快速傅立叶变换的数据包的点数进行基数的确定。如需要进行512点FFT运算时,在所述256点FFT运算的基础上,在256点FFT运算模块前置一个基2蝶形运算模块,该基2蝶形运算模块与所述进行256点FFT运算的256点FFT运算模块组合形成一个512点FFT运算单元。根据上述的模块调用,可以实现1024/1536/2048点FFT运算,此处不一一赘述。
输出控制单元303,用于接收所述FFT运算单元中FFT运算得到的结果。
本发明实施例提供的快速傅立叶变换运算的设备,通过所述FFT运算模块中的蝶形运算模组和基础运算模块的相配合实现基础点数整数倍的数据包的FFT运算,能够在减少硬件资源的基础上实现多种点数的快速傅立叶变换,解决了现有技术中由于执行快速傅立叶变换运算设备中不同点数的FFT运算需要通过不同的硬件模块来实现导致运算装置中逻辑资源和RAM资源消耗都非常大的问题。
本发明实施例提供的快速傅立叶变换运算的设备,能够应用于信号分析与处理中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉
本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述
权利要求的保护范围为准。