WO2010118682A1 - 一种快速傅里叶变换的装置及方法 - Google Patents

一种快速傅里叶变换的装置及方法 Download PDF

Info

Publication number
WO2010118682A1
WO2010118682A1 PCT/CN2010/071747 CN2010071747W WO2010118682A1 WO 2010118682 A1 WO2010118682 A1 WO 2010118682A1 CN 2010071747 W CN2010071747 W CN 2010071747W WO 2010118682 A1 WO2010118682 A1 WO 2010118682A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
module
fast fourier
address
fourier transform
Prior art date
Application number
PCT/CN2010/071747
Other languages
English (en)
French (fr)
Inventor
黄智�
曾代兵
孙晓雷
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to US13/258,485 priority Critical patent/US8649255B2/en
Publication of WO2010118682A1 publication Critical patent/WO2010118682A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Definitions

  • the present invention relates to communication technologies, and in particular, to an apparatus and method for Fast Fourier Transform (FFT).
  • FFT Fast Fourier Transform
  • StiMi technology is a wireless channel transmission technology designed for mobile multimedia broadcasting. It is the core part of China Mobile Multimedia Broadcasting (CMMB) architecture. STiMi technology fully considers the characteristics of mobile multimedia broadcasting services, and adopts the most advanced channel error correction coding and orthogonal frequency division multiplexing (OFDM) for high sensitivity, mobility and battery power of handheld devices. OFDM) modulation technology improves anti-jamming capability and support for mobility.
  • OFDM orthogonal frequency division multiplexing
  • the basic principle of OFDM is to transform high-speed serial data into multiple relatively low-speed parallel data and modulate different carriers.
  • This parallel transmission system greatly expands the pulse width of the symbol and improves the performance against multipath fading.
  • the frequency terms on each subcarrier overlap each other, but these spectra satisfy the orthogonality throughout the symbol period, thereby not only ensuring that the receiving end can recover the signal without distortion, but also greatly improving the spectrum utilization.
  • the receiver needs to perform frame synchronization acquisition and OFDM symbol synchronization acquisition before proper demodulation can be performed.
  • STiMi technology creatively uses time domain spread spectrum beacons for synchronous acquisition, featuring short synchronization acquisition time, strong anti-carrier frequency offset capability, and strong anti-channel multipath delay spread capability. This approach greatly reduces the synchronization time required for the user to boot to normal reception. Especially in the emergency broadcast environment, users can be guaranteed to receive quickly and reliably.
  • the time domain and frequency domain response of the wireless channel are time-varying, and the frequency domain selective fading caused by multipath also exhibits fading inconsistency on different subcarriers, so distortion unevenness occurs on each subcarrier of the OFDM symbol. Hook. Therefore, the channel estimation method must be used to estimate the time domain and frequency domain response of the channel, and the received data is corrected and restored.
  • STiMi uses pilot technology to not only ensure reliable channel estimation and equalization under complex wireless transmission conditions, but also reduce the hardware complexity of the demodulation module. The complexity is good for chip implementation.
  • the CMMB mobile TV standard specifically designed a synchronization signal.
  • the synchronization signal subcarrier spacing is twice the data subcarrier spacing, which is 4.8828125 kHz. It consists of a PN sequence in the frequency domain and two in the time domain. The segments are identically composed of signals.
  • the fractional frequency offset will cause interference between OFDM subcarriers.
  • the inter-subcarrier interference caused by the frequency offset has been basically eliminated, and the OFDM multicarrier signal can be correctly demodulated.
  • an offset of an even number of subcarriers occurs.
  • the integer frequency offset * Af causes a cyclic shift of the subcarrier symbol data sequence after the FFT operation, the data cannot be correctly demodulated. Therefore, it needs to be estimated and compensated; the integer frequency offset estimation is done by estimating the cyclic shift amount A of the synchronized symbol data sequence after the FFT operation, and at the same time, to ensure orthogonality between subcarriers in the FFT operation process.
  • Sex the data needs to be subjected to fractional frequency offset compensation before the FFT; the following uses the synchronization symbol to perform integer frequency offset estimation.
  • the frequency offset estimation module mainly performs fractional frequency offset estimation on the synchronous data, and performs FFT operation on the data based on the fractional frequency offset compensation, and then performs integer frequency offset estimation on the data.
  • the included sub-modules mainly include an initialization synchronous differential sequence module, an initialization trigonometric function table, a fractional frequency offset estimation, a fractional frequency offset compensation, an FFT operation, and an integer frequency offset estimation.
  • the frequency offset estimation module implements a 2048-point FFT in software or hardware.
  • the OFDM symbol specified by the CMMB protocol contains 4096 samples, so an FFT of 4096 points is required.
  • the implementation is generally implemented by two FFTs, as shown in Figure 1. This method requires two FFT modules, which wastes resources and has low utilization rate. At the same time, it may cause difficulty in digital signal processing (Digital Signal Processing, DSP) or software control, and consume cycle numbers.
  • DSP Digital Signal Processing
  • the technical problem to be solved by the present invention is to provide a device and method for fast Fourier transform, which can improve resource utilization and provide better precision control.
  • the present invention provides a fast Fourier transform method, including: copying input data into M/N shares and storing them on M/N different addresses, and then storing the data.
  • the data is subjected to M-point fast Fourier transform, and the transformed data is subjected to point extraction and output.
  • the M is the maximum number of points for performing fast Fourier transform
  • N is the actual number of points of the input data to realize fast Fourier transform. The multiplexing of the transform.
  • the method further comprises: first determining whether the input data is an M-point fast Fourier transform, and if so, directly performing an M-point fast Fourier transform on the input data, if not , performing the storing step.
  • the step of copying the input data into 2 copies and storing them on 2 different addresses is: copying the ith data to address i and address N+i respectively; 0 i N _ 1.
  • the 2ith data or the 2i+1th data is extracted, the (N-1).
  • step of performing the point extraction on the transformed data extracting the 4ith data, or the 4i+1 data, or the 4i+2 data, or the 4i+3 data, the 0 N - 1 .
  • the present invention also provides a device for fast Fourier transform, comprising a data receiving module, a data storage module, a fast Fourier transform module and a data output module; the device further comprising an address transform module and a data extracting module;
  • the data receiving module is configured to: receive input data;
  • the address conversion module is configured to: copy the received data into an M/N share and send the data to the data storage module;
  • the data storage module is configured to: store data sent by the received address translation module to M/N different addresses;
  • the fast Fourier transform module is configured to: perform M-point fast Fourier transform on the stored data;
  • the data extraction module is configured to: extract the transformed data by the separation point, and send the extracted data to the data output module;
  • the data output module is configured to: output the received data;
  • the M is the maximum number of points for performing the fast Fourier transform
  • N is the actual number of points of the input data; thereby realizing the multiplexing of the fast Fourier transform.
  • the device further includes a judging module, the judging module is configured to: after receiving the data sent by the data receiving module, determine whether the M-point fast Fourier transform is performed, and if yes, send the data to the storage module, if not, the data is sent Send to the address translation module.
  • the present invention provides a device and method for fast Fourier transform, which can provide better precision control, reduce hardware resources or reduce DSP computational burden.
  • 1 is a circuit block diagram of two fast Fourier transforms respectively implemented in the prior art
  • 2 is a multiplexing device for realizing N-point and M-point fast Fourier transform according to the present invention
  • FIG. 3 is a flow chart of a multiplexing method for realizing N-point and 2N-point fast Fourier transform according to the present invention. Preferred embodiment of the invention
  • the invention provides a multiplexing device and method for fast Fourier transform, which copies the input data into M/N parts and stores them on M/N different addresses, and then performs M point fast Fourier on the stored data.
  • Leaf transformation transforming the data to extract and output, and M is the maximum for fast Fourier transform
  • N is the actual number of points of the input data.
  • the embodiment provides a multiplexing device for fast Fourier transform, as shown in FIG. 2, including a data receiving module, a determining module, an address transform module, a data storage module, a fast Fourier transform module, a data extracting module, and data.
  • An output module a data receiving module, configured to receive the input data, and send the data to the determining module; the determining module is configured to determine whether the M-point fast Fourier transform is performed after receiving the data sent by the data receiving module, Sending the data to the storage module, otherwise sending the data to the address translation module;
  • the received data subjected to the N point fast Fourier transform is sent to the address conversion module, and the receiving is performed.
  • Data for performing 2N point fast Fourier transform is sent to the data storage module;
  • the received data subjected to the N point fast Fourier transform is sent to the address conversion module, and the received 4N is performed.
  • Point fast Fourier transform data is sent to the data storage module;
  • the received data of the N point and 2N point fast Fourier transform is sent to the address conversion module, and the received data subjected to the 4N point fast Fourier transform is sent to the data storage module.
  • An address conversion module is configured to copy the received data into an M/N share and send the data to the data storage module. Specifically, when the multiplexing of the N point and the 2N point fast Fourier transform needs to be completed, the received N point is performed. The data of the fast Fourier transform is copied into 2 copies and sent to the data storage module;
  • the received data subjected to the N point fast Fourier transform is copied into 4 copies and then sent to the data storage module;
  • the received data subjected to the N point fast Fourier transform is copied into 4 copies and then sent to the data storage module, and the received 2N is performed.
  • the data of the point fast Fourier transform is copied into 2 copies and sent to the data storage module.
  • a data storage module configured to receive data sent by the address translation module and store it in M/N different addresses
  • the data storage module receives the data sent by the address translation module.
  • the storage may be performed on two different addresses, and the copied i-th data is respectively stored on the address i and the address N+i;
  • the data storage module receives the data sent by the address conversion module and stores it to four different addresses.
  • the data may be stored in the address i and the address N+i. Up, address 2N+i and address 3N+i; 0 i N - 1.
  • the data storage module is also used to store data sent by the judging module, and the storage method is the same as the prior art.
  • a fast Fourier transform module configured to perform M-point fast Fourier transform on the stored data; and, when the input data is an N-point fast Fourier transform, send the transformed data to the data extraction module, When the input data is an M-point fast Fourier transform, the transformed data is sent to the data output module;
  • a data extraction module configured to: extract the received data by the separation point; and send the extracted data to the data output module;
  • a data output module for outputting received data.
  • the embodiment provides a multiplexing method of fast Fourier transform, which is respectively described by multiplexing of N point and 2N point fast Fourier transform, and multiplexing of N point and 4N point fast Fourier transform;
  • the input N point data can be copied into the 2N point and the 2N point fast Fourier transform is performed, and then the transformed data is performed.
  • Step 301 The multiplexing device receives an upper layer software configuration and data;
  • Step 302 Determine whether it is an N-point fast Fourier transform or a 2N-point fast Fourier transform, if
  • the N-point fast Fourier transform performs step 303, otherwise step 304 is performed;
  • Step 303 the received data is copied into 2 copies, and stored in two different addresses, and then step 305 is performed;
  • the method of storing the copied data on two different addresses may be, but not limited to, storing the copied data to address 0 and address N when receiving the 0th data, when receiving the first data, Store the copied data to address 1 and address N+1...
  • When receiving the i-th data store the copied data to address i and address N+i, 0 ⁇ i ⁇ N - 1 ;
  • Step 304 performing data storage, and then performing step 305;
  • Step 305 Perform 2N point fast Fourier transform on the stored data, and the specific transformation manner is the same as the prior art;
  • Step 306 Output a fast Fourier transform result.
  • Step 307 determining whether the data needs to be extracted according to the N point or the 2N point transformation, if it is the fast Fourier transform of the N point, step 308 is performed, otherwise step 309 is performed;
  • Step 308 performing the point extraction, that is, extracting the 2ith data, or extracting the 2i+1 data, 0 ⁇ i ⁇ N - 1 , and then performing step 309;
  • Step 309 Perform final result output according to the order of the fast Fourier transform output data.
  • the input N point data can be copied into the 4N point and then subjected to the 4N point fast Fourier transform, and then the transformed The data point is extracted to obtain the N-point fast Fourier transform result, including the following steps:
  • Step 401 The multiplexing device receives the upper layer software configuration and data.
  • Step 402 determining whether it is an N-point fast Fourier transform or a 4N-point fast Fourier transform, if it is an N-point fast Fourier transform, performing step 403, otherwise performing step 404;
  • Step 403 Copy the received data into 4 copies and store them at two different addresses, and then perform step 405; when receiving the 0th data, store the copied data to address 0, address N, address 2N and Address 3N, up; When receiving the first data, store the copied data to address 1, address N+l, address 2N+1 and address 3N+1... when receiving the i-th data, it will be copied The data is stored to address i, address N+i, address 2N+i and address 3N+i, 0 i N - 1; Step 404, performing data storage, and then performing step 405;
  • Step 405 Perform 4N point fast Fourier transform on the stored data, and the specific transformation manner is the same as the prior art
  • Step 406 Output a fast Fourier transform result.
  • Step 407 Determine whether the data needs to be extracted according to the N point or the 4N point transformation, if yes
  • step 408 The fast Fourier transform of point N, step 408 is performed, otherwise step 409 is performed;
  • Step 408 Perform interval extraction, that is, extract 4ith data, or 4i+1 data, or 4i+2 data, or 4i+3 data, 0 ⁇ i ⁇ N - 1 , and then perform steps 409;
  • Step 409 Perform final result output according to the fast Fourier transform output data sequence.
  • the input N point data can be copied into 4N point according to the above method and then 4N point fast Fourier transform is performed.
  • 4N point fast Fourier transform is also performed, and then the transformed data partition points are respectively extracted to obtain N point fast Fourier transform and 2N point fast Fourier transform result,
  • the fast Fourier transform is directly performed on the input 4N point data, and the specific operation method is the same as that described above, and will not be specifically described herein.
  • Step 1 The multiplexing device receives the upper layer software configuration and data
  • Step 2 Determine whether the 2048-point fast Fourier transform operation or the 4096-point fast Fourier transform, if it is 4096-point fast Fourier transform, perform step 4, otherwise perform step 3;
  • Step 3 Copy the received data into 2 copies and store them at two different addresses, and then perform step 5; when receiving the 0th data, store the copied data to address 0 and address 2048, when receiving the first When 1 data is stored, the copied data is stored to address 1 and address 2049... when receiving the i-th data, Store the copied data to address i and address 2048+i, 0 ⁇ i ⁇ 2047;
  • Step 4 perform data storage, and then perform step 5;
  • Step 5 performing 4096-point fast Fourier transform on the stored data, and the specific transformation manner is the same as the prior art
  • Performing a 4096-point fast Fourier transform specifically means:
  • Step 6 Output a fast Fourier transform result
  • Step 7 according to whether it is 2048 points or 4096 points fast Fourier transform to determine whether the data needs to be extracted by the spacer, if it is 2048 point fast Fourier transform, perform step 8, otherwise perform step 9; step 8, the transformed data Perform the interval extraction, that is, extract the 2ith data, or extract 2i+l data, 0 ⁇ i ⁇ 2047, and then perform step 9; Step 9. Perform final result output according to the order of the fast Fourier transform output data.
  • the storage module can be implemented with two sets of four slices of memory (MEM).
  • the read/write address generation is based on the count value of the internal counter of the controller to generate the read address of the MEM (that is, the address of the four sample points read by each butterfly operation), and it is necessary to simultaneously generate four read addresses and read the data.
  • MEM the number of the internal counter of the controller
  • the specific storage algorithm is the same as the prior art.
  • the present invention can complete a butterfly operation in one clock, so that the fast Fourier transform operation can be completed in a short time, which greatly improves the real-time performance of the system; , you can stretch the butterfly operation to 2 or 4 clocks or longer, so you can use the pipeline to complete the butterfly processing.
  • the invention realizes the 4096-point fast Fourier transform plus control circuit of the project base 4, and achieves good practical results.
  • the invention is suitable for multiplexing of fast Fourier transforms with doubling and triple times of sample points, such as 1024 points and 2048 points, 1024 points and 4096 points, etc.
  • sample points such as 1024 points and 2048 points, 1024 points and 4096 points, etc.
  • the Fourier transform operation is applicable.
  • the present invention provides a multiplexing apparatus and method for fast Fourier transform, which can provide better precision control, reduce hardware resources, or reduce the computational burden of the DSP.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Television Systems (AREA)

Description

一种快速傅里叶变换的装置及方法
技术领域
本发明涉及通讯技术,具体地说, 涉及一种快速傅里叶变换(Fast Fourier Transform, FFT ) 的装置及方法。
背景技术
StiMi技术是面向移动多媒体广播设计的无线信道传输技术,中国自主研 发的中国移动多媒体广播(China Mobile Multimedia Broadcasting , CMMB)体 系架构中的核心部分。 STiMi技术充分考虑到移动多媒体广播业务的特点, 针对手持设备接收灵敏度要求高, 移动性和电池供电的特点, 釆用最先进的 信道纠错编码和正交频分复用 (Orthogonal Frequency Division Multiplexing, OFDM)调制技术, 提高了抗干扰能力和对移动性的支持。
OFDM的基本原理是将高速串行数据变换成多路相对低速的并行数据并 对不同的载波进行调制。 这种并行传输体制大大扩展了符号的脉冲宽度, 提 高了抗多径衰落的性能。 同时使各子载波上的频语相互重叠, 但这些频谱在 整个符号周期内满足正交性, 从而不仅保证接收端能够不失真地复原信号, 而且大大提高了频谱利用率。
在 OFDM系统中, 接收机需要进行帧同步捕获和 OFDM符号同步捕获, 然后才能进行正确解调。 STiMi技术创造性地使用了时间域扩频信标用于同 步捕获, 具有同步捕获时间短、 抗载波频偏能力强、 抗信道多径时延扩展能 力强的特点。 这种方式大大减小用户开机到正常接收所需要的同步时间。 尤 其在紧急广播环境下, 可以保证用户的快速、 可靠接收。
无线信道的时域和频域响应是时变的, 多径引起的频域选择性衰落在不 同的子载波上也表现出衰落的不一致性, 因此 OFDM符号各个子载波上会出 现畸变的不均勾性。 因此, 必须釆用信道估计的办法来估计出信道的时域和 频域响应, 对接收到的数据进行校正和恢复。 STiMi釆用导频技术, 不仅保 证了复杂无线传输条件下可靠的信道估计和均衡, 而且降低解调模块硬件复 杂度, 利于芯片实现。
为了方便接收机同步, CMMB手机电视标准专门设计了同步信号, 同步 信号子载波间隔是数据子载波间隔的 2倍, 即为 4.8828125kHz, 在频域上由 一 PN序列构成, 在时域由两段完全相同的信号构成。
小数频偏会造成 OFDM子载波间的干扰, 纠正小数频偏后, 因频偏而引 起的相邻子载波间干扰已基本消除, 可正确解调 OFDM多载波信号, 此时的 解调结果与完成频率同步后的解调结果相比, 发生了偶数个子载波的偏移, 由于整数频偏 * Af )会导致 FFT运算后子载波符号数据序列周期循环移 位 导致不能正确的对数据进行解调, 所以需要对其进行估计并加以补偿; 整数频偏估计是通过估计 FFT运算后同步符号数据序列的循环移位量 A来完 成的, 同时为了保证 FFT运算处理过程中子载波之间的正交性, 需在 FFT之 前先对数据进行小数频偏补偿处理;下面利用同步符号来进行整数频偏估计。
频偏估计模块, 主要是完成对同步数据进行小数频偏估计, 并在小数频 偏补偿的基础上对数据进行 FFT运算, 再对数据进行整数频偏估计。 包含的 子模块主要有初始化同步差分序列模块、初始化三角函数表、 小数频偏估计、 小数频偏补偿、 FFT运算以及整数频偏估计。
一般情况下,频偏估计模块釆用软件或硬件实现 2048点 FFT。而 CMMB 协议规定的每个 OFDM符号包含 4096个样点, 因此需要做 4096点的 FFT。 实现的时候一般釆用两种 FFT分别实现,如图 1所示。这种方式需要 2个 FFT 模块, 造成资源浪费, 利用率低, 同时可能造成数字信号处理 (Digital Signal Processing, DSP)或软件控制难度加大, 消耗 cycle数。 发明内容
本发明要解决的技术问题是提供一种快速傅里叶变换的装置及方法, 可 提高资源利用率, 以及提供较好的精度控制。
为了解决上述问题, 本发明提供了一种快速傅里叶变换的方法, 包括: 将输入的数据复制为 M/N份后存储到 M/N个不同的地址上, 然后对存储的 数据进行 M点快速傅里叶变换, 对变换后的数据进行隔点抽取并输出, 所述 M为进行快速傅里叶变换的最大点数, N为输入数据的实际点数, 以实现快 速傅里叶变换的复用。
所述存储步骤前, 该方法还包括: 对输入的数据先判断是否是进行 M点 快速傅里叶变换, 如果是, 则直接对输入的数据进行 M点快速傅里叶变换后 输出, 如果不是, 进行所述存储步骤。
当 M=2N时, 将所述输入的数据复制为 2份后存储到 2个不同的地址上 的步骤为: 将第 i个数据复制后分别存储到地址 i与地址 N+i上; 所述 0 i N _ 1。
当 M=4N时, 将所述输入的数据复制为 4份后存储到 4个不同的地址上 的步骤为: 将第 i个数据复制后分别存储到地址 i、 地址 N+i上、 地址 2N+i 及地址 3N+i上; 所述 0 i N - 1。
在对变换后的数据进行隔点抽取的步骤中, 抽取第 2i个数据或第 2i+l 个数据, 所述 ( N - 1。
在对变换后的数据进行隔点抽取的步骤中: 抽取第 4i个数据, 或第 4i+l 个数据, 或第 4i+2个数据, 或第 4i+3个数据, 所述 0 N - 1。
本发明还提供一种快速傅里叶变换的装置, 包括数据接收模块、 数据存 储模块、 快速傅里叶变换模块及数据输出模块; 所述装置还包括地址变换模 块与数据抽取模块;
所述数据接收模块设置为: 接收输入数据;
所述地址变换模块设置为: 将接收的数据复制为 M/N份后发送至数据存 储模块;
所述数据存储模块设置为: 将收到的地址变换模块发来的数据存储到 M/N个不同的地址上;
所述快速傅里叶变换模块设置为: 对存储的数据进行 M点快速傅里叶变 换;
所述数据抽取模块设置为: 隔点抽取变换后的数据, 并将抽取后的数据 发送至数据输出模块; 所述数据输出模块设置为: 输出接收的数据;
所述 M为进行快速傅里叶变换的最大点数, N为输入数据的实际点数; 从而实现快速傅里叶变换的复用。
所述装置还包括判断模块, 所述判断模块设置为: 收到数据接收模块发 来的数据后判断是否是进行 M点快速傅里叶变换,是则将数据发送至存储模 块, 不是则将数据发送至地址变换模块。
所述数据存储模块是设置为: 当 M=2N时, 将复制后的第 i个数据分别 存储到地址 i与地址 N+i上; 所述 0 i N - 1;
或者, 所述数据存储模块是设置为: 当 M=4N时, 将复制后的第 i个数 据分别存储到地址 i、 地址 N+i上、 地址 2N+i及地址 3N+i上; 所述 0 i N - 1。
所述数据抽取模块是设置为: 当 M=2N时, 抽取第 2i个数据或第 2i+l 个数据, 所述 ( N - 1 ;
或者, 所述数据抽取模块是设置为: 当 M=4N时, 抽取第 4i个数据, 或 第 4i+l个数据, 或第 4i+2个数据, 或第 4i+3个数据, 所述 0 i N - 1。
综上所述, 本发明提供一种快速傅里叶变换的装置及方法, 可提供较好 的精度控制, 并减少硬件资源或减轻 DSP运算负担。 附图概述
图 1是现有技术中两种快速傅里叶变换分别实现的电路框图;
图 2是本发明实现 N点与 M点快速傅里叶变换的复用装置;
图 3是本发明实现 N点与 2N点快速傅里叶变换的复用方法流程图。 本发明的较佳实施方式
本发明提供一种快速傅里叶变换的复用装置及方法, 将输入的数据复制 为 M/N份后存储到 M/N个不同的地址上, 然后对存储的数据进行 M点快速 傅里叶变换, 变换后隔点抽取数据并输出, M为进行快速傅里叶变换的最大 点数, N为输入数据的实际点数。
本实施例提供一种快速傅里叶变换的复用装置, 如图 2所示, 包括数据 接收模块、 判断模块、 地址变换模块、 数据存储模块、 快速傅里叶变换模块、 数据抽取模块及数据输出模块; 数据接收模块, 用于接收输入的数据, 并将其发送至判断模块; 判断模块,用于收到数据接收模块发来的数据后判断是否是进行 M点快 速傅里叶变换, 是则将数据发送至存储模块, 否则将数据发送至地址变换模 块;
具体地, 当需要完成 N点与 2N点快速傅里叶变换的复用时, 最大点数 为 M=2N,则将接收的进行 N点快速傅里叶变换的数据发送至地址变换模块, 将接收的进行 2N点快速傅里叶变换的数据发送至数据存储模块;
当需要完成 N点与 4N点快速傅里叶变换的复用时, 最大点数为 M=4N, 则将接收的进行 N点快速傅里叶变换的数据发送至地址变换模块, 将接收的 进行 4N点快速傅里叶变换的数据发送至数据存储模块;
当需要完成 N点、 2N点与 4N点快速傅里叶变换的复用时, 最大点数为
M=4N,则将接收的进行 N点及 2N点快速傅里叶变换的数据发送至地址变换 模块, 将接收的进行 4N点快速傅里叶变换的数据发送至数据存储模块。
地址变换模块,用于将接收的数据复制为 M/N份后发送至数据存储模块; 具体地, 当需要完成 N点与 2N点快速傅里叶变换的复用时, 将接收的 进行 N点快速傅里叶变换的数据复制成 2份后发送至数据存储模块;
当需要完成 N点与 4N点快速傅里叶变换的复用时, 将接收的进行 N点 快速傅里叶变换的数据复制成 4份后发送至数据存储模块;
当需要完成 N点、 2N点与 4N点快速傅里叶变换的复用时, 将接收的进 行 N点快速傅里叶变换的数据复制成 4份后发送至数据存储模块, 将接收的 进行 2N点快速傅里叶变换的数据复制成 2份后发送至数据存储模块。
数据存储模块,用于收到地址变换模块发来的数据后将其存储到 M/N个 不同的地址上;
具体地, 当 M=2N时, 数据存储模块收到地址变换模块发来的数据后将 其存储到 2个不同的地址上可以是, 将复制后的第 i个数据分别存储到地址 i 与地址 N+i上;
当 M=4N时, 数据存储模块收到地址变换模块发来的数据后将其存储到 4个不同的地址上可以是:将复制后的第 i个数据分别存储到地址 i、地址 N+i 上、 地址 2N+i及地址 3N+i上; 0 i N - 1。
数据存储模块, 还用于存储判断模块发来的数据, 其存储方式同现有技 术。
快速傅里叶变换模块, 用于对存储的数据进行 M点快速傅里叶变换; 以 及用于当输入的数据为 N点快速傅里叶变换时, 将变换后的数据发送至数据 抽取模块, 当输入的数据为 M点快速傅里叶变换时, 将变换后的数据发送至 数据输出模块;
数据抽取模块, 用于隔点抽取接收的数据; 以及将抽取的数据发送至数 据输出模块;
隔点抽取数据具体指, 当 M=2N时, 抽取第 2i个数据或抽取第 2i+l个 数据; 当 M=4N时, 抽取第 4i个数据, 或第 4i+l个数据, 或第 4i+2个数据, 或第 4i+3个数据; 0 i N - 1。
数据输出模块, 用于输出接收的数据。
本实施例提供一种快速傅里叶变换的复用方法, 分别从 N点与 2N点快 速傅里叶变换的复用, 以及 N点与 4N点快速傅里叶变换的复用进行描述; 当需要完成 N点与 2N点快速傅里叶变换的复用时(即 M=2N ) , 可将 输入的 N点数据复制为 2N点后进行 2N点快速傅里叶变换,然后对变换后的 数据隔点抽取得到 N点快速傅里叶变换结果, 如图 3所示, 包括以下步骤: 步骤 301、 复用装置接收上层软件配置及数据;
步骤 302、判断是 N点快速傅里叶变换还是 2N点快速傅里叶变换,若为
N点快速傅里叶变换则执行步骤 303 , 否则执行步骤 304;
步骤 303、 将接收的数据复制为 2份, 并存储在两个不同的地址上, 然 后执行步骤 305; 将复制后的数据存储在 2个不同的地址上的方法可以但不限于是, 当接 收第 0个数据时, 将复制后的数据存储到地址 0与地址 N, 当接收第 1个数 据时, 将复制后的数据存储到地址 1与地址 N+1...当接收第 i个数据时, 将 复制后的数据存储到地址 i与地址 N+i, 0 < i < N - 1 ;
步骤 304、 进行数据存储, 然后执行步骤 305;
步骤 305、对存储的数据进行 2N点快速傅里叶变换, 其具体变换方式同 现有技术;
步骤 306、 输出快速傅里叶变换结果;
步骤 307、根据 N点还是 2N点变换确定是否需要隔点抽取数据,如果是 N点的快速傅里叶变换, 执行步骤 308, 否则执行步骤 309;
步骤 308、 进行隔点抽取, 即抽取第 2i个数据, 或抽取第 2i+l个数据, 0 < i < N - 1 , 然后执行步骤 309;
步骤 309、 根据快速傅里叶变换输出数据顺序进行最终结果输出。
当需要完成 N点与 4N点快速傅里叶变换的复用时(即 M=4N ) , 可将 输入的 N点数据复制为 4N点后进行 4N点快速傅里叶变换,然后对变换后的 数据隔点抽取得到 N点快速傅里叶变换结果, 包括以下步骤:
步骤 401、 复用装置接收上层软件配置及数据;
步骤 402、判断是 N点快速傅里叶变换还是 4N点快速傅里叶变换,若为 N点快速傅里叶变换则执行步骤 403 , 否则执行步骤 404;
步骤 403、 将接收的数据复制为 4份, 并存储在两个不同的地址上, 然 后执行步骤 405; 收第 0个数据时,将复制后的数据存储到地址 0、地址 N、地址 2N与地址 3N, 上; 当接收第 1个数据时, 将复制后的数据存储到地址 1、 地址 N+l、 地址 2N+1与地址 3N+1上…当接收第 i个数据时, 将复制后的数据存储到地址 i、 地址 N+i、 地址 2N+i与地址 3N+i上, 0 i N - 1; 步骤 404、 进行数据存储, 然后执行步骤 405;
步骤 405、对存储的数据进行 4N点快速傅里叶变换, 其具体变换方式同 现有技术;
步骤 406、 输出快速傅里叶变换结果;
步骤 407、根据 N点还是 4N点变换确定是否需要隔点抽取数据,如果是
N点的快速傅里叶变换, 执行步骤 408, 否则执行步骤 409;
步骤 408、 进行隔点抽取, 即抽取第 4i个数据, 或第 4i+l个数据, 或第 4i+2个数据, 或第 4i+3个数据, 0 < i < N - 1 , 然后执行步骤 409;
步骤 409、 根据快速傅里叶变换输出数据顺序进行最终结果输出。
当需要完成 N点、 2N点与 4N点快速傅里叶变换的复用时(即 M=4N ) , 可按照以上方法将输入的 N点数据复制为 4N点后进行 4N点快速傅里叶变 换, 将输入的 2N点数据复制为 4N点后也进行 4N点快速傅里叶变换, 然后 对变换后的数据隔点抽取分别得到 N点快速傅里叶变换及 2N点快速傅里叶 变换结果, 对输入的 4N点数据直接进行快速傅里叶变换, 具体操作方法同 上所述, 此处不再具体描述。
下面以完成 2048点和 4096点快速傅里叶变换的复用为例进一步说明本 发明:
步骤 1、 复用装置接收上层软件配置及数据;
步骤 2、 判断是 2048点快速傅里叶变换运算还是 4096点快速傅里叶变 换, 若为 4096点快速傅里叶变换则执行步骤 4, 否则执行步骤 3;
步骤 3、 将接收的数据复制为 2份, 并存储在两个不同的地址上, 然后 执行步骤 5; 收第 0个数据时, 将复制后的数据存储到地址 0与地址 2048, 当接收第 1个 数据时, 将复制后的数据存储到地址 1与地址 2049...当接收第 i个数据时, 将复制后的数据存储到地址 i与地址 2048+i , 0<i< 2047;
步骤 4、 进行数据存储, 然后执行步骤 5;
步骤 5、 对存储的数据进行 4096点快速傅里叶变换, 其具体变换方式同 现有技术;
进行 4096点快速傅里叶变换具体是指:
( a )对 4096个样点进行一阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096个样点被全部抽取完毕后执行(b) ;
( b )对 4096个样点进行二阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096个样点被全部抽取完毕后执行(c) ; 其样点 抽取方式不同于 (a) ;
( c )对 4096个样点进行三阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096个样点被全部抽取完毕后执行(d) ; 其样点 抽取方式不同于 (a)及(b) ;
( d )对 4096个样点进行四阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096个样点被全部抽取完毕后执行(e) ; 其样点 抽取方式不同于 (a) 、 (b)及(c) ;
( e )对 4096个样点进行五阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096个样点被全部抽取完毕后执行(f) ; 其样点 抽取方式不同于 (a) 、 (b) 、 (c)及(d) ;
( f )对 4096个样点进行六阶蝶形运算, 即每次抽取 4个样点和 3个旋 转因子进行蝶形运算, 当 4096 个样点被全部抽取完毕后快速傅里叶变换结 束, 其样点抽取方式不同于 (a) 、 (b) 、 (c) 、 (d)及(e) 。
步骤 6、 输出快速傅里叶变换结果;
步骤 7、 根据是 2048点还是 4096点快速傅里叶变换确定是否需要隔点 抽取数据, 如果是 2048点快速傅里叶变换, 执行步骤 8, 否则执行步骤 9; 步骤 8、对变换后的数据进行隔点抽取,即抽取第 2i个数据,或抽取 2i+l 个数据, 0<i<2047, 然后执行步骤 9; 步骤 9、 根据快速傅里叶变换输出数据顺序进行最终结果输出。
本应用实例中, 存储模块可釆用 2组 4片的存储器(MEM ) 实现。 读写 地址产生是根据控制器内部计数器的计数值产生 MEM的读出地址(即每次 蝶形运算读取的 4个样点的地址) , 需要同时产生 4个读地址, 并且读出的 数据要分布在 4片不同的 MEM中避免产生读取冲突。 这就要求数据地址进 行特殊存储。 具体存储算法同现有技术。
由于可以同时提取需要的所有数据, 本发明可以在一个时钟内完成一个 蝶形运算, 这样可以在短时间内完成快速傅里叶变换运算, 这样极大地提高 了系统的实时性; 如果为了节约资源, 则可以将蝶形运算拉长到 2或 4个时 钟或更长的时间, 这样可以用流水线完成蝶形处理。 本发明在项目釆用基 4 的 4096点快速傅里叶变换加控制电路实现, 取得了良好的实际效果。
本发明适合样点相差一倍及三倍的快速傅里叶变换的复用,如 1024点和 2048点, 1024点和 4096点等, 对于基 2/4/8/16的实数和复数快速傅里叶变 换运算都适用。
工业实用性 本发明提供一种快速傅里叶变换的复用装置及方法, 可提供较好的精度 控制, 并减少硬件资源或减轻 DSP运算负担。

Claims

权 利 要 求 书
1、 一种快速傅里叶变换(FFT ) 的方法, 包括: 将输入的数据复制为 M/N份后存储到 M/N个不同的地址上, 然后对存储的数据进行 M点快速傅 里叶变换, 对变换后的数据进行隔点抽取并输出, 所述 M为进行快速傅里叶 变换的最大点数, N为输入数据的实际点数, 以实现快速傅里叶变换的复用。
2、 如权利要求 1所述的方法, 其中,
所述存储步骤前, 该方法还包括: 对输入的数据先判断是否是进行 M点 快速傅里叶变换, 如果是, 则直接对输入的数据进行 M点快速傅里叶变换后 输出, 如果不是, 进行所述存储步骤。
3、 如权利要求 1所述的方法, 其中,
当 M=2N时, 将所述输入的数据复制为 2份后存储到 2个不同的地址上 的步骤为: 将第 i个数据复制后分别存储到地址 i与地址 N+i上; 所述 0 i N _ 1。
4、 如权利要求 1所述的方法, 其中,
当 M=4N时, 将所述输入的数据复制为 4份后存储到 4个不同的地址上 的步骤为: 将第 i个数据复制后分别存储到地址 i、 地址 N+i上、 地址 2N+i 及地址 3N+i上; 所述 0 i N - 1。
5、 如权利要求 3所述的方法, 其中,
在对变换后的数据进行隔点抽取的步骤中, 抽取第 2i个数据或第 2i+l 个数据, 所述 ( N - 1。
6、 如权利要求 4所述的方法, 其中,
在对变换后的数据进行隔点抽取的步骤中, 抽取第 4i个数据, 或第 4i+l 个数据, 或第 4i+2个数据, 或第 4i+3个数据, 所述 0 N - 1。
7、 一种快速傅里叶变换(FFT ) 的装置, 包括数据接收模块、 数据存储 模块、 快速傅里叶变换模块及数据输出模块; 所述装置还包括地址变换模块 与数据抽取模块; 所述数据接收模块设置为: 接收输入数据;
所述地址变换模块设置为: 将接收的数据复制为 M/N份后发送至数据存 储模块;
所述数据存储模块设置为: 将收到的地址变换模块发来的数据存储到 M/N个不同的地址上;
所述快速傅里叶变换模块设置为: 对存储的数据进行 M点快速傅里叶变 换;
所述数据抽取模块设置为: 隔点抽取变换后的数据, 并将抽取后的数据 发送至数据输出模块;
所述数据输出模块设置为: 输出接收的数据;
所述 M为进行快速傅里叶变换的最大点数, N为输入数据的实际点数; 从而实现快速傅里叶变换的复用。
8、 如权利要求 7所述的装置, 其中,
所述装置还包括判断模块, 所述判断模块设置为: 收到数据接收模块发 来的数据后判断是否是进行 M点快速傅里叶变换,是则将数据发送至存储模 块, 不是则将数据发送至地址变换模块。
9、 如权利要求 7所述的装置, 其中,
所述数据存储模块是设置为: 当 M=2N时, 将复制后的第 i个数据分别 存储到地址 i与地址 N+i上; 所述 0 i N - 1;
或者, 所述数据存储模块是设置为: 当 M=4N时, 将复制后的第 i个数 据分别存储到地址 i、 地址 N+i上、 地址 2N+i及地址 3N+i上; 所述 0 i N - 1。
10、 如权利要求 9所述的装置, 其中,
所述数据抽取模块是设置为: 当 M=2N时, 抽取第 2i个数据或第 2i+l 个数据, 所述 ( N - 1 ;
或者, 所述数据抽取模块是设置为: 当 M=4N时, 抽取第 4i个数据, 或 第 4i+l个数据, 或第 4i+2个数据, 或第 4i+3个数据, 所述 0 N - 1。
PCT/CN2010/071747 2009-04-13 2010-04-13 一种快速傅里叶变换的装置及方法 WO2010118682A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/258,485 US8649255B2 (en) 2009-04-13 2010-04-13 Device and method for fast fourier transform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910133655.5 2009-04-13
CN200910133655.5A CN101860508B (zh) 2009-04-13 2009-04-13 一种fft变换的复用装置及方法

Publications (1)

Publication Number Publication Date
WO2010118682A1 true WO2010118682A1 (zh) 2010-10-21

Family

ID=42946172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/071747 WO2010118682A1 (zh) 2009-04-13 2010-04-13 一种快速傅里叶变换的装置及方法

Country Status (3)

Country Link
US (1) US8649255B2 (zh)
CN (1) CN101860508B (zh)
WO (1) WO2010118682A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873219B (zh) * 2012-12-18 2017-09-08 北京化工大学 一种prach基带信号的idft及子载波映射实现方法
CN111339484B (zh) * 2020-02-20 2022-07-01 中国科学院自动化研究所 基于fpga的大型射电干涉阵列相关器的实现方法及装置
CN115659109B (zh) * 2022-12-29 2023-04-07 湖南毂梁微电子有限公司 非顺序访问的可配置快速傅里叶运算装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069398A (zh) * 2005-06-30 2007-11-07 诺基亚公司 用于mimo-ofdm系统的多流fft
US20070288542A1 (en) * 2006-04-28 2007-12-13 Qualcomm Incorporated Multi-port mixed-radix fft
CN101258488A (zh) * 2005-03-11 2008-09-03 高通股份有限公司 在ofdm系统中的快速傅里叶变换处理

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100628303B1 (ko) * 2004-09-03 2006-09-27 한국전자통신연구원 가변 포인트 ifft/fft 방법 및 장치
US7403881B2 (en) * 2004-10-26 2008-07-22 Texas Instruments Incorporated FFT/IFFT processing system employing a real-complex mapping architecture
US7676532B1 (en) * 2005-08-02 2010-03-09 Marvell International Ltd. Processing system and method for transform
US8271569B2 (en) * 2008-06-17 2012-09-18 Freescale Semiconductor, Inc. Techniques for performing discrete fourier transforms on radix-2 platforms
CN101630308B (zh) * 2008-07-16 2013-04-17 财团法人交大思源基金会 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101258488A (zh) * 2005-03-11 2008-09-03 高通股份有限公司 在ofdm系统中的快速傅里叶变换处理
CN101069398A (zh) * 2005-06-30 2007-11-07 诺基亚公司 用于mimo-ofdm系统的多流fft
US20070288542A1 (en) * 2006-04-28 2007-12-13 Qualcomm Incorporated Multi-port mixed-radix fft

Also Published As

Publication number Publication date
CN101860508B (zh) 2013-01-16
CN101860508A (zh) 2010-10-13
US8649255B2 (en) 2014-02-11
US20120020201A1 (en) 2012-01-26

Similar Documents

Publication Publication Date Title
US9001904B2 (en) Multi-carrier clock transport and synchronization
CN101924723B (zh) Ofdm信号解调方法和装置
CN103873397B (zh) 一种新的联合时域和频域正交频分复用接收信道估计方法
CN104168224B (zh) 频偏估计与补偿方法
CN100521665C (zh) 一种用于固定训练序列填充调制系统的迭代分解方法
CN104769904A (zh) 在ofdm接收器中通过载波间干扰检测的符号时间偏移校正
CN101068232B (zh) 得到信道时域响应方法及装置、ofdm符号精同步方法及装置
CN101119350A (zh) 正交频分复用系统、快速同步的方法和发送端设备
CN102724158A (zh) 多输入多输出正交频分复用系统时频同步方法
WO2012106893A1 (zh) 处理光正交频分复用信号的方法、装置和系统
KR101280451B1 (ko) 프리-fft 싸이클릭 쉬프트를 이용한 ofdm 시간 기반 매칭
CN101534287A (zh) 移动通信系统中进行载波频率偏移校正的方法和装置
WO2010118682A1 (zh) 一种快速傅里叶变换的装置及方法
Chen et al. Synchronization and Doppler scale estimation with dual PN padding TDS-OFDM for underwater acoustic communication
WO2012171407A1 (zh) 一种确定时间同步位置的方法及设备
TW201125406A (en) Methods and reciecer for symbol timing
WO2013155908A1 (zh) 一种re检测方法及装置
WO2012155463A1 (zh) 一种系统的同步方法及装置
WO2012109928A1 (zh) 信号处理方法、装置及系统
CN102215200B (zh) 一种整数频偏估计的方法和装置
CN103532896A (zh) 可变带宽系统的定时估计方法和装置
CN109660266B (zh) 一种信号处理方法和装置
CN106850490B (zh) 一种低复杂度的高速ofdm信号时频同步方法及系统
CN102594757A (zh) 一种粗定时和细定时同步估计装置及方法
CN114422313B (zh) 一种帧检测方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10764095

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13258485

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10764095

Country of ref document: EP

Kind code of ref document: A1