CN112307423B - 基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 - Google Patents
基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 Download PDFInfo
- Publication number
- CN112307423B CN112307423B CN202011298859.7A CN202011298859A CN112307423B CN 112307423 B CN112307423 B CN 112307423B CN 202011298859 A CN202011298859 A CN 202011298859A CN 112307423 B CN112307423 B CN 112307423B
- Authority
- CN
- China
- Prior art keywords
- butterfly operation
- delay
- unit
- butterfly
- aco
- 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.)
- Active
Links
Classifications
-
- 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
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
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)
Abstract
本发明属于数字信号处理技术领域,具体涉及一种基于基2SDF流水线型的FFT处理器,包括四个依次串接的蝶形运算模块,蝶形运算模块之间设置有旋转因子存储单元,蝶形运算模块包括:蝶形运算单元,用于对输入采样数据以及上一级缓存的数据进行蝶形运算中的加减操作,并产生两个运算结果;延迟单元,用于对蝶形运算单元的输出数据进行延时操作,采用D触发器级联实现***所规定的延迟;以及控制单元,用于负责生成各级旋转因子的地址以及四个蝶形运算单元的控制信号,完成旋转因子的调用与各个蝶形运算单元内部信号的选通。与现有技术相比,本发明通过采用基2 SDF流水线型FFT处理器,有效地优化了ACO‑OFDM***的实现。
Description
技术领域
本发明属于数字信号处理技术领域,具体涉及一种基于基2SDF流水线型的FFT处理器及其在ACO-OFDM***的实现方法。
背景技术
随着社会的快速发展和信息化的普及,无线网络在不断地提供可提供的容量和频谱效率,然而,由于频谱资源有限,且大部分的频谱已经被授权占用,无线频段变得越来越拥挤,造成频谱资源短缺的现象。而近年来新兴的可见光通信(Visible LightCommunication,VLC)技术由于具有高速率、大带宽的特点,而且无需光纤等有线信道的传输介质,在空气中可以直接传输光信号,成为了解决频谱饱和危及的有效技术。
其中,非对称限幅正交频分复用(Asymmetrically Clipped Optical OFDM,ACO-OFDM)调制是高速VLC的重要调制方式之一,它的调制和解调是分别基于IFFT(快速傅里叶反变换)和FFT(快速傅立叶变换)来实现的,是实现复杂度最低、应用最广的一种多载波传输方案。但是目前对于ACO-OFDM调制技术的研究大多集中于对传输性能的分析与提升,而对于具体实现方式的研究仍相对欠缺。
因此,现有技术还有待发展。
发明内容
本发明的目的在于:针对现有技术的不足,而提供的一种基于基2SDF流水线型的FFT处理器,有效地优化了ACO-OFDM***的实现。
为实现上述目的,本发明采用如下技术方案:
基于基2SDF流水线型的FFT处理器,包括四个依次串接的蝶形运算模块,每个所述蝶形运算模块之间设置有旋转因子存储单元,以用于根据输入地址完成对应旋转因子的调用,其中,所述蝶形运算模块包括:
蝶形运算单元,用于对输入采样数据以及上一级缓存的数据进行蝶形运算中的加减操作,并产生两个运算结果,其中的一个运算结果按照当前的所述蝶形运算单元规定的延时进行缓存,另一个与所述旋转因子相乘;
延迟单元,用于对所述蝶形运算单元的输出数据进行延时操作,采用D触发器级联实现***所规定的延迟;以及
控制单元,用于负责生成各级旋转因子的地址以及四个所述蝶形运算单元的控制信号,完成所述旋转因子的调用与各个所述蝶形运算单元内部信号的选通。
作为对本发明中所述的基于基2SDF流水线型的FFT处理器的改进,所述蝶形运算模块还包括输入路径、反馈路径和输出路径,所述输入路径、所述反馈路径和所述输出路径均与所述蝶形运算单元连接,且所述反馈路径设置于所述形运算单元与所述延迟单元之间,其中,前一半的输入数据经所述反馈路径进入所述延迟单元,并与后一半的输入数据共同进入所述蝶形运算单元,输出数据的前一半传输至下一级的所述蝶形运算模块,后一半的输入数据经过当前的所述蝶形运算模块的规定延时后延迟输出。
作为对本发明中所述的基于基2SDF流水线型的FFT处理器的改进,所述蝶形运算单元包括两个复数加法器、一个复数乘法器和两个多路选择器。
作为对本发明中所述的基于基2SDF流水线型的FFT处理器的改进,所述旋转因子存储单元包括ROM存储器,旋转因子由软件Matlab生成并存储在所述ROM存储器中。
与现有技术相比,本发明通过采用基2SDF流水线型的FFT处理器,在运算的过程中,只需很少的计算量就可以完成整个DFT的运算,提高了运算的效率,在ACO-OFDM***中,能够有效地完成时域与频域信号的相互转换,优化了ACO-OFDM***的实现,将该FFT模块在ACO-OFDM***中进行仿真验证,在150MHz的***时钟下,FFT模块输出延迟为990ns,功能表现正常。
本发明还提出了一种基于基2SDF流水线型的FFT处理器在ACO-OFDM***的实现方法,包括以下步骤:
步骤一、分别建立FFT模块与ACO-OFDM调制解调***;
步骤二、利用FFT模块完成时域与频域型号的相互转换;
步骤三、使用软件Modelsim与Matlab对ACO-OFDM调制解调***进行联合仿真。
本发明设计了一种基2SDF流水线型FFT处理器,同时完成了ACO-OFDM调制解调***的建立,将该FFT模块在ACO-OFDM***中进行仿真验证,在150MHz的***时钟下,FFT模块输出延迟为990ns,功能表现正常。
作为对本发明中所述的基于基2SDF流水线型的FFT处理器的ACO-OFDM***实现方法的改进,所述FFT模块为上述任意一段中所述的基于基2SDF流水线型的FFT处理器。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中基2蝶形运算图;
图2为现有技术中16点基2DIF-FFT运算流程示意图;
图3为本发明中的基2SDF流水线型FFT的架构图;
图4为本发明中蝶形运算单元的示意图;
图5为本发明中控制单元的示意图;
图6为本发明中控制单元端口示意图;
图7为本发明中延迟单元端口示意图;
图8为本发明中反馈路径的示意图;
图9为本发明中旋转因子存储单元端口示意图;
图10为本发明中ACO-OFDM***仿真波形图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。
如图1~10所示,一种基于基2SDF流水线型的FFT处理器,包括四个依次串接的蝶形运算模块,每个蝶形运算模块之间设置有旋转因子存储单元,以用于根据输入地址完成对应旋转因子的调用,其中,蝶形运算模块包括:
蝶形运算单元BF2,包括两个复数加法器、一个复数乘法器和两个多路选择器,如图3所示,在一个N/2时钟周期中,输入采样数据存储在N/2长度的缓存中。当数据xn+N/2到达后,BF2对数据xn+N/2以及上一级缓存的xn数进行蝶形运算中的加减操作,并产生两个运算结果,其中一个数据按照当前BF2所规定的延时进行缓存,另一个则输入乘法器单元,与旋转因子相乘;
控制单元,其结构如图4中所示,用于负责生成各级旋转因子的地址以及四个蝶形运算单元控制信号S0,S1,S2,S3,完成旋转因子的调用与各个所述蝶形运算单元内部信号的选通,第0级地址通过计数器生成,其余各级地址通过第0级地址生成。控制单元端口分配如图5所示,各端口的具体含义如表1所示:
表1控制单元端口
以及延迟单元,用于对蝶形运算单元BF2的输出数据进行延时操作,采用D触发器级联实现***所规定的延迟,在stage1-stage4中,延迟长度分别为8、4、2和1,该单元根据调用蝶形运算单元的延迟参数实现数据的存储与延迟输出。延迟单元端口分配如图6所示,各端口的具体含义如表2所示。
表2延迟单元端口定义
另外,蝶形运算模块还包括输入路径、反馈路径和输出路径,输入路径、反馈路径和输出路径均与蝶形运算单元连接,且反馈路径设置于形运算单元与延迟单元之间,如图4所示,前一半的输入数据经反馈路径进入延迟单元,并与后一半的输入数据共同进入所述蝶形运算单元,输出数据的前一半传输至下一级的所述蝶形运算模块,后一半的输入数据经过当前的蝶形运算模块BF2的规定延时后延迟输出。
旋转因子存储单元的功能是根据输入地址完成对应旋转因子的调用,该单元采用离线生成旋转因子方法,主要由ROM存储器组成。旋转因子由Matlab生成并存储在ROM存储器中,其中,实部与虚部各分配8个16位旋转因子。单元端口如图7所示,各端口定义如表3所示。
表3旋转因子存储单元端口定义
需要说明的是,本发明的蝶形运算模块主要基于基2蝶形算法进行研发,其中,传统的DFT(Discrete Fourier Transform,离散傅里叶变换)算法如(1)所示:
其中,x(n)表示时域的输入序列,表示旋转因子,X(k)为频域的输出序列,N表示离散傅里叶变换的点数。这种运算方式的缺点在于处理大规模数据时运算复杂度过高,不适用于高速数字信号传输。针对这一情况,J.W.库利和T.W.图基于1965年提出基-2FFT算法。常用的基2蝶形运算包括时间抽取(Decimation in Time,DIT)和频率抽取(Decimation in Frequency,DIF)两种方法。两种方法都是通过将N点数据看成两个N/2点数据进行蝶形运算,然后重复该过程直到N等于2,经此过程可大幅缩减DFT的运算量。
按频率抽取的蝶形运算是将输出序列X(k)按照奇偶进行分组,从而简化运算。现将序列x(n)按照输入顺序分为两组,并对每组作1所示的傅里叶变换,如公式2所示:
在(2)中,对第二项中的n以n+N/2代替,并对旋转因子进行提取,结果如(3)所示:
对(3)按照k的奇偶进行分组,同时利用旋转因子的可约性,如(4)与(5)所示:
其中,x1(n)与x2(n)满足如公式(4)与(5)所示关系:
对公式(4)与(5)的运算过程,可通过如图1所示的蝶形运算过程表示。以16点基2DIF-FFT为例,运算过程如图2所示。在第一级中,16点数据中分为前后两部分,每两点数据做如图1所示的蝶形运算,先进行前后项相加减,再乘上旋转因子。在第二级中,将8点DFT的继续分解为两个4点的DFT。继续这一过程直至分成两两一组的DFT运算单元,只需要很少的计算量就可以完成整个DFT运算。
基于基2SDF流水线型的FFT处理器在ACO-OFDM***的实现方法,其特征在于,包括以下步骤:
步骤一、分别建立FFT模块与ACO-OFDM调制解调***,其中,该FFT模块为上述的基于基2SDF流水线型的FFT处理器
步骤二、利用FFT模块完成时域与频域型号的相互转换;
步骤三、使用软件Modelsim与Matlab对ACO-OFDM调制解调***进行联合仿真,结果如图10所示,信号源为Matlab生成的随机数,时钟频率为150MHz。在第600ns处,din_valid拉高,数据输入,在第4510ns处,解调后的串行信号输出,可以看出解调的信号与信号源基本相同,***能够正确运行。
上述说明示出并描述了本发明的若干优选实施方式,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施方式的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (2)
1.基于基2SDF流水线型的FFT处理器,其特征在于,包括四个依次串接的蝶形运算模块,每个所述蝶形运算模块之间设置有旋转因子存储单元,以用于根据输入地址完成对应旋转因子的调用,其中,所述蝶形运算模块包括:
蝶形运算单元,用于对输入采样数据以及上一级缓存的数据进行蝶形运算中的加减操作,并产生两个运算结果,其中的一个运算结果按照当前的所述蝶形运算单元规定的延时进行缓存,另一个与所述旋转因子相乘;
所述蝶形运算单元包括两个复数加法器、一个复数乘法器和两个多路选择器;
所述旋转因子存储单元包括ROM存储器,旋转因子由软件Matlab生成并存储在所述ROM存储器中,其中,实部与虚部各分配8个16位旋转因子;
延迟单元,用于对所述蝶形运算单元的输出数据进行延时操作,采用D触发器级联实现***所规定的延迟;以及
控制单元,用于负责生成各级旋转因子的地址以及四个所述蝶形运算单元的控制信号,完成所述旋转因子的调用与各个所述蝶形运算单元内部信号的选通;
所述蝶形运算模块还包括输入路径、反馈路径和输出路径,所述输入路径、所述反馈路径和所述输出路径均与所述蝶形运算单元连接,且所述反馈路径设置于所述形运算单元与所述延迟单元之间,其中,前一半的输入数据经所述反馈路径进入所述延迟单元,并与后一半的输入数据共同进入所述蝶形运算单元,输出数据的前一半传输至下一级的所述蝶形运算模块,后一半的输入数据经过当前的所述蝶形运算模块的规定延时后延迟输出;
所述FFT处理器在ACO-OFDM***中进行仿真验证,在150MHz的***时钟下,FFT模块的输出延迟为990ns;
其运算过程,在第二级中,将N/2点DFT的继续分解为两个N/4点的DFT,继续这一过程直至分成两两一组的DFT运算单元,以减少计算量。
2.基于基2SDF流水线型的FFT处理器在ACO-OFDM***的实现方法,FFT模块为权利要求1所述的基于基2SDF流水线型的FFT处理器,其特征在于,所述实现方法包括以下步骤:
步骤一、分别建立FFT模块与ACO-OFDM调制解调***;
步骤二、利用FFT模块完成时域与频域型号的相互转换;
步骤三、使用软件Modelsim与Matlab对ACO-OFDM调制解调***进行联合仿真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298859.7A CN112307423B (zh) | 2020-11-19 | 2020-11-19 | 基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298859.7A CN112307423B (zh) | 2020-11-19 | 2020-11-19 | 基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307423A CN112307423A (zh) | 2021-02-02 |
CN112307423B true CN112307423B (zh) | 2023-09-22 |
Family
ID=74335117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298859.7A Active CN112307423B (zh) | 2020-11-19 | 2020-11-19 | 基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307423B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587469A (zh) * | 2009-06-03 | 2009-11-25 | 北京大学深圳研究生院 | 可变长度的快速傅立叶变换装置 |
CN101894096A (zh) * | 2010-06-24 | 2010-11-24 | 复旦大学 | 一种适用于cmmb和dvb-h/t的fft运算电路结构 |
CN101937423A (zh) * | 2009-07-01 | 2011-01-05 | 中兴通讯股份有限公司 | 一种流水式fft/ifft的处理*** |
WO2018027706A1 (zh) * | 2016-08-10 | 2018-02-15 | 深圳市汇顶科技股份有限公司 | Fft处理器及运算方法 |
-
2020
- 2020-11-19 CN CN202011298859.7A patent/CN112307423B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587469A (zh) * | 2009-06-03 | 2009-11-25 | 北京大学深圳研究生院 | 可变长度的快速傅立叶变换装置 |
CN101937423A (zh) * | 2009-07-01 | 2011-01-05 | 中兴通讯股份有限公司 | 一种流水式fft/ifft的处理*** |
CN101894096A (zh) * | 2010-06-24 | 2010-11-24 | 复旦大学 | 一种适用于cmmb和dvb-h/t的fft运算电路结构 |
WO2018027706A1 (zh) * | 2016-08-10 | 2018-02-15 | 深圳市汇顶科技股份有限公司 | Fft处理器及运算方法 |
Non-Patent Citations (1)
Title |
---|
可见光通信基站***中关键技术研究;叶崇光;《万方》;20200824;第2-5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN112307423A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
He et al. | Designing pipeline FFT processor for OFDM (de) modulation | |
Lin et al. | A 1-gs/s fft/ifft processor for uwb applications | |
Saeed et al. | Efficient FPGA implementation of FFT/IFFT processor | |
WO2017000756A1 (zh) | 基于3072点快速傅里叶变换的数据处理方法及处理器、存储介质 | |
KR20060131864A (ko) | 인-플레이스 계산 동안 최소 대기시간을 위해 분할된메모리를 구비하는 고속 퓨리에 변환 회로 | |
CN112231626A (zh) | 一种fft处理器 | |
KR20020034746A (ko) | 고속 및 면적효율적인 알고리즘을 적용한 고속 프리에변환 프로세서 | |
Elango et al. | VLSI implementation of an area and energy efficient FFT/IFFT core for MIMO-OFDM applications | |
CN107391439B (zh) | 一种可配置快速傅里叶变换的处理方法 | |
Jafri et al. | FPGA implementation of UFMC based baseband transmitter: Case study for LTE 10MHz channelization | |
Revanna et al. | A scalable FFT processor architecture for OFDM based communication systems | |
CN112307423B (zh) | 基于基2sdf流水线型的fft处理器及其在aco-ofdm***的实现方法 | |
Xiao et al. | VLSI design of low‐cost and high‐precision fixed‐point reconfigurable FFT processors | |
Lin et al. | Low-cost FFT processor for DVB-T2 applications | |
Kang et al. | A design and implementation of 32-paths parallel 256-point FFT/IFFT for optical OFDM systems | |
CN112364589A (zh) | 用于fft处理器芯片设计的新型改良蝶形单元算法结构 | |
Lin et al. | Expandable MDC-based FFT architecture and its generator for high-performance applications | |
CN110069746A (zh) | 一种应用于td-lte中点数可变的ifft处理装置 | |
CN101354701B (zh) | 一种实现基4fft/ifft计算的fft处理器 | |
CN112149046A (zh) | 一种基于并行时分复用技术的fft处理器及处理方法 | |
KR100576520B1 (ko) | 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서 | |
CN112597432A (zh) | 基于fft算法的复序列互相关在fpga上的加速实现方法及*** | |
Kumar et al. | Performance Analysis of FPGA based Implementation of FFT Architecture with Pruning Algorithm for Industrial Applications | |
Cardarilli et al. | Design and FPGA Implementation of a Low Power OFDM Transmitter for Narrow-Band IoT. | |
CN114422315B (zh) | 一种超高吞吐量ifft/fft调制解调方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |