CN114911828A - 用于傅里叶变换的数据处理方法及相关装置 - Google Patents
用于傅里叶变换的数据处理方法及相关装置 Download PDFInfo
- Publication number
- CN114911828A CN114911828A CN202210427930.XA CN202210427930A CN114911828A CN 114911828 A CN114911828 A CN 114911828A CN 202210427930 A CN202210427930 A CN 202210427930A CN 114911828 A CN114911828 A CN 114911828A
- Authority
- CN
- China
- Prior art keywords
- data stream
- memory
- counters
- data
- sequence
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 230000015654 memory Effects 0.000 claims abstract description 198
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000002441 reversible effect Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 description 15
- 101100173586 Schizosaccharomyces pombe (strain 972 / ATCC 24843) fft2 gene Proteins 0.000 description 12
- 101100173585 Schizosaccharomyces pombe (strain 972 / ATCC 24843) fft1 gene Proteins 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100173587 Schizosaccharomyces pombe (strain 972 / ATCC 24843) fft3 gene Proteins 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Discrete Mathematics (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本申请披露了一种用于傅里叶变换的数据处理方法及相关装置。所述处理方法,包括:将第一数据流写入存储器;将所述第一数据流采用倒位序从所述存储器中读出;将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。该方法可通过单个存储器实现对连续的两个数据流进行傅里叶变换中的倒位序处理,从而可以大幅度的降低存储器所带来的面积开销。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种用于傅里叶变换的数据处理方法用于傅里叶变换的数据处理方法及相关装置。
背景技术
傅里叶变换作为数字信号处理的一种重要算法,可被广泛的应用于通信技术领域。例如,在移动通信系统长期演进(UMTS Long Term Evolution,简称LTE)或第五代移动通信新空口(5G New Radio,简称5GNR)中均可采用傅里叶变换进行信号的调制和解调。
为了满足通信领域对于数据吞吐量的需求,需要对连续的数据流(或称流水线式的数据流)进行傅里叶变换。现有的方法在对连续的数据流进行傅里叶变换中的倒位序处理时,其所需的存储器面积开销是非常大的。
发明内容
本申请提供一种用于傅里叶变换的数据处理方法用于傅里叶变换的数据处理方法及相关装置。
第一方面提供一种用于傅里叶变换的数据处理方法,包括:将第一数据流写入存储器;将所述第一数据流采用倒位序从所述存储器中读出;将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。
第二方面提供一种用于傅里叶变换的数据处理装置,包括:存储器,用于存储数据;处理器,用于执行以下操作:将第一数据流写入所述存储器;将所述第一数据流采用倒位序从所述存储器中读出;将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。
第三方面,提供一种基带系统,包括:调制器,用于对比特流进行调制;以及如第二方面所述的用于傅里叶变换的数据处理装置,用于对调制后的数据进行傅里叶变换。
第四方面,提供一种无线通信装置,包括:如第三方面所述的基带系统,用于输出基带信号;以及射频系统,用于对所述基带系统输出的基带信号进行变频,以得到射频信号。
第五方面,提供一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,实现如第一方面所述的方法
本申请实施例提供的用于傅里叶变换的数据处理方法,其通过将第一数据流写入存储器后,按照倒位序将第一数据流从存储器内读出,并将第二数据流按照与第一数据流从存储器中读出时采用的地址顺序相同的地址顺序写入存储器和将第二数据流按照与第一数据流写入存储器时采用的地址顺序相同的地址顺序读出。通过这样的方式可基于单个存储器对连续的第一数据流和第二数据流进行傅里叶变换中的倒位序处理,从而可以大幅度的降低存储器所带来的面积开销。
附图说明
图1为本申请实施例提供的基带系统的结构示意图。
图2为本申请实施例提供的傅里叶变换模块的结构示意图。
图3是本申请实施例提供的一种用于傅里叶变换的数据处理方法的流程示意图。
图4是本申请实施例提供的一种读写方式的示意图。
图5是本申请实施例提供的另一种读写方式的示意图。
图6是本申请实施例提供的一种连续数据流的读写方式的示意图。
图7是本申请实施例提供的另一种连续数据流的读写方式的示意图。
图8是本申请实施例提供的一种用于傅里叶变换的数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对本申请实施例所涉及的相关术语进行解释说明。
傅里叶变换是数字信号处理领域中一种很重要的算法,其可以将任何连续测量的时序或者信号表示为不同频率的正弦波信号的无限叠加。利用傅里叶变换可以将难以处理的是与信号转换成易于分析的频域信号,而利用傅里叶反变换可以将频域信号转换成时域信号。需要说明的是,本申请实施例所提及的傅里叶变换可以是指傅里叶变换也可以是指傅里叶反变换。
傅里叶变换有多种类型,例如离散傅里叶变换(Discrete Fourier Transform,DFT)、离散傅里叶反变换(Inverse Discrete Fourier Transform,IDFT)、快速傅里叶变换(Fast Fourier transform,FFT)和快速傅里叶反变换(Inverse Fast FourierTransform,IFFT)等。本申请实施例所提及的傅里叶变换方法可以适用于上述任一种类型的傅里叶变换中。
倒位序也可以称为重新排序,是傅里叶变换中的一个必要的步骤,其可将顺序输入傅里叶变换模块的数据流(或称一组数据)按照二进制比特反转的顺序(即倒位序)输出。倒位序通常可通过存储器实现。例如,按照顺位序将数据流中的各个数据按照相应的地址顺序全部写入存储器中,然后再按照倒位序所对应的地址顺序将各个数据从存储器中读出,以通过读写不同的地址顺序而实现倒位序。可以理解的是,倒位序既可以位于傅里叶变换模块的开头或者也可以位于傅里叶变换模块的结尾,本申请实施例对此不做限制,可根据需求自行设置。
在本申请中,用于傅里叶变换的数据可包括执行傅里叶变换的处理器或核输出的数据,还可以包括准备给执行傅里叶变换的处理器或核输入的数据。就场景而言,本文所述的傅里叶变换适用于倒位序在前和倒位序在后两种不同的场景。倒位序在前,是指倒位序模块在执行傅里叶变换的处理器或核之前;倒位序在后,是指倒位序模块在执行傅里叶变换的处理器或核之后。其中,倒位序模块可实现为本申请所述的数据处理装置、或数据存取模块、或存储器等。
为了便于理解,下面结合表1和表2对倒位序进行示例性的说明。
假设输入傅里叶变换模块的是一个点数为N=2n的数据流,其N个数据按照顺序输入到实现倒位序的存储器中,顺序编号分别为0,1,2,…,N-2,N-1。该顺序编号可以通过n个二进制计数器(mn-1,mn-2,…,m1,m0)的由低位到高位的累加计数(或称n个二进制计数器的各个计数值由低到高组成的数列)来表示。以16=24为例,顺序编号为0-15可通过4个二进制计数器表示为如表1所示。
表1
所谓倒位序,就是将比特反转后的累加计数器按顺序输出,即前面的计数器向后面的计数器进位。也可以理解为,数据流按照多个计数器的各个计数值由低到高组成的数列顺序写入时,按照该多个计数器的各个计数值由高到低的组成的数列顺序读出,即是倒位序。例如,表1中的计数器比特反转后的累加计数的输出顺序则可以表示为如表2所示。
表2
通过表1和表2可看出,数据流按照0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15的顺序写入存储器内的各个存储地址上后,会按照顺序编号为0、8、4、12、2、10、6、14、1、9、5、13、3、11、7、15的顺序将该数据流从存储器内与顺序编号相应的存储地址中被读出。
可以理解,如果数据流的输入顺序编号采用的是多个计数器的各个计数值由高到低的计数方式表示(即上述表2),那么将该数据流按照该多个计数器的各个计数值由低到高的计数方式所表示的顺序(即上述表1)从存储器上被读出时,依然可以实现上述数据流的倒位序。由此可见,使用比特反转的累加计数器可以很容易的实现倒位序的输出。
随着数字信号处理技术和大规模集成电路的发展,傅里叶变换被广泛的应用在通信领域中,例如,用于LTE或5GNR的上下行的基带系统中。由LTE或5GNR的基带系统中均采用了正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)的调制方式,其使得无线通信装置(例如网络设备和/或终端设备)可分别采用IDFT或者IFFT进行调制并采用DFT或者FFT进行解调。
为方便理解,下面结合图1示例性的对典型的基带系统(如OFDM系统)进行介绍。
如图1所示,基带系统10可包括发射机11和接收机12。
发射机11可用于将输入信号生成发射信号,并将该发射信号发射给接收机12。接收机12可用于接收经过信道处理后的上述发射信号,并从中还原出原始的输入信号。
本申请实施例对发射机11和接收机12内的数据处理方法不做具体的限定,只要发射机11和接收机12可以对输入信号进行傅里叶变换即可。
作为一个示例,如图1所示,发射机11可对输入信号(图1中表示为比特流)进行以下处理:星座点调制、串并变换、子载波映射、N点IFFT、并串变换、加循环前缀以及上变频和射频处理,通过这些处理可将输入信号生成发射信号,以通过发射天线111发射出去。
上述发射信号通过信道传输后可成为接收信号,被接收机12的接收天线121接收。接收机12可对接收信号进行以下处理:射频和下变频处理、去循环前缀、串并变换、N点FFT、子载波解映射、并串变换以及星座点解调。通过这些处理可从接收信号中还原出原始的输入信号。上述N点FFT或N点IFFT可以是指对信号中的N个点的数据(或称数据流、一组数据等)进行FFT或者IFFT,N可称为傅里叶变换所支持的数据流的点数。
随着通信系统的数据吞吐量的大大提高,对傅里叶变换所支持的点数的要求越来越大。例如,NR系统支持的FFT点数可包括32,64,128,256,512,1024,2048甚至到4096。而为了使通信系统实现更高的上下行吞吐速率,则需要提供更高速的傅里叶变换算法。
有鉴于此,相关技术中提出可以基于流水线的方式来提供高速的傅里叶变换算法。基于流水线的傅里叶变换方案可以是指以流水线的形式依次对连续的数据流进行傅里叶变换从而降低执行傅里叶变换所需的延时。
如前文所述,傅里叶变换可包括对数据流执行倒位序步骤的模块,而该倒位序模块可以位于傅里叶变换模块的开头或者结尾。下面结合图2示例性的以倒位序模块位于傅里叶变换模块的结尾为例,对基于流水线的傅里叶变换进行说明。
如图2所示,当多个数据流进入傅里叶变换模块时,傅里叶变换模块可通过傅里叶变换核(或称FFT变换核、执行傅里叶变换的处理器或核)以及倒位序模块(或称倒位序变换)对先后输入的数据流依次进行处理。具体地,傅里叶变换核可先对第一数据流中的数据进行相关计算,例如可以是蝶形计算,然后输出该数据流的计算结果,紧接着傅里叶变换核对位于第一数据流之后的下一个数据流(即第二数据流)进行相关计算并输出其计算结果。由于傅里叶变换核的计算结果还是以数据流的形式输出的,因此第一数据流和第二数据流从傅里叶变换核输出后还可以称为第一数据流和第二数据流。
当傅里叶变换核输出第一数据流时,其可以在倒位序模块被按照顺位序全部写入存储器中,再然后第一数据流可按照倒位序被全部读出。之后,倒位序模块再对第二数据进行相应的操作。在一些实现方式中,如图2所示,倒位序模块可以结合读写地址控制器在存储器内进行不同的读写地址顺序以实现倒位序。
一般而言,在基于流水线的傅里叶变换中,当傅里叶变换核输出的第一数据流被全部写入倒位序模块的存储器内还未被读出时,傅里叶变换核已经输出了计算后的第二数据流,第二数据流也可以理解为第一数据流的后一数据流。这时,为了存储第二数据流并对第二数据流进行倒位序,一种可行的方案是采用增加一块相同大小的存储器的方案,即需要两块一样大小的存储器以流水的支持倒位序。可以理解的是,在基于流水线的傅里叶变换中,当其倒位序模块位于傅里叶变换模块的开头部分时,也存在第一数据流还未被从存储器读出时,第二数据流已经要输入存储器的状况。
然而,采用的两块存储器的方案所带来的面积开销是非常大的,特别是在NR系统中,由于其最高需要支持的傅里叶变换的点数为4096,因此两块存储4096点傅里叶变换的输出数据的存储器带来的面积开销是非常难以接受的。
为了解决上述问题,如图3所示,本申请实施例提出一种用于傅里叶变换的数据处理方法,该方法可通过单个存储器实现对连续的两个数据流进行傅里叶变换中的倒位序处理,可以大幅度的降低存储器所带来的面积开销。
下面结合图3,对本申请实施例中的用于傅里叶变换的数据处理方法进行详细的说明。
在步骤S310,将第一数据流写入存储器。
在步骤S320,将第一数据流采用倒位序从存储器中读出。
在步骤S330,将第二数据流按照第一地址顺序写入存储器。
在步骤S340,将第二数据流按照第二地址顺序从存储器中读出。
在本申请实施例中,地址顺序为数据流中的各个数据写入相应存储地址或者从相应存储地址读出时的存储地址的排列顺序。在一些实现方式中,地址顺序可通过前文所述的二进制计数器的累加计数所表示。本申请实施例中的第一地址顺序与第一数据流从存储器中读出时采用的地址顺序相同,且第二地址顺序与第一数据流写入存储器时采用的地址顺序相同。
在本申请实施例中,第一数据流和第二数据流可以是用于傅里叶变换的数据。第一数据流可以是需要进行傅里叶变换的多个数据流中的任意一个,而第二数据流可以是与第一数据流相邻且位于第一数据流之后的一个数据流。第一数据流或第二数据流的点数可以是2n,其中,n可以是大于0的任意整数。例如,第一数据流或者第二数据流的点数可以是32,则其n为5。或者第一数据流或第二数据流的点数为4096,则其n为12。如前文所述,地址顺序可通过二进制计数器的累加计数所表示,而二进制计数器的个数与数据流的点数是相关的,具体地,数据流的点数为N=2n时,其二进制计数器的个数为n。
本申请实施例对第一数据流和第二数据流的点数不做具体的限定。作为一种实现方式,第一数据流和第二数据流的点数可以是相同的。由于地址顺序可通过计数器表示,且地址顺序与存储地址是一一对应的,因此在第一数据流和第二数据流的点数相同时,可采同一套二进制计数器所表示的地址顺序与存储地址的映射关系机制来表示第一数据流的读写地址顺序和第二数据流的读写地址顺序,这对于大多数流水线式的傅里叶变换都是成立的,具体描述可见后文。
作为另一种实现方式,第一数据流和第二数据流的点数可以是不相同的。第一数据流的点数可以大于或者小于第二数据流的点数。为了支持不同长度的数据流的倒位序,实现倒位序的存储器的大小应该被配置为所支持的最大数据流长度Nmax。对于这样的两个数据流,则需要采用两套不同的二进制计数器所表示的地址顺序与存储地址的映射关系机制来表示第一数据流的读写地址顺序和第二数据流的读写地址顺序,具体描述可见后文。
可以理解,将第一数据流按照顺次序写入存储器内后,其数据流中的各个数据在存储器内的地址是唯一的,即第一数据流中的数据的地址顺序与存储地址是具有一一映射关系的。将第一数据流按照倒位序读出即需要将第一数据流的倒位序排列的各个数据从其对应的存储地址上依次读出。也就是说,如果第一数据流写入存储器时采用的地址顺序是已知的,将第一数据流从存储器中倒位序读出时所采用的地址顺序就可以是已知的。
在本申请实施例中,由于第一数据流在写入和读出时的地址顺序都是已知的,仅需将第二数据流的写入时的地址顺序保持与第一数据流读出时的地址顺序相同,并将第二数据流的读出时的地址顺序保持与第一数据流写入时的地址顺序相同,即可实现第二数据流的倒位序。这避免了使用第二块存储器来为第二数据流实现倒位序的过程,从而减少了存储器带来的面积开销。
另外,由于第二数据流写入时的地址顺序与第一数据流读出时的地址顺序是相同的,因此可以实现在对第一数据流读出时,将第二数据流写入在第一数据流被读出的存储地址上,而不必等第一数据流全部读出后再写入第二数据流,从而保证了傅里叶变换的实时性。而对于具体如何将第一数据流采用倒位序读出时,将第二数据流写入在第一数据流被读出的存储地址上,详见后文描述。为了便于后文的理解,先对地址顺序如何通过计数器表示,且如何将地址顺序与存储地址一一对应进行详细说明。
为了提高流水线式的傅里叶变换的处理速度,通常可使用多条流水线并行的输入并行输出。以图2为例,FFT变换核的数据需要并行的写入存储器中,再从存储器按照倒位序并行读出,而图中的P为流水线的并行数。在对数据流以并行数为P的形式进行傅里叶变换时,通常需要存储器也可以支持P并行读写。即存储器需要在平均一个时钟周期内先完成第一数据流的P个并行数据的读取,再完成第二数据流的P个并行数据的写入。
作为一种实现方式,存储器可包括P个存储单元(bank),每个存储单元的深度相同。此时,任意一个存储地址可以表示为bank编号b和bank内的偏移a。对于具有P个存储单元的存储器而言,其在每个时钟周期需要对每个bank进行读操作和写操作,也即在一个时钟周期内,读和写的P个存储地址需要位于不同的bank内。另外,考虑到地址顺序与存储地址是具有一一映射关系的,本申请实施例还设计了一套可行的地址方案,具体参考如下。
l=(mn-1,mn-2,…,mp,mp-1…,m1,m0)2
地址顺序和存储地址的映射方案为:
b=((mn-p,…,mn-2,mn-1)2+(mp-1…,m1,m0)2)%P (1)
以数据流的点数为32=25,并行数为4=22,且存储器所支持的最大数据流的点数为32为例。通过采用一组包括5个计数器的计数器由低位向高位进位的计数,按照上述公式(1)和(2)可以实现将前文所述的FFT变换核所输出的32点的一数据流按照其计数顺序分8个周期写入存储器。这8个周期分别是:0、1、2、3;4、5、6、7;8、9、10、11;12、13、14、15;16、17、18、19;20、21、22、23;24、25、26、27;28、29、30、31。此时,存储器的存储状态如表3所示:
表3
对于上述数据流,通过对上述计数器由高位向低位进位计数,该数据流亦可按照8个周期将其按照倒位序的顺序被读出为0、16、8、24;4、20、12、28;2、18、10、26;6、22、14、30;1、17、9、25;5、21、13、29;3、19、11、27;7、23、15、31。
或者,以数据流的点数为16=24,并行数为4=22且所支持的最大数据流的点数为32为例,通过采用一组包括4个计数器的计数器由低位向高位进位的计数,按照上述公式(1)和(2)可以实现将前文所述的FFT变换核所输出的16点的一数据流按照其计数顺序分4个周期写入存储器。这4个周期分别是:0、1、2、3;4、5、6、7;8、9、10、11;12、13、14、15。此时,存储器的存储状态如表4所示。
表4
对于上述数据流,通过对上述计数器由高位向低位进位计数,该数据流亦可按照4个周期将其按照倒位序的顺序被读出为0、8、4、12;2、10、6、14;1、9、5、13;3、11、7、15。
通过表3和表4可以看出,该数据流在每个时钟周期被写入的4个数据在表3和表4中的不同列中,而该数据流在每个时钟周期被读出的4个数据也位于4个不同的列中(相同的下划线格式所表示的数据表示在同一个时钟周期被读出)。由此看见,通过上文所述的地址映射方式,可实现在每个时钟周期内写入或读出的4个数据位于不同的bank内。
基于上文所述的地址顺序的表达方式与地址顺序及存储地址的映射关系,在一些实施例中,如图4所示,可以通过以下方式将第一数据流采用倒位序从存储器中读出时,将第二数据流按照第一地址顺序写入存储器:在一个时钟周期内,将第一数据流采用倒位序从P个存储单元内的存储地址中读出P个数据后,将第二数据流按照第一地址顺序写入P个数据至P个存储单元内的存储地址上。也就是说,在图4所示的实施例中,其存储器有P条读地址线和P条写地址线,该存储器可以在一个时钟周期内实现先并行读出,再并行写入,即图4中的存储器可以是一种双端口存储器。
下面结合第一数据流和第二数据流的点数均为32=25,并行数为4=22为例。如果第一数据流按照如表3所述的地址顺序(计数器的计数顺序由低位到高位表示)写入存储器后,按照上文所述的倒位序(计数器的计数顺序由高位到低位表示)将其读出。由于存储器的输出也是流水的,当前一个数据流的部分数据从存储器的存储地址上读出时,留下的存储地址空位可以把下一个数据流的部分数据按照顺序写入其中。
而如果我们按照本申请实施例所述的前一个数据流(第一数据流)的读出的地址顺序(即计数器的计数顺序由高位到低位表示)将后一个数据流(第二数据流)的数据写入上述存储地址空位后,最终按照前一个数据流的写入的地址顺序(即计数器的计数顺序由低位到高位表示)将后一个数据流的数据从存储器读出,就可以同时实现第一数据流和第二个数据流的倒位序的功能。若表3中的第一数据流的数据被完全读出后,第二数据流的数据被完全写入存储器,其存储器的存储状态应相当于如表5所示。
表5
应理解,表5仅用于方便理解第二数据流的倒位序实现,而非第二数据流的真实地址顺序所对应的计数器表示方式。具体地,当第二数据流写入存储器上时,其地址顺序应与第一数据流的读出地址顺序是相同的,即第二数据流的自然顺次序(相当于0、1、2、3;4、5、6、7;8、9、10、11;12、13、14、15;16、17、18、19;20、21、22、23;24、25、26、27;28、29、30、31)的写入地址顺序可被表示为0、16、8、24;4、20、12、28;2、18、10、26;6、22、14、30;1、17、9、25;5、21、13、29;3、19、11、27;7、23、15、31以被写入在第一数据流被读出的存储地址上。以数据流中的第二个数据为例,第二个数据的自然顺次序本来应该是1(00001),但其地址顺序会被表示为16(10000),从而被写在如表3所示的地址映射关系所映射的存储地址上,这相当于将第二个数据直接写在了该位置,以此类推,其他数据也一样,此处不再一一说明。
作为另一种实现方式,存储器还可包括2P个存储单元(bank),以实现在平均一个时钟周期内,实现对第一数据流倒位序读出时将其P个数据进行读出后对第二数据流的P个数据进行写入。具体地,如图5所示,该过程可以是在第一时钟周期内,将第一数据流采用倒位序从2P个存储单元内的存储地址中读出2P个数据,并在第一时钟周期的下一个时钟周期内,将第二数据流按照第一地址顺序写入2P个数据至2P个存储单元内的存储地址上。通过在每个时钟周期并行读取或者写入2P个数据,每两个时钟周期进行一次读操作和一次写操作而从而可以实现在每个时钟周期内P并行的进行读写操作。
b=((mn-p,…,mn-2,mn-1)2+(mp-1…,m1,m0)2)%P+P*(mp==1) (4)
以上述地址映射关系对前文表3所述的数据流进行地址映射,其效果相当于把存储器的奇数行搬到右面一半,具体可如表6所示的存储器存储状态。
表6
而如果表6中的数据流为第一数据流时,第一数据流的数据被完全读出后,第二数据流的数据被完全写入存储器,其存储器的存储状态应相当于如表7所示。
表7
应理解,表7也仅用于方便理解第二数据流的倒位序实现,而非第二数据流的真实地址顺序所对应的计数器表示方式。其具体地址顺序的说明与表5类似,此处不再一一说明。
通过将存储器的存储单元扩展为2P个,且将其读写过程按照上述实施例实施时,就不需要存储器在一个时钟周期内同时支持读写操作,即避免了使用双端口存储器。因此该存储器在小于两个存储器的面积的同时也小于双端口的存储器的存储面积,可以有效保证存储器面积所占的开销。
如前所述,地址顺序可以通过计数器的计数顺序表示,而计数器的计数顺序既可以是由高位到低位依次计数,也可以是由低位到高位依次计数。因此,本申请实施例中所提及的对两个数据流的倒位序可以包括以下两种模式。
模式一:当第一数据流的地址顺序是由计数器由低位到高位的计数顺序进行写入而由计数器由高位到低位的计数顺序进行读出时,则第二数据流的地址顺序是由计数器由高位到低位的计数顺序进行写入而由计数器由低位到高位的计数顺序进行读出。
模式二:当第一数据流的地址顺序是由计数器由高位到低位的计数顺序进行写入而由计数器由低位到高位的计数顺序进行读出时,则第二数据流的地址顺序是由计数器由低位到高位的计数顺序进行写入而由计数器由高位到低位的计数顺序进行读出。
结合前文所述内容可知,第一数据流和第二数据流的点数既可以相同,也可以不同。在第一数据流和第二数据流的点数相同时,其可以采用相同的计数器的计数顺序与存储地址的映射关系来分别实现前文所述的读写。而在第一数据流和第二数据流的点数不同时,则需要分别采用第一组计数器的计数顺序与存储地址的映射关系以及第二组计数器的计数顺序与存储地址的映射关系来实现前文所述的读写。
具体地,第一数据流写入存储器时采用的地址顺序为第一组计数器的第一计数顺序,第一数据从存储器中读出时采用的地址顺序为第一组计数器的第二计数顺序,第一地址顺序(即第二数据流写入存储器时采用的地址顺序)为第二组计数器的第二计数顺序,第二地址顺序(即第二数据流从存储器读出时采用的地址顺序)为第二组计数器的第一计数顺序。
其中,第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列,第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,或者第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列。也就是说,第一组计数器的第二计数顺序为第一组计数器的第一计数顺序的倒位序,而第二组计数器的第二计数顺序为第二组计数器的第一计数顺序的倒位序,且第一组计数器的第一计数顺序和第二组计数器的第一计数顺序的计数方式是相同的,第二组计数器的第二计数顺序和第二组计数器的第二计数顺序的计数方式是相同的。
按照上述计数器来实现对第一数据流和第二数据流实现倒位序时,需要包括以下步骤:将第一数据流按照第一组计数器的第二计数顺序完全从存储器内读出且将第二数据流按照第二组计数器的第二计数顺序完全写入存储器后,将第二数据流按照第二组计数器的第一计数顺序从存储器中读出。
特别是对于第一数据流的点数小于第二数据流的点数时,上述步骤尤为重要。示例性的,如图6所示,连续的多个数据流可分别被表示为FFT0、FFT1、FFT2和FFT3,FFT0和FFT1的点数相同,FFT2和FFT3的点数相同。当第一数据流为FFT1、第二数据流为FFT2时,通过图6可以得知,由于第一数据流FFT1的点数小于第二数据流FFT2,所以在第一数据流FFT1完全读出时,第二数据流FFT2还未完全写入,这时需要等待第二数据流FFT2完全写入后,再将第二数据流FFT2读出,否则,将会造成地址冲突而无法实现第二数据流的倒位序处理。
以第一数据流的点数为16,第二数据流的点数为32且存储器的存储单元均为2P为例。在上述模式一和模式二的情况下:相当于第一个数据流在第0和2个时钟周期8并行逆序输出,顺序为下划线所示的数据及双下划线所示的数据,与此同时,相当于在第1、3、5、7个时钟周期将第二个数据流的数据8并行的顺序写入,顺序相当于为下划线所示的数据、双下划线所示的数据、虚线所示的数据及点划线所示的数据。不同的是,模式一中的第一数据流采用的是由低位到高位的计数方式写入在存储器中,存储状态如表8所示;第二数据流采用的是由高位到低位的计数方式写入在存储器中,其存储状态相当于如表9所示。而模式二中的第一数据流采用的是由高位到低位的计数方式写入在存储器中,存储状态相当于如表10所示;第二数据流采用的是由低位到高位的计数方式写入在存储器中,其存储状态如表11所示。
表8
表9
表10
表11
如前文所述,第一数据流的点数还可以大于第二数据流的点数。因此,在一些实现方式中,为了实现第一数据流和第二数据流的倒位序,需在等待第一数据流写入几个时钟周期后再写入第二数据流,否则会引起地址冲突。
以前文所述的存储器包括2P个存储单元(bank)为例,其需要通过在第一时钟周期内,将第一数据流采用倒位序从2P个存储单元内的存储地址中读出2P个数据,并在第一时钟周期的下一个时钟周期内,将第二数据流按照第一地址顺序写入2P个数据至2P个存储单元内的存储地址上。如果第一数据流和第二数据流的点数相同或者第一数据流的点数小于第二数据流的点数时,第一时钟周期即为第一数据流开始读出时的时钟周期。而对于第一数据流的点数大于第二数据流的点数时,第一时钟周期则并非第一数据流开始读出时的第一个时钟周期,而是在第一时钟周期之前需要包括至少一个时钟周期用于读出第一数据流中的数据。具体的,需要在第一数据流被读出多个时钟周期后,空出的存储地址足够第二数据流写入且不与第二数据流写入时的地址冲突即可。
作为一种实现方式,如图7所示,连续的多个数据流可分别被表示为FFT0、FFT1、FFT2和FFT3,FFT0和FFT1的点数相同,FFT2和FFT3的点数相同。需要说明的是图7仅用于示例,其在第二数据流开始写入时,第一数据流的读出周期和第二数据流的写入周期被表示为同步的,但是实际中是先读出一个时钟周期的第一数据流再在写入一个时钟周期的第二数据流。当第一数据流为FFT1、第二数据流为FFT2时,通过图7可以得知,由于第一数据流FFT1的点数大于第二数据流FFT2,在写入第二数据流FFT2时(也即第一时钟周期和第一时钟周期的下一个时钟周期时)之前需要控制流水线使得第二数据流等待多个时钟周期,该多个周期可被表示为
以第一数据流的点数为32,第二数据流的点数为16且存储器的存储单元均为2P为例。在上述模式一和模式二的情况下:相当于第一个数据流在第0、2、4、6个时钟周期8并行逆序输出,顺序为下划线所示的数据、双下划线所示的数据、虚线所示的数据及波浪线所示的数据,与此同时,相当于在第5、7个时钟周期将第二个数据流的数据8并行的顺序写入,顺序相当于为虚线所示的数据及波浪线所示的数据。不同的是,模式一中的第一数据流采用的是由低位到高位的计数方式写入在存储器中,存储状态如表12所示;第二数据流采用的是由高位到低位的计数方式写入在存储器中,其存储状态相当于如表13所示。而模式二中的第一数据流采用的是由高位到低位的计数方式写入在存储器中,存储状态相当于如表14所示;第二数据流采用的是由低位到高位的计数方式写入在存储器中,其存储状态如表15所示。
表12
表13
表14
表15
本申请实施例所提及的方法可实现倒位序的并行地址方案:其按照前一个数据流读出的顺序将后一个数据流的数据写入存储器,并且按照前一个数据流写入的顺序将后一个数据流的数据从存储器读出,从而只使用一个存储器就能够流水的实现并行倒位序,可大大降低了所需的存储器面积。以最大4096点数的数据流,输出数据实虚部均用16比特量化,4并行输出为例,在1GHz的时钟频率下,使用两个存储器的方法时其存储器面积约为16800平方微米,而本申请实施例方法其存储器面积为10400平方微米,面积开销降低了38%。
上文结合图1-图7,详细描述了本申请的方法实施例。下面描述本申请的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面的方法实施例。
参见图8,本申请实施例提供了一种用于傅里叶变换的数据处理装置800。
如图8所示,该处理装置800包括存储器810和处理器820。
存储器810用于存储数据。
处理器820用于执行以下操作:将第一数据流写入所述存储器;将所述第一数据流采用倒位序从所述存储器中读出;将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。
可选地,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括P个存储单元,所述处理器820具体用于:在一个时钟周期内,将所述第一数据流采用倒位序从所述P个存储单元内的存储地址中读出P个数据后,将所述第二数据流按照所述第一地址顺序写入P个数据至所述P个存储单元内的存储地址上。
可选地,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括2P个存储单元,所述处理器820具体用于:在第一时钟周期内,将所述第一数据流采用倒位序从所述2P个存储单元内的存储地址中读出2P个数据;在所述第一时钟周期的下一个时钟周期内,将所述第二数据流按照所述第一地址顺序写入2P个数据至所述2P个存储单元内的存储地址上。
可选地,所述第一数据流写入所述存储器时采用的地址顺序为第一组计数器的第一计数顺序,所述第一数据从所述存储器中读出时采用的地址顺序为所述第一组计数器的第二计数顺序,所述第一地址顺序为第二组计数器的第二计数顺序,所述第二地址顺序为所述第二组计数器的第一计数顺序,所述处理器820具体用于:将将所述第一数据流按照所述第一组计数器的第二计数顺序完全从所述存储器内读出且将所述第二数据流按照所述第二组计数器的第二计数顺序完全写入所述存储器后,将所述第二数据流按照所述第二组计数器的第一计数顺序从所述存储器中读出。
可选地,当所述第一数据流的点数大于所述第二数据流的点数时,所述第一时钟周期之前包括至少一个时钟周期用于读出所述第一数据流中的数据。
可选地,第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列,第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,或者第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列。
本申请实施例提供了一种基带系统,该基带系统包括:调制器,用于对比特流进行调制。以及上文所述的用于傅里叶变换的数据处理装置800,该装置800用于对调制后的数据进行傅里叶变换。
本申请实施例提供了一种无线通信装置,该无线通信装置包括:前文所述的基带系统,用于输出基带信号;以及射频系统,用于对所述基带系统输出的基带信号进行变频,以得到射频信号。需要说明的是,该无线通信装置既可以是前文所述终端设备也可以是前文所述的网络设备,用于实现无线通信。
本申请实施例中的终端设备可以是通信系统中的接收端,例如,可以是用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台(mobile station,MS)、移动终端(mobile Terminal,MT)、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
本申请实施例中的网络设备可以是通信系统中的发射端,也可以称为接入网设备或无线接入网设备。例如,该网络设备可以是基站。基站可以广义的覆盖如下中的各种名称,比如:节点B(NodeB)、演进型基站(evolved NodeB,eNB)、下一代基站(next generationNodeB,gNB)、中继站、接入点、传输点(transmitting and receiving point,TRP)、发射点(transmitting point,TP)、主站MeNB、辅站SeNB、多制式无线(MSR)节点、家庭基站、网络控制器、接入节点、无线节点、接入点(access piont,AP)、传输节点、收发节点、基带单元(base band unit,BBU)、射频拉远单元(remote radio unit,RRU)、有源天线单元(activeantenna unit,AAU)、射频头(remote radio head,RRH)、中心单元(central unit,CU)、分布式单元(distributed unit,DU)、定位节点等。
本申请实施例还提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现前文描述的各个方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,程序被处理器执行时,实现前文描述的各个方法的步骤。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以意识到,结合本申请实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种用于傅里叶变换的数据处理方法,其特征在于,包括:
将第一数据流写入存储器;
将所述第一数据流采用倒位序从所述存储器中读出;
将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;
将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。
2.根据权利要求1所述的方法,其特征在于,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括P个存储单元,所述将所述第一数据流采用倒位序从所述存储器中读出,将第二数据流按照第一地址顺序写入所述存储器包括:
在一个时钟周期内,将所述第一数据流采用倒位序从所述P个存储单元内的存储地址中读出P个数据后,将所述第二数据流按照所述第一地址顺序写入P个数据至所述P个存储单元内的存储地址上。
3.根据权利要求1所述的方法,其特征在于,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括2P个存储单元,所述将所述第一数据流采用倒位序从所述存储器中读出,将第二数据流按照第一地址顺序写入所述存储器包括:
在第一时钟周期内,将所述第一数据流采用倒位序从所述2P个存储单元内的存储地址中读出2P个数据;
在所述第一时钟周期的下一个时钟周期内,将所述第二数据流按照所述第一地址顺序写入2P个数据至所述2P个存储单元内的存储地址上。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一数据流写入所述存储器时采用的地址顺序为第一组计数器的第一计数顺序,所述第一数据流从所述存储器中读出时采用的地址顺序为所述第一组计数器的第二计数顺序,所述第一地址顺序为第二组计数器的第二计数顺序,所述第二地址顺序为所述第二组计数器的第一计数顺序,所述将所述第二数据流按照第二地址顺序从所述存储器中读出包括:
将所述第一数据流按照所述第一组计数器的第二计数顺序完全从所述存储器内读出且将所述第二数据流按照所述第二组计数器的第二计数顺序完全写入所述存储器后,将所述第二数据流按照所述第二组计数器的第一计数顺序从所述存储器中读出。
5.根据权利要求3所述的方法,其特征在于,当所述第一数据流的点数大于所述第二数据流的点数时,所述第一时钟周期之前包括至少一个时钟周期用于读出所述第一数据流中的数据。
6.根据权利要求4所述的方法,其特征在于,所述第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列,所述第一组计数器或所述第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,或者所述第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,所述第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列。
7.一种用于傅里叶变换的数据处理装置,其特征在于,包括:
存储器,用于存储数据;
处理器,用于执行以下操作:
将第一数据流写入所述存储器;
将所述第一数据流采用倒位序从所述存储器中读出;
将第二数据流按照第一地址顺序写入所述存储器,其中所述第二数据流为所述第一数据流的后一数据流,所述第一地址顺序与所述第一数据流从所述存储器中读出时采用的地址顺序相同;
将所述第二数据流按照第二地址顺序从所述存储器中读出,所述第二地址顺序与所述第一数据流写入所述存储器时采用的地址顺序相同。
8.根据权利要求7所述的装置,其特征在于,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括P个存储单元,所述处理器具体用于:
在一个时钟周期内,将所述第一数据流采用倒位序从所述P个存储单元内的存储地址中读出P个数据后,将所述第二数据流按照所述第一地址顺序写入P个数据至所述P个存储单元内的存储地址上。
9.根据权利要求7所述的装置,其特征在于,所述第一数据流和/或所述第二数据流以并行数为P的形式进行傅里叶变换,所述存储器包括2P个存储单元,所述处理器具体用于:
在第一时钟周期内,将所述第一数据流采用倒位序从所述2P个存储单元内的存储地址中读出2P个数据;
在所述第一时钟周期的下一个时钟周期内,将所述第二数据流按照所述第一地址顺序写入2P个数据至所述2P个存储单元内的存储地址上。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述第一数据流写入所述存储器时采用的地址顺序为第一组计数器的第一计数顺序,所述第一数据从所述存储器中读出时采用的地址顺序为所述第一组计数器的第二计数顺序,所述第一地址顺序为第二组计数器的第二计数顺序,所述第二地址顺序为所述第二组计数器的第一计数顺序,所述处理器具体用于:将将所述第一数据流按照所述第一组计数器的第二计数顺序完全从所述存储器内读出且将所述第二数据流按照所述第二组计数器的第二计数顺序完全写入所述存储器后,将所述第二数据流按照所述第二组计数器的第一计数顺序从所述存储器中读出。
11.根据权利要求9所述的装置,其特征在于,当所述第一数据流的点数大于所述第二数据流的点数时,所述第一时钟周期之前包括至少一个时钟周期用于读出所述第一数据流中的数据。
12.根据权利要求10所述的装置,其特征在于,所述第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器的各个计数值由低到高组成的数列,所述第一组计数器或所述第二组计数器的第二计数顺序对应于多个二进制计数器的各个计数值由高到低组成的数列,或者所述第一组计数器或第二组计数器的第一计数顺序对应于多个二进制计数器由高到低组成的数列,所述第一组计数器或第二组计数器的第二计数顺序对应于多个二进制计数器由低到高组成的数列。
13.一种基带系统,其特征在于,包括:
调制器,用于对比特流进行调制;以及
如权7-12任一项所述的用于傅里叶变换的数据处理装置,用于对调制后的数据进行傅里叶变换。
14.一种无线通信装置,其特征在于,包括:
如权利要求13所述的基带系统,用于输出基带信号;以及
射频系统,用于对所述基带系统输出的基带信号进行变频,以得到射频信号。
15.一种芯片,其特征在于,
所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427930.XA CN114911828A (zh) | 2022-04-22 | 2022-04-22 | 用于傅里叶变换的数据处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427930.XA CN114911828A (zh) | 2022-04-22 | 2022-04-22 | 用于傅里叶变换的数据处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114911828A true CN114911828A (zh) | 2022-08-16 |
Family
ID=82764438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210427930.XA Pending CN114911828A (zh) | 2022-04-22 | 2022-04-22 | 用于傅里叶变换的数据处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911828A (zh) |
-
2022
- 2022-04-22 CN CN202210427930.XA patent/CN114911828A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549059B2 (en) | In-place fast fourier transform processor | |
CN115001923B (zh) | 基于序列的信号处理方法及装置 | |
CN109802820B (zh) | 基于序列的信号处理方法及信号处理装置 | |
CN108632189A (zh) | 上行数据的发送方法、装置及用户设备 | |
JP2022506735A (ja) | データ伝送方法及び通信装置 | |
WO2020108653A1 (zh) | 一种数据流复用的方法及终端 | |
CN110351757A (zh) | 一种调度请求传输方法、终端及网络侧设备 | |
WO2021000712A1 (zh) | 符号处理的方法与装置 | |
WO2018202103A1 (zh) | 一种参考信号图样的传输方法及其装置 | |
WO2020143649A1 (zh) | 基于序列的信号处理方法与装置 | |
CN108282294B (zh) | 一种参考信号传输方法及装置 | |
CN114911828A (zh) | 用于傅里叶变换的数据处理方法及相关装置 | |
CN113411176B (zh) | Pdsch解资源映射方法及装置、计算机可读存储介质、基带芯片 | |
WO2021000711A1 (zh) | 符号处理的方法与装置 | |
CN105453607A (zh) | 无线局域网的传输方法及传输设备 | |
CN112188446B (zh) | 一种同步信号发送方法、终端及装置、存储介质 | |
CN115642956A (zh) | 数据处理方法、基带处理单元以及存储介质 | |
WO2021134600A1 (zh) | 信号传输的方法及装置 | |
CN115396271B (zh) | 单载波双天线信号在多径信道下的发射、接收方法和设备 | |
CN111770576B (zh) | 一种传输方法、终端和网络侧设备 | |
CN115412207B (zh) | 一种空时频分组码的编码方法和装置及解码方法和装置 | |
WO2022262584A1 (zh) | 一种通信方法及装置 | |
CN103636230B (zh) | 一种dsl激活的方法、设备和系统 | |
WO2024041416A1 (zh) | 信号的传输方法、装置、终端和存储介质 | |
CN117119579B (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 |