CN118075078A - 快速傅里叶变换电路、芯片、电力线载波通信系统 - Google Patents

快速傅里叶变换电路、芯片、电力线载波通信系统 Download PDF

Info

Publication number
CN118075078A
CN118075078A CN202410504258.9A CN202410504258A CN118075078A CN 118075078 A CN118075078 A CN 118075078A CN 202410504258 A CN202410504258 A CN 202410504258A CN 118075078 A CN118075078 A CN 118075078A
Authority
CN
China
Prior art keywords
module
sub
data
butterfly operation
fourier transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410504258.9A
Other languages
English (en)
Inventor
王联埕
迟海明
周春良
韩红娟
黄其华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
Beijing Smartchip Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Smartchip Microelectronics Technology Co Ltd filed Critical Beijing Smartchip Microelectronics Technology Co Ltd
Priority to CN202410504258.9A priority Critical patent/CN118075078A/zh
Publication of CN118075078A publication Critical patent/CN118075078A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种快速傅里叶变换电路、芯片、电力线载波通信系统。其中,电路包括:控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中,缓存模块,具有与多个输入通道一一对应的多个通道输入端口,用于对输入通道的输入数据进行缓存;控制模块用于根据缓存模块中输入数据的缓存情况,控制取数模块从缓存模块读取数据,并将读取的数据输出至蝶形运算模块,以及根据目标快速傅里叶变换点数控制蝶形运算模块对输入的数据进行蝶形运算,并将蝶形运算过程中的中间结果缓存至缓存模块,在蝶形运算结束后,控制存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块,以使缓存模块按照正序的地址输出快速傅里叶变换后的数据。

Description

快速傅里叶变换电路、芯片、电力线载波通信系统
技术领域
本发明涉及电力线载波通信技术领域,尤其涉及一种快速傅里叶变换电路、芯片、电力线载波通信系统。
背景技术
电力线载波通信系统是通过电力线来传输数据,因其建设成本低、覆盖范围广等优势,在智能家居、用电信息采集及电气设备监控等领域得到了广泛应用。然而电力信道特性并不理想。为了在电力线上实现高速数据传输,相关技术中的电力线载波通信协议都采用OFDM(Orthogonal Frequency Division Multi-plexing,正交频分复用)技术。而FFT(Fast Fourier Transformation,快速傅里叶变换)是实现OFDM技术的必要条件之一,FFT的运行速度、开销对芯片以及整个系统的影响非常重要。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种快速傅里叶变换电路,以实现高速实时地傅里叶变换,并且资源需求小,可适用于电力线载波通信系统。
本发明的第二个目的在于提出一种芯片。
本发明的第三个目的在于提出一种电力线载波通信系统。
为达到上述目的,本发明第一方面实施例提出了一种快速傅里叶变换电路,包括:控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中,所述缓存模块,具有多个通道输入端口,多个所述通道输入端口与多个输入通道一一对应,缓存模块用于对所述输入通道的输入数据进行缓存;所述控制模块,与所述取数模块、所述蝶形运算模块、所述存数模块和所述缓存模块分别连接,用于:根据所述缓存模块中所述输入数据的缓存情况,控制所述取数模块从所述缓存模块读取数据,并将读取的数据输出至所述蝶形运算模块;在所述读取的数据输出至所述蝶形运算模块后,根据目标快速傅里叶变换点数控制所述蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至所述缓存模块;以及在蝶形运算结束后,控制所述存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至所述缓存模块,以使所述缓存模块按照正序的地址输出快速傅里叶变换后的数据。
为达到上述目的,本发明第二方面实施例提出了一种芯片,包括上述的快速傅里叶变换电路。
为达到上述目的,本发明第三方面实施例提出了一种电力线载波通信系统,包括上述的芯片。
根据本发明实施例的快速傅里叶变换电路、芯片、电力线载波通信系统,其中,快速傅里叶变换电路,包括:控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中缓存模块,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块用于对输入通道的输入数据进行缓存;控制模块,与取数模块、蝶形运算模块、存数模块和缓存模块分别连接,用于:根据缓存模块中输入数据的缓存情况,控制取数模块从缓存模块读取数据,并将读取的数据输出至蝶形运算模块;在读取的数据输出至蝶形运算模块后,根据目标快速傅里叶变换点数控制蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块;以及在蝶形运算结束后,控制存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块,以使缓存模块按照正序的地址输出快速傅里叶变换后的数据。通过该快速傅里叶变换电路,可以实现高速实时地傅里叶变换,且资源需求小。而且,由于可同时支持512点和1024点FFT,使得上述快速傅里叶变换电路实现针对电力线载波通信进行了特化。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明一个或多个实施例的快速傅里叶变换电路的结构框图;
图2是本发明一个或多个实施例的控制模块的结构框图;
图3是本发明一个示例的控制模块的结构示意图;
图4是本发明一个示例的装载子模块的结构示意图;
图5是本发明一个示例的计算子模块的结构示意图;
图6是本发明一个示例的输出子模块的结构示意图;
图7是本发明另一个示例的控制模块的结构示意图;
图8是本发明一个示例的缓存模块的示意图;
图9是本发明一个示例的取数模块的工作示意图;
图10是本发明一个实施例的蝶形运算模块的结构示意图;
图11是本发明一个示例的快速傅里叶变换电路的结构示意图;
图12是本发明一个实施例的芯片的结构框图;
图13是本发明一个实施例的电力线载波通信系统的结构框图。
具体实施方式
下面参考附图描述本发明实施例的快速傅里叶变换电路、芯片、电力线载波通信系统,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。参考附图描述的实施例是示例性的,不能理解为对本发明的限制。
图1是本发明一个或多个实施例的快速傅里叶变换电路的结构框图。
如图1所示,快速傅里叶变换电路100,包括:控制模块101、取数模块102、蝶形运算模块103、存数模块104和缓存模块105;其中,缓存模块105,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块105用于对输入通道的输入数据进行缓存。
控制模块101,与取数模块102、蝶形运算模块103、存数模块104和缓存模块105分别连接,用于:根据缓存模块105中输入数据的缓存情况,控制取数模块102从缓存模块105读取数据,并将读取的数据输出至蝶形运算模块103;在读取的数据输出至蝶形运算模块103后,根据目标快速傅里叶变换点数控制蝶形运算模块103对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块105;以及,在蝶形运算结束后,控制存数模块104对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块105,以使缓存模块105按照正序的地址输出快速傅里叶变换后的数据。
需要说明的是,FFT可分为时域抽取型和频域抽取型,按分解粒度可分为基2、基4或高基及混合基。针对国家电网发布的宽带电力线载波通信系统物理层规范中所规定的FFT点数为1024,结合系统设计要求,需要支持对抽取前后的帧进行FFT计算,因而需要1024点和512点两种FFT。
FFT处理器硬件的实现结构包括迭代结构和流水线结构,流水线结构适用于高速实时处理的使用场景,而在大点数下,存储资源和计算资源的需求相比迭代结构要高得多。对于宽带载波通信系统,FFT大小为1024点,采样率仅为25MHz,可知单个OFDM符号的接收时间不小于40.96us,数据速率并不高。而专用芯片的系统时钟可设计到4倍或更高于采样速率。这样,选用面积相对较小的迭代结构即可满足系统的处理时延要求,实现实时处理。
因而,设计快速傅里叶变换电路100包括控制模块101、取数模块102、蝶形运算模块103、存数模块104和缓存模块105,其中,控制模块101用于控制取数模块102从缓存模块105中读取数据,并将读取的数据输出至蝶形运算模块103,蝶形运算模块103对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算模块103运算结果缓存至缓存模块105。由此,上述快速傅里叶变换电路100实现了通过流水线结构进行傅里叶变换,从而使得上述快速傅里叶变换电路100可以适用于高速实时处理的使用场景。
而且,还设置将蝶形运算过程中的中间结果缓存至缓存模块105,以及,在蝶形运算结束后,控制存数模块104对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块105。也就是说,蝶形运算模块103的运算结果包括中间结果和最终结果,且中间结果与最终结果均需要缓存至缓存模块105,即中间结果在缓存至缓存模块105后,还需要被取数模块102重新读取,并输入至蝶形运算模块103重新计算,直至蝶形运算模块103运算得到最终结果,最终结果缓存至缓存模块105后,按照正序的地址输出。由此,上述傅里叶变换电路在实现了流水线结构的同时,还实现了迭代结构,从而降低存储资源和计算资源的需求。
同时,还设置蝶形运算模块103可在控制模块101的控制下,根据目标快速傅里叶变换点数对输入的数据进行蝶形运算,以实现同时支持512点和1024点FFT,从而实现以小面积的结构满足系统的处理时延要求,实现实时处理。
由此,上述快速傅里叶变换电路100,包括:控制模块101、取数模块102、蝶形运算模块103、存数模块104和缓存模块105;其中缓存模块105,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块105用于对输入通道的输入数据进行缓存;控制模块101,与取数模块102、蝶形运算模块103、存数模块104和缓存模块105分别连接,用于:根据缓存模块105中输入数据的缓存情况,控制取数模块102从缓存模块105读取数据,并将读取的数据输出至蝶形运算模块103;在读取的数据输出至蝶形运算模块103后,根据目标快速傅里叶变换点数控制蝶形运算模块103对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块105;以及在蝶形运算结束后,控制存数模块104对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块105,以使缓存模块105按照正序的地址输出快速傅里叶变换后的数据。通过该快速傅里叶变换电路100,可以实现高速实时地傅里叶变换,且资源需求小。而且,由于可同时支持512点和1024点FFT,使得上述快速傅里叶变换电路100实现针对电力线载波通信进行了特化。
在本发明一个或多个实施例中,参见图2,控制模块101,包括:装载子模块1011、计算子模块1012和输出子模块1013;其中,装载子模块1011与计算子模块1012连接,用于在接收到上位机输出的同步信息和配置信息后,根据同步信息和配置信息得到装载地址信息和装载帧同步信息,并将装载地址信息作为对缓存模块105进行控制的第一控制信息,将装载帧同步信息输出至计算子模块1012;计算子模块1012还与输出子模块1013连接,用于在接收到装载帧同步信息后,根据配置信息、当前R16蝶形次数、当前循环级数、蝶形计数器内部计数和装载帧同步信息得到计算地址信息和计算帧同步信息,并将计算地址信息作为对缓存模块105进行控制的第二控制信息,将计算帧同步信息输出至输出子模块1013;输出子模块1013还与缓存模块105连接,用于在接收到计算帧同步信息后,根据配置信息、开始/结束输出地址和计算帧同步信息得到输出地址信息,并将输出地址信息作为对缓存模块105进行控制的第三控制信息。
在本发明一个或多个实施例中,计算子模块1012还用于:根据配置信息、当前R16蝶形次数、当前循环级数、蝶形计数器内部计数和装载帧同步信息得到取数地址数据、相位数据和存数地址数据,并将取数地址数据作为对取数模块102进行控制的第四控制信息,将相位数据作为对蝶形运算模块103进行控制的第五控制信息,将存数地址数据作为对存数模块104进行控制的第六控制信息。
下面结合图3所示的具体示例进行说明。
在该具体示例中,上述装载子模块1011的数量为两个,分别为第一装载子模块1014和第二装载子模块1015,第一装载子模块1014与第二装载子模块1015独立装载数据,先完成装载的数据帧进入后续的计算和输出,也就是说,第一装载子模块1014与第二装载子模块1015均接受上位机输出的同步信息和配置信息,并根据同步信息和配置信息得到装载地址信息和装载帧同步信息,假设第一装载子模块1014先于第二装载子模块1015得到装载地址信息和装载帧同步信息,则将第一装载子模块1014得到的装载地址信息作为对缓存模块105进行控制的第一控制信息,将第一装载子模块1014得到的装载帧同步信息输出至计算子模块1012。Cfg1、Cfg2分别为输入第一装载子模块1014、第二装载子模块1015的配置信息,在该示例中具体为当前的FFT点数。装载部分的控制根据为:前级写需求,RAM缓存占用情况,帧配置。控制模块101中的输出部分的控制根据为:后级读需求,RAM缓存占用情况,计算部分帧同步,帧配置。计算部分的控制根据为:RAM缓存占用情况,装载部分帧同步,帧配置。而且,控制模块101还可输出输出同步,该输出同步为内部测试信号。Cancel为取消FFT计算的信号。
具体的,上述装载子模块1011可以参见图4,输入为n(上述FFT点数)和输入同步(上述同步信息),输出为RAM装载地址(上述装载地址信息)和装载帧同步(上述装载帧同步信息)。
上述计算子模块1012可以参见图5,输入为stage(上述当前循环级数)、gn(上述当前R16蝶形次数)、tic(上述蝶形计数器内部计数)、n、装载帧同步,输出为RAM计算地址(上述计算地址信息)、buf0地址(上述取数地址数据)、buf1地址(上述存数地址数据)、相位(上述相位数据)、计算帧同步(上述计算帧同步信息)。
上述输出子模块1013可以参见图6,输入为start/end(上述开始/结束输出地址)、n、计算帧同步(上述计算帧同步信息),输出为RAM输出地址(上述输出地址信息)、输出同步。
参见图7所示的示例,上述控制模块101还包括MUX(Multiplex,多路复用器),用于实现上述先完成装载的数据帧进入后续的计算和输出。
由此,通过设置包括装载子模块1011、计算子模块1012、输出子模块1013的控制模块101,且装载子模块1011的数量为两个,分别为第一装载子模块1014和第二装载子模块1015,从而实现支持两路独立输入,提高电路性能。
在本发明一个或多个实施例中,缓存模块105,包括:三个RAM缓存子模块,缓存模块105还用于在接收到控制模块101发送的缓存模块105控制信息后,根据缓存模块105控制信息从三个RAM缓存子模块中确定缓存当前待缓存数据的RAM缓存子模块,其中,缓存模块105控制信息包括第一控制信息、第二控制信息、第三控制信息中的至少一者。
下面以一个具体示例进行说明。
具体的,假设上述三个RAM缓存子模块分别为RAM0、RAM1、RAM2,则可对该三个RAM缓存子模块进行如下设置:
输入缓存RAM0/1:用于乒乓输入缓存,存储FFT输入数据。当前数据帧拿到输入缓存权限后,输入缓存默认清空,数据装载进度由输入数据决定。
计算缓存RAM0/1/2:用于乒乓计算缓存,存储每级计算的中间结果。当前数据帧完成装载后,且拿到计算缓存权限后,计算缓存默认清空,计算进度与后级结果输出无关,计算进度由取数方式和计算单元决定。
输出缓存RAM0/1/2:用于乒乓输出缓存,存储FFT输出数据,即第三级的计算结果。当前数据帧完成计算部分后,输出结果缓存在第三级的计算缓存中,因而默认拿到输出缓存权限,结果输出进度由后级接收数据决定。
也就是说,对于上述三个RAM缓存子模块RAM0、RAM1、RAM2,设置RAM0、RAM1为输入缓存RAM,RAM0、RAM1、RAM2为计算缓存RAM和输出缓存RAM。当其他设备通过缓存模块105的通道输入端口输入数据时,缓存模块105利用输入缓存RAM进行缓存。当蝶形运算模块103运算得到中间结果后,中间结果利用计算缓存RAM进行缓存。当蝶形运算模块103运算得到蝶形运算结果后,蝶形运算结果利用输出缓存RAM进行缓存。
以需要迭代三次为例进行说明。
当其他设备通过缓存模块105的通道输入端口输入数据时,缓存模块105利用输入缓存RAM缓存该数据,进而取数模块102从缓存模块105中读取该数据,并输出至蝶形运算模块103,蝶形运算模块103根据该数据运算得到第一中间结果。
缓存模块105利用计算缓存RAM缓存该第一中间结果。
取数模块102从缓存模块105中读取该第一中间结果,并输出至蝶形运算模块103,蝶形运算模块103根据该第一中间结果运算得到第二中间结果。
缓存模块105利用计算缓存RAM缓存该第二中间结果。
取数模块102从缓存模块105中读取该第二中间结果,并输出至蝶形运算模块103,蝶形运算模块103根据该第二中间结果运算得到蝶形运算结果。
存数模块104对蝶形运算结果进行数据调整。
缓存模块105利用输出缓存RAM缓存该调整后的蝶形运算结果,按照正序的地址输出该蝶形运算结果。
而且,在实际应用中,缓存模块105具体投入使用的RAM缓存子模块需要根据控制模块101发送的缓存模块105控制信息。具体而言,根据控制模块101发送的装载地址信息确定输入缓存RAM中实际投入使用的RAM缓存子模块;根据控制模块101发送的计算地址信息确定计算缓存RAM中实际投入使用的RAM缓存子模块;根据控制模块101发送的输出地址信息额定输出缓存RAM中实际投入使用的RAM缓存子模块。通过控制模块101的控制,可以实现缓存模块105每次使用两个RAM缓存子模块作为计算缓存,在该过程中RAM0、RAM1、RAM2根据空闲情况,轮替使用。
在本发明一个或多个实施例中,每个RAM缓存子模块均包括四块RAM存储器,每块RAM存储器的存储空间大小为256*32比特。也就是说,缓存模块105使用12块256*32比特的RAM,每4个一组用于FFT运算,具体可参见图8。在图8中,RAM0包括四块256*32比特的RAM,编号分别为0、1、2、3,RAM1包括四块256*32比特的RAM,编号分别为4、5、6、7,RAM2包括四块256*32比特的RAM,编号分别为8、9、10、11。也就是说,对于上述RAM,每4个一组用于FFT运算。
由此,可以实现提高处理性能,并尽量减少RAM消耗。
在本发明一个或多个实施例中,蝶形运算模块103,包括:相量旋转子模块和串联连接的第一基2叠形运算子模块、第二基2叠形运算子模块、第三基2叠形运算子模块、第四基2叠形运算子模块;其中,第一基2叠形运算子模块的输入端与取数模块102的输出端连接,第四基2叠形运算子模块的输出端与相量旋转子模块的第一输入端连接;相量旋转子模块的第二输入端与控制模块101的输出端连接,用于接收第五控制信息,相量旋转子模块的输出端与存数模块104的输入端连接,相量旋转子模块用于根据第五控制信息对第四基2叠形运算子模块的输出数据进行相量旋转,并将旋转结果输出至存数模块104。
具体地,取数模块102可以每个时钟从缓存模块105中取出4个数据,4个时钟共取出16个数据,给蝶形运算模块103计算。具体可参见图9,取数模块102根据控制模块101输出的第四控制信息从当前投入使用的RAM缓存子模块中取出16个数据,每个时钟取4个数据,存入数据Buf0中。每4个时钟缓存16个数,每隔4个时钟送16个数据给蝶形运算模块103,即,取数模块102从缓存模块105中读取T0、T1、T2、T3后,得到新的T0,将该新的T0写入蝶形运算模块103。
由于蝶形运算模块103包括串联连接的四个基2蝶形运算子模块,四个基2蝶形运算子模块每个时钟计算1个16点蝶形,包括4级基-2碟形运算,产生16个数据,送给相量旋转子模块。相量旋转子模块根据控制模块101输出的相位数据进行相位旋转。由此,通过采用串联连接的四个基2蝶形运算子模块,实现利用四个基2运算组合得到基-16的蝶形运算,从而实现同时支持1024和512点的FFT运算。
而且,由于采用串联连接的四个基2蝶形运算子模块,蝶形运算模块103还可以实现在迭代过程中,不同迭代过程采用不同的运算。举例来说,假设进行三次迭代,则可在第一次迭代与第二次迭代时采用基-16的蝶形运算,而在第三次迭代时采用基-4的蝶形运算。再举例来说,假设进行三次迭代,则可在第一次迭代与第二次迭代时采用基-16的蝶形运算,而在第三次迭代时采用基-2的蝶形运算。而且,若采用基-4的蝶形运算,则可直接通过复用第三基2叠形运算子模块、第四基2叠形运算子模块实现,若采用基-2的蝶形运算,则可直接通过复用第四基2蝶形运算子模块实现。
在本发明一个或多个实施例中,还可设置在蝶形运算模块103运算得到中间结果后,存数模块104对中间结果进行数据调整,并将调整后的数据缓存至所述缓存模块105,以使取数模块102读取该调整后的中间结果。
其中,存数模块104对中间结果的数据调整可以为调整顺序,比如说,可以在接收到16个数据后,把16个数据调整顺序存回缓存模块105。存数模块104对蝶形运算结果的数据调整可以为按比特反序调整。
在本发明一个实施例中,蝶形运算模块103可参见图10。
在图10中,第一级R2表示第一基2叠形运算子模块,第二级R2表示第二基2叠形运算子模块,第三级R2表示第三基2叠形运算子模块,第四级R2表示第四基2叠形运算子模块,1031表示相量旋转子模块。
蝶形运算模块103,还包括:第一寄存器FF1、第二寄存器FF2、第三寄存器FF3、第四寄存器FF4、第五寄存器FF5、第一虚部取反操作子模块Im1、正则有符号数字量乘法运算子模块CSD、四舍五入运算子模块RND、饱和运算子模块SAT、第二虚部取反操作子模块Im2。
其中,第一寄存器FF1的输入端与控制模块101的输出端连接,第一寄存器FF1的输出端与相量旋转子模块的第二输入端连接。
第一虚部取反操作子模块Im1的输入端与取数模块102的输出端连接,第一虚部取反操作子模块Im1的输出端与第一基2叠形运算子模块的输入端连接。
正则有符号数字量乘法运算子模块CSD,正则有符号数字量乘法运算子模块CSD的输入端与第二基2叠形运算子模块的输出端连接,正则有符号数字量乘法运算子模块CSD的输出端与第三基2叠形运算子模块的输入端连接。
四舍五入运算子模块RND,四舍五入运算子模块RND的输入端与相量旋转子模块的输出端连接。
饱和运算子模块SAT,饱和运算子模块SAT的输入端与四舍五入运算子模块RND的输出端连接。
第二虚部取反操作子模块Im2,第二虚部取反操作子模块Im2的输入端与饱和运算子模块SAT的输出端连接,第二虚部取反操作子模块Im2的输出端与存数模块104的输入端连接。
第二寄存器FF2的输入端与正则有符号数字量乘法运算子模块的输出端连接,第二寄存器FF2的输出端与第三基2叠形运算子模块的输入端连接。
第三寄存器FF3,第三寄存器FF3的输入端与第二虚部取反操作子模块Im2的输出端连接,第三寄存器FF3的输出端与存数模块104的输入端连接。
其中,正则有符号数字量乘法运算子模块CSD用于对数据进行正则有符号数字量乘法运算。每个基-16的蝶形运算的第二个基-2相量旋转操作使用正则有符号数字量乘法实现。
C为已知系数。ce_in与ce_out均表示使能,valid_in与valid_out均表示数据有效,info_in与info_out均表示配置信息,stage_start表示开始信号。
fft表示蝶形运算模块103在进行FFT运算时的数据通路,ifft表示蝶形运算模块103在进行IFFT(Inverse Fast Fourier Transform,快速傅里叶逆变换)运算时的数据通路。
k表示控制系数,根据图10可以看出,当k=1时,蝶形运算模块103执行基-2的蝶形运算,当k=2时,蝶形运算模块103执行基-4的蝶形运算,当k=4时,蝶形运算模块103执行基-16的蝶形运算。
此时,快速傅里叶变换电路100可参见图11。在图11中,装载1为上述第一装载子模块1014,装载2为上述第二装载子模块1015,计算为上述计算子模块1012,输出为上述输出子模块1013,16×2b、16×2b×4、16×2b×16表示数据量。
综上,本发明实施例的快速傅里叶变换电路,包括控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中,缓存模块,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块用于对输入通道的输入数据进行缓存;控制模块,与取数模块、蝶形运算模块、存数模块和缓存模块分别连接,用于:根据缓存模块中输入数据的缓存情况,控制取数模块从缓存模块读取数据,并将读取的数据输出至蝶形运算模块;在读取的数据输出至蝶形运算模块后,根据目标快速傅里叶变换点数控制蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块;以及在蝶形运算结束后,控制存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块,以使缓存模块按照正序的地址输出快速傅里叶变换后的数据。而且,该电路同时支持512点和1024点FF,使得该电路针对电力线载波通信系统应用实像特化,降低面积和成本。能够支持两路独立输入,提高系统处理性能。而且,上述蝶形运算模块包括串联连接的第一基2叠形运算子模块、第二基2叠形运算子模块、第三基2叠形运算子模块、第四基2叠形运算子模块,通过采用串联连接的四个基2蝶形运算子模块,实现利用四个基2运算组合得到基-16的蝶形运算,从而实现同时支持1024和512点的FFT运算。
进一步地,本发明提出一种芯片。
图12是本发明实施例的芯片的结构框图。
如图12所示,芯片10,包括上述的快速傅里叶变换电路100。
本发明实施例的芯片,包括上述实施例的快速傅里叶变换电路,进而包括控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中,缓存模块,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块用于对输入通道的输入数据进行缓存;控制模块,与取数模块、蝶形运算模块、存数模块和缓存模块分别连接,用于:根据缓存模块中输入数据的缓存情况,控制取数模块从缓存模块读取数据,并将读取的数据输出至蝶形运算模块;在读取的数据输出至蝶形运算模块后,根据目标快速傅里叶变换点数控制蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块;以及在蝶形运算结束后,控制存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块,以使缓存模块按照正序的地址输出快速傅里叶变换后的数据。而且,该电路同时支持512点和1024点FF,使得该电路针对电力线载波通信系统应用实像特化,降低面积和成本。能够支持两路独立输入,提高系统处理性能。而且,上述蝶形运算模块包括串联连接的第一基2叠形运算子模块、第二基2叠形运算子模块、第三基2叠形运算子模块、第四基2叠形运算子模块,通过采用串联连接的四个基2蝶形运算子模块,实现利用四个基2运算组合得到基-16的蝶形运算,从而实现同时支持1024和512点的FFT运算。
进一步地,本发明提出一种电力线载波通信系统。
图13是本发明实施例的电力线载波通信系统的结构框图。
如图13所示,电力线载波通信系统1000,包括上述的芯片10。
本发明实施例的电力线载波通信系统,包括上述实施例的芯片,进而包括控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中,缓存模块,具有多个通道输入端口,多个通道输入端口与多个输入通道一一对应,缓存模块用于对输入通道的输入数据进行缓存;控制模块,与取数模块、蝶形运算模块、存数模块和缓存模块分别连接,用于:根据缓存模块中输入数据的缓存情况,控制取数模块从缓存模块读取数据,并将读取的数据输出至蝶形运算模块;在读取的数据输出至蝶形运算模块后,根据目标快速傅里叶变换点数控制蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至缓存模块;以及在蝶形运算结束后,控制存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至缓存模块,以使缓存模块按照正序的地址输出快速傅里叶变换后的数据。而且,该电路同时支持512点和1024点FF,使得该电路针对电力线载波通信系统应用实像特化,降低面积和成本。能够支持两路独立输入,提高系统处理性能。而且,上述蝶形运算模块包括串联连接的第一基2叠形运算子模块、第二基2叠形运算子模块、第三基2叠形运算子模块、第四基2叠形运算子模块,通过采用串联连接的四个基2蝶形运算子模块,实现利用四个基2运算组合得到基-16的蝶形运算,从而实现同时支持1024和512点的FFT运算。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本说明书的描述中,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,除非另有说明,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (11)

1.一种快速傅里叶变换电路,其特征在于,包括:控制模块、取数模块、蝶形运算模块、存数模块和缓存模块;其中
所述缓存模块,具有多个通道输入端口,多个所述通道输入端口与多个输入通道一一对应,缓存模块用于对所述输入通道的输入数据进行缓存;
所述控制模块,与所述取数模块、所述蝶形运算模块、所述存数模块和所述缓存模块分别连接,用于:
根据所述缓存模块中所述输入数据的缓存情况,控制所述取数模块从所述缓存模块读取数据,并将读取的数据输出至所述蝶形运算模块;
在所述读取的数据输出至所述蝶形运算模块后,根据目标快速傅里叶变换点数控制所述蝶形运算模块对输入的数据进行蝶形运算,以实现快速傅里叶变换,并将蝶形运算过程中的中间结果缓存至所述缓存模块;以及
在蝶形运算结束后,控制所述存数模块对蝶形运算结果进行数据调整,并将调整后的数据缓存至所述缓存模块,以使所述缓存模块按照正序的地址输出快速傅里叶变换后的数据。
2.根据权利要求1所述的快速傅里叶变换电路,其特征在于,所述控制模块,包括:装载子模块、计算子模块和输出子模块;其中,
所述装载子模块与所述计算子模块连接,用于在接收到上位机输出的同步信息和配置信息后,根据所述同步信息和所述配置信息得到装载地址信息和装载帧同步信息,并将所述装载地址信息作为对所述缓存模块进行控制的第一控制信息,将所述装载帧同步信息输出至所述计算子模块;
所述计算子模块还与所述输出子模块连接,用于在接收到所述装载帧同步信息后,根据所述配置信息、当前R16蝶形次数、当前循环级数、蝶形计数器内部计数和所述装载帧同步信息得到计算地址信息和计算帧同步信息,并将所述计算地址信息作为对所述缓存模块进行控制的第二控制信息,将所述计算帧同步信息输出至所述输出子模块;
所述输出子模块还与所述缓存模块连接,用于在接收到所述计算帧同步信息后,根据所述配置信息、开始/结束输出地址和所述计算帧同步信息得到输出地址信息,并将所述输出地址信息作为对所述缓存模块进行控制的第三控制信息。
3.根据权利要求2所述的快速傅里叶变换电路,其特征在于,所述计算子模块还用于:
根据所述配置信息、所述当前R16蝶形次数、所述当前循环级数、所述蝶形计数器内部计数和所述装载帧同步信息得到取数地址数据、相位数据和存数地址数据,并将所述取数地址数据作为对所述取数模块进行控制的第四控制信息,将所述相位数据作为对所述蝶形运算模块进行控制的第五控制信息,将所述存数地址数据作为对所述存数模块进行控制的第六控制信息。
4.根据权利要求2所述的快速傅里叶变换电路,其特征在于,所述缓存模块,包括:三个RAM缓存子模块,所述缓存模块还用于在接收到所述控制模块发送的缓存模块控制信息后,根据所述缓存模块控制信息从三个所述RAM缓存子模块中确定缓存当前待缓存数据的RAM缓存子模块,其中,所述缓存模块控制信息包括所述第一控制信息、所述第二控制信息、所述第三控制信息中的至少一者。
5.根据权利要求4所述的快速傅里叶变换电路,其特征在于,每个所述RAM缓存子模块均包括四块RAM存储器,每块所述RAM存储器的存储空间大小为256*32比特。
6.根据权利要求3所述的快速傅里叶变换电路,其特征在于,所述蝶形运算模块,包括:相量旋转子模块和串联连接的第一基2叠形运算子模块、第二基2叠形运算子模块、第三基2叠形运算子模块、第四基2叠形运算子模块;其中,
所述第一基2叠形运算子模块的输入端与所述取数模块的输出端连接,所述第四基2叠形运算子模块的输出端与所述相量旋转子模块的第一输入端连接;
所述相量旋转子模块的第二输入端与所述控制模块的输出端连接,用于接收所述第五控制信息,所述相量旋转子模块的输出端与所述存数模块的输入端连接,所述相量旋转子模块用于根据所述第五控制信息对所述第四基2叠形运算子模块的输出数据进行相量旋转,并将旋转结果输出至所述存数模块。
7.根据权利要求6所述的快速傅里叶变换电路,其特征在于,所述蝶形运算模块,还包括:
第一寄存器,所述第一寄存器的输入端与所述控制模块的输出端连接,所述第一寄存器的输出端与所述相量旋转子模块的第二输入端连接。
8.根据权利要求6所述的快速傅里叶变换电路,其特征在于,所述蝶形运算模块,还包括:
第一虚部取反操作子模块,所述第一虚部取反操作子模块的输入端与所述取数模块的输出端连接,所述第一虚部取反操作子模块的输出端与所述第一基2叠形运算子模块的输入端连接;
正则有符号数字量乘法运算子模块,所述正则有符号数字量乘法运算子模块的输入端与所述第二基2叠形运算子模块的输出端连接,所述正则有符号数字量乘法运算子模块的输出端与所述第三基2叠形运算子模块的输入端连接;
四舍五入运算子模块,所述四舍五入运算子模块的输入端与所述相量旋转子模块的输出端连接;
饱和运算子模块,所述饱和运算子模块的输入端与所述四舍五入运算子模块的输出端连接;
第二虚部取反操作子模块,所述第二虚部取反操作子模块的输入端与所述饱和运算子模块的输出端连接,所述第二虚部取反操作子模块的输出端与所述存数模块的输入端连接。
9.根据权利要求8所述的快速傅里叶变换电路,其特征在于,所述蝶形运算模块,还包括:
第二寄存器,所述第二寄存器的输入端与所述正则有符号数字量乘法运算子模块的输出端连接,所述第二寄存器的输出端与所述第三基2叠形运算子模块的输入端连接;
第三寄存器,所述第三寄存器的输入端与所述第二虚部取反操作子模块的输出端连接,所述第三寄存器的输出端与所述存数模块的输入端连接。
10.一种芯片,其特征在于,包括如权利要求1-9中任一项所述的快速傅里叶变换电路。
11.一种电力线载波通信系统,其特征在于,包括如权利要求10所述的芯片。
CN202410504258.9A 2024-04-25 2024-04-25 快速傅里叶变换电路、芯片、电力线载波通信系统 Pending CN118075078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410504258.9A CN118075078A (zh) 2024-04-25 2024-04-25 快速傅里叶变换电路、芯片、电力线载波通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410504258.9A CN118075078A (zh) 2024-04-25 2024-04-25 快速傅里叶变换电路、芯片、电力线载波通信系统

Publications (1)

Publication Number Publication Date
CN118075078A true CN118075078A (zh) 2024-05-24

Family

ID=91102507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410504258.9A Pending CN118075078A (zh) 2024-04-25 2024-04-25 快速傅里叶变换电路、芯片、电力线载波通信系统

Country Status (1)

Country Link
CN (1) CN118075078A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330489A (zh) * 2008-07-28 2008-12-24 中兴通讯股份有限公司 快速傅立叶变换/快速傅立叶反变换处理器及其处理方法
US20100027592A1 (en) * 2008-07-29 2010-02-04 Agere Systems Inc. Technique for searching for a preamble signal in a spread spectrum signal using a fast hadamard transform
CN101945075A (zh) * 2004-02-09 2011-01-12 高通股份有限公司 使用缩减的傅里叶变换对基于ofdm的通信系统的基于子带的解调

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945075A (zh) * 2004-02-09 2011-01-12 高通股份有限公司 使用缩减的傅里叶变换对基于ofdm的通信系统的基于子带的解调
CN101330489A (zh) * 2008-07-28 2008-12-24 中兴通讯股份有限公司 快速傅立叶变换/快速傅立叶反变换处理器及其处理方法
US20100027592A1 (en) * 2008-07-29 2010-02-04 Agere Systems Inc. Technique for searching for a preamble signal in a spread spectrum signal using a fast hadamard transform

Similar Documents

Publication Publication Date Title
Lin et al. A dynamic scaling FFT processor for DVB-T applications
JP2009535678A (ja) パイプラインfftのアーキテクチャおよび方法
Jo et al. New continuous-flow mixed-radix (CFMR) FFT processor using novel in-place strategy
KR100923892B1 (ko) 고속 푸리어 변환 트위들 승산
US6115728A (en) Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter
US7164723B2 (en) Modulation apparatus using mixed-radix fast fourier transform
US8229014B2 (en) Fast fourier transform processing in an OFDM system
US20070226286A1 (en) Fast fourier transform apparatus
US20180165250A1 (en) Data Processing Method and Processor based on 3072-Point Fast Fourier Transformation, and Storage Medium
Chen et al. An energy-efficient partial FFT processor for the OFDMA communication system
US9203671B2 (en) 3D memory based address generator for computationally efficient architectures
Li et al. A low power and small area FFT processor for OFDM demodulator
US20060200513A1 (en) Fast Fourier transform processor and method capable of reducing size of memories
KR101229648B1 (ko) 순환 급속 푸리에 변환
Chen et al. A block scaling FFT/IFFT processor for WiMAX applications
CN118075078A (zh) 快速傅里叶变换电路、芯片、电力线载波通信系统
CN101887406B (zh) 一种fft/ifft处理方法及一种fft/ifft处理器
WO2011102291A1 (ja) 高速フーリエ変換回路
CN101938442A (zh) Dft处理器的预检测基运算方法、混合基运算方法和系统
Wenqi et al. Design of fixed-point high-performance FFT processor
WO2013098638A2 (en) Method and device for data buffering for multiple-stream
CN105608054A (zh) 基于lte系统的fft/ifft变换装置及方法
Cho et al. Efficient fast Fourier transform processor design for DVB-H system
CN113094639B (zh) 一种dft并行处理方法、装置、设备及存储介质
CN101499987B (zh) 低复杂度通用时频变换实现方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination