CN108205517B - 一种fft复用方法 - Google Patents

一种fft复用方法 Download PDF

Info

Publication number
CN108205517B
CN108205517B CN201611187723.2A CN201611187723A CN108205517B CN 108205517 B CN108205517 B CN 108205517B CN 201611187723 A CN201611187723 A CN 201611187723A CN 108205517 B CN108205517 B CN 108205517B
Authority
CN
China
Prior art keywords
fft
data
point
frequency shift
result
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
Application number
CN201611187723.2A
Other languages
English (en)
Other versions
CN108205517A (zh
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.)
8511 Research Institute of CASIC
Original Assignee
8511 Research Institute of CASIC
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 8511 Research Institute of CASIC filed Critical 8511 Research Institute of CASIC
Priority to CN201611187723.2A priority Critical patent/CN108205517B/zh
Publication of CN108205517A publication Critical patent/CN108205517A/zh
Application granted granted Critical
Publication of CN108205517B publication Critical patent/CN108205517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (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

本发明提供一种FFT复用方法,包括以下步骤:步骤1,根据外部输入的高速采样数据进行D倍抽取,并对每一项抽取数据进行数字滤波;步骤2,在连续K/D个时钟周期内,分别对滤波输出数据进行e‑2πk/K频移处理;步骤3,在连续K/D个时钟周期内,将所得到的数据进行串行转并行转换,K/D个时钟周期更新一次数据;步骤4,对D点数据分别进行D点并行FFT处理,并在K/D个周期内的每个时钟周期对FFT结果分别进行复用处理;步骤5,对由每个周期得到D点FFT结果共同组成K点FFT的结果进行重排,并按照工程需求顺序输出。

Description

一种FFT复用方法
技术领域
本发明涉及一种信号处理技术,特别是一种FFT复用方法。
背景技术
快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的一种快速算法,是描述离散信号时域和频域关系的重要数学工具,在数字信号处理方面得到广泛应用。传统的FFT算法可以采用软件、DSP、专用FFT处理芯片或者FPGA等来实现。其中,软件和DSP实现的速度较慢,不能满足数字化接收机里高速信号实时处理的要求;专用FFT处理芯片虽然速度较快,但是价格昂贵、不易广泛推广。FPGA具有资源丰富、速度快、设计灵活,近年来得到广泛的应用。
目前FPGA实现的FFT处理器设计方案按照数据流可分为串行处理与并行处理。串行处理是每次蝶形运算仅用一个蝶形单元,处理方式比较简单,运算速度相对较慢。并行处理运算速度较快,占用的资源也比较多,这对于某些空间和硬件资源都比较紧张的***来说尤其困难。因此提出了一种FFT复用方法,通过蝶形运算单元复用,采用半并行流水操作,有效平衡FPGA内部处理速度与资源消耗之间的矛盾,有效降低了对逻辑资源的需求,满足工程应用的需求。
发明内容
本发明的目的在于提供一种FFT复用方法,包括以下步骤:
步骤1,根据外部输入的高速采样数据进行D倍抽取,并对每一项抽取数据进行数字滤波;
步骤2,在连续K/D个时钟周期内,分别对滤波输出数据进行e-j2πk/K频移处理,其中,k=0~K/D-1;
步骤3,在连续K/D个时钟周期内,将所得到的数据进行串行转并行转换,K/D个时钟周期更新一次数据;
步骤4,对D点数据分别进行D点并行FFT处理,并在K/D个周期内的每个时钟周期对FFT结果分别进行复用处理;
步骤5,对由每个周期得到D点FFT结果共同组成K点FFT的结果进行重排,并按照工程需求顺序输出。
本发明与现有技术相比,其显著优点为:(1)通过蝶形运算单元复用,优化FFT模块逻辑资源占用;(2)采用半并行流水操作,提高高速数据处理能力;(3)有效平衡FPGA内部处理速度与资源消耗之间的矛盾;(4)对输出数据进行排序,降低***处理复杂度。
下面结合说明书附图对本发明做进一步描述。
附图说明
图1为本发明的方法流程图。
图2为32点并行FFT算法的数据流图。
具体实施方式
结合图1、图2,一种FFT复用方法,其特征在于,包括以下步骤:
步骤1,根据外部输入的高速采样数据进行D倍抽取,并对每一项抽取数据进行数字滤波;
步骤2,在连续K/D个时钟周期内,分别对滤波输出数据进行e-j2πk/K频移处理,其中,k=0~K/D-1;
步骤3,在连续K/D个时钟周期内,将所得到的数据进行串行转并行转换,K/D个时钟周期更新一次数据;
步骤4,对D点数据分别进行D点并行FFT处理,并在K/D个周期内的每个时钟周期对FFT结果分别进行复用处理;
步骤5,对由每个周期得到D点FFT结果共同组成K点FFT的结果进行重排,并按照工程需求顺序输出。
步骤1分对高速采样数据进行D倍抽取与滤波以下步骤:
步骤11,首先将输入的高速采样数据分相采集锁存;
步骤12,每一相数据按照D倍抽取;
步骤13,根据D倍抽取采样数据对FIR低通滤波器系数进行等效抽取准备;
步骤14,根据D倍抽取采样数据匹配D倍抽取FIR低通滤波器系数进行滤波。
步骤2具体包括以下步骤:
步骤21,根据每个K/D个周期内的e-j2πk/K频移处理,其中,k=0~K/D-1,准备频移系数;
步骤22,根据每个K/D个周期输出滤波数据与频移系数进行复乘,实现频率的搬移。
步骤4在K/D个周期内的每个时钟周期对D点并行数据的FFT结果进行复用处理,具体包括以下步骤:
步骤41,输入频移数据准备,K/D个周期内输入的数据为x(m),x(m+D),x(m+D*2),x(m++D*3),…,x(m+(K/D-1)*D)数据;
步骤42,利用FFT的频移特性在K/D个周期内用D点FFT实现K点FFT。
步骤5具体包括以下步骤:
步骤51,根据K/D个周期内每个D点FFT输出结果,转换到K点FFT的结果顺序;
步骤52,改变K/D个周期内每个周期D点FFT的频移方向,进而改变每个周期输出的FFT的结果顺序;
步骤53,对结果中的奇偶时刻的FFT结果进行相邻通道转换,实现FFT的结果顺序排列输出。
实施例
设一个64通道的滤波器组(K=64),高速信号采样率fs为2.6GHz,外部AD分成8相(进行8倍抽取,D=8)进入FPGA,每相数据率325MHz,即FPGA运行速率325MHz;滤波器组输出速率fo=fs/64=40.625MHz,每一相数据的复用倍数=fpga运行速率/输出速率=325/40.625=8,即8倍复用;具体步骤如下:
步骤1,根据外部输入的高速采样数据进行D倍抽取,并对每一项抽取数据进行数字滤波;
步骤11,首先将输入的2.6GHz高速采样数据分8相进行FPGA采集锁存;
步骤12,每一相数据按照8倍抽取;
步骤13,根据8倍抽取采样数据对FIR低通滤波器系数进行等效抽取准备;
步骤14,根据8倍抽取采样数据匹配8倍抽取FIR低通滤波器系数进行滤波。
步骤2,在连续8个时钟周期内,分别对滤波输出数据进行e-j2πk/8频移处理,其中,k=0~7;
步骤21,根据每个K/D个周期内的e-j2πk/K频移处理,其中,k=0~K/D-1,准备频移系数;
步骤22,根据每个K/D个周期输出滤波数据与频移系数进行复乘,实现频率的搬移。
步骤3,在连续8个时钟周期内,将所得到的数据进行串行转并行转换,8个时钟周期更新一次数据;
步骤4,对D点数据分别D点并行FFT处理,并在K/D个周期内的每个时钟周期对FFT结果分别进行复用处理;
步骤41,输入频移数据准备,8个周期内输入的数据为x(m),x(m+8),x(m+16),x(m+24),…,x(m+63)数据;
步骤42,利用FFT的频移特性在8个周期内用8点FFT实现64点FFT;
在每8个周期内的8点FFT数据b(m)为:
Figure BDA0001186254300000041
对b(m)进行8点FFT运算,得到的FFT结果顺序排序如表1所示。
表1 用8点FFT实现64点FFT输出结果顺序表
En8 1 0 0 0 0 0 0 0
Q0 0 63 62 61 60 59 58 57
Q1 32 31 30 29 28 27 26 25
Q2 16 15 14 13 12 11 10 9
Q3 48 47 46 45 44 43 42 41
Q4 8 7 6 5 4 3 2 1
Q5 40 39 38 37 36 35 34 33
Q6 24 23 22 21 20 19 18 17
Q7 56 55 54 53 52 51 50 49
其中,根据En8来区分每8个周期的顺序,并得到各个支路输出结果。
步骤5,对由每个周期得到8点FFT结果共同组成64点FFT的结果进行重排,并按照工程需求顺序输出。
步骤51,根据8个周期内每个8点FFT输出结果,转换到64点FFT的结果顺序,如表1所示;
步骤52,改变8个周期内每个周期8点FFT的频移方向,进而改变每个周期输出的FFT的结果顺序;
常规频移方向按照0~7顺序频移,由于频移的对称性,采用[01-12-23-34]顺序进行频移处理,结果如表2所示。
表2 改变频移后64点FFT输出结果顺序表
En8 1 0 0 0 0 0 0 0
Q0 0 63 1 62 2 61 3 60
Q1 32 31 33 30 34 29 35 28
Q2 16 15 17 14 18 13 19 12
Q3 48 47 49 46 50 45 51 44
Q4 8 7 9 6 10 5 11 4
Q5 40 39 41 38 42 37 43 36
Q6 24 23 25 22 26 21 27 20
Q7 56 55 57 54 58 53 59 52
步骤53,对结果中的奇偶时刻的FFT结果进行相邻通道转换,实现FFT的结果顺序排列输出。
首先,针对表2,将奇时刻的相邻两行进行数据对换,得到结果如表3所示。
表3 奇时刻对换后64点FFT输出结果顺序表
En8 1 0 0 0 0 0 0 0
Q0 63 62 61 60 59 58 57 56
Q1 0 1 2 3 4 5 6 7
Q2 31 33 29 35 27 37 25 39
Q3 32 30 34 28 36 26 38 24
Q4 47 49 45 51 43 53 41 55
Q5 16 14 18 12 20 10 22 8
Q6 15 17 13 19 11 21 9 23
Q7 48 46 50 44 52 42 54 40
再次,将不同行按递增顺序进行排序,如表4所示。
表4 改变行顺序后64点FFT输出结果顺序表
Figure BDA0001186254300000051
Figure BDA0001186254300000061
最后,对中间的六行在奇数时刻再作一次简单的相邻行的交换,即可得到最终按照顺序排序的FFT结果输出,如表5所示。
表5 排序后64点FFT输出结果顺序表
En8 1 0 0 0 0 0 0 0
Q1 0 1 2 3 4 5 6 7
Q6 15 14 13 12 11 10 9 8
Q5 16 17 18 19 20 21 22 23
Q2 31 30 29 28 27 26 25 24
Q3 32 33 34 35 36 37 38 39
Q4 47 46 45 44 43 42 41 40
Q7 48 49 50 51 52 53 54 55
Q0 63 62 61 60 59 58 57 56

Claims (3)

1.一种FFT复用方法,其特征在于,包括以下步骤:
步骤1,根据外部输入的高速采样数据进行D倍抽取,并对每一项抽取数据进行数字滤波;
步骤2,在连续K/D个时钟周期内,分别对滤波输出数据进行e-j2πk/K频移处理,其中,k=0~K/D-1,K为滤波器通道数;
步骤3,在连续K/D个时钟周期内,将所得到的数据进行串行转并行转换,K/D个时钟周期更新一次数据;
步骤4,对D点数据分别进行D点并行FFT处理,并在K/D个周期内的每个时钟周期对FFT结果分别进行复用处理;
步骤5,对由每个周期得到D点FFT结果共同组成K点FFT的结果进行重排,并按照工程需求顺序输出;
其中,步骤4在K/D个周期内的每个时钟周期对D点并行数据的FFT结果进行复用处理,具体包括以下步骤:
步骤41,输入频移数据准备,K/D个周期内输入的数据为x(m),x(m+D),x(m+D*2),x(m+D*3),…,x(m+(K/D-1)*D)数据;
步骤42,利用FFT的频移特性在K/D个周期内用D点FFT实现K点FFT;
其中,步骤5具体包括以下步骤:
步骤51,根据K/D个周期内每个D点FFT输出结果,转换到K点FFT的结果顺序;
步骤52,改变K/D个周期内每个周期D点FFT的频移方向,进而改变每个周期输出的FFT的结果顺序;
步骤53,对结果中的奇偶时刻的FFT结果进行相邻通道转换,实现FFT的结果顺序排列输出。
2.根据权利要求1所述的方法,其特征在于,步骤1中对高速采样数据进行D倍抽取与滤波包括以下步骤:
步骤11,首先将输入的高速采样数据分相采集锁存;
步骤12,每一相数据按照D倍抽取;
步骤13,根据D倍抽取采样数据对FIR低通滤波器系数进行等效抽取准备;
步骤14,根据D倍抽取采样数据匹配D倍抽取FIR低通滤波器系数进行滤波。
3.根据权利要求1所述的方法,其特征在于,步骤2具体包括以下步骤:
步骤21,根据每个K/D个周期内的e-j2πk/K频移处理,其中,k=0~K/D-1,准备频移系数;
步骤22,根据每个K/D个周期输出滤波数据与频移系数进行复乘,实现频率的搬移。
CN201611187723.2A 2016-12-20 2016-12-20 一种fft复用方法 Active CN108205517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611187723.2A CN108205517B (zh) 2016-12-20 2016-12-20 一种fft复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611187723.2A CN108205517B (zh) 2016-12-20 2016-12-20 一种fft复用方法

Publications (2)

Publication Number Publication Date
CN108205517A CN108205517A (zh) 2018-06-26
CN108205517B true CN108205517B (zh) 2021-06-08

Family

ID=62604316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611187723.2A Active CN108205517B (zh) 2016-12-20 2016-12-20 一种fft复用方法

Country Status (1)

Country Link
CN (1) CN108205517B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339484B (zh) * 2020-02-20 2022-07-01 中国科学院自动化研究所 基于fpga的大型射电干涉阵列相关器的实现方法及装置
CN112732339B (zh) * 2021-01-20 2022-09-13 上海微波设备研究所(中国电子科技集团公司第五十一研究所) 一种分时复用时间抽取fft实现方法、***及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063411A (zh) * 2009-11-17 2011-05-18 中国科学院微电子研究所 一种基于802.11n的FFT/IFFT处理器
CN102831099A (zh) * 2012-07-27 2012-12-19 西安空间无线电技术研究所 一种3072点fft运算的实现方法
CN104123266A (zh) * 2014-07-23 2014-10-29 电子科技大学 一种数吉赫兹采样率下的极低延迟快速傅里叶变换方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014013726A1 (ja) * 2012-07-18 2014-01-23 日本電気株式会社 Fft回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063411A (zh) * 2009-11-17 2011-05-18 中国科学院微电子研究所 一种基于802.11n的FFT/IFFT处理器
CN102831099A (zh) * 2012-07-27 2012-12-19 西安空间无线电技术研究所 一种3072点fft运算的实现方法
CN104123266A (zh) * 2014-07-23 2014-10-29 电子科技大学 一种数吉赫兹采样率下的极低延迟快速傅里叶变换方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《A low power radix-2 FFT accelerator for FPGA》;Soumak Mookherjee 等;《Conference: Asilomar Conference for Signal, System and Computer》;20151130;全文 *
《A pipelined architecture for normal I/O order FFT》;Xue Liu 等;《Journal of Zhejiang University: Science C》;20110130;第12卷(第1期);全文 *
《基于FPGA的高性能浮点型FFT处理器设计》;许朋 等;《武汉大学学报(工学版)》;20150201;第48卷(第1期);全文 *

Also Published As

Publication number Publication date
CN108205517A (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
CN101567701B (zh) 一种高效多路数字下变频器***
CN102355273B (zh) 数字信道化方法及电路
CN108205517B (zh) 一种fft复用方法
CN111786688B (zh) 一种基于嵌入式gpu的宽带并行信道化接收方法
CN103106180A (zh) 恒定几何形状***基fft
CN104967428B (zh) 用于fpga的高速高阶fir滤波器的频域实现方法
CN102403986B (zh) 多通道的cic抽取滤波器及其实现方法
CN100574098C (zh) 基于可编程逻辑器件的插值cic滤波器及实现方法
CN103268308A (zh) 支持混合基dft的计算装置及方法
CN104333348B (zh) 一种高阶数字滤波***及方法
CN113346871A (zh) 多通道多相多速率适配fir数字滤波处理架构
WO2016179740A1 (zh) 处理信号的方法及装置
CN106842144A (zh) 并行多相结构数字脉压方法
CN101360087B (zh) 基带成形srrc数字滤波器的低复杂度实现装置及方法
CN105446702A (zh) 一种基于串行fft ip核的宽带数字信道化并行处理方法
CN105791197B (zh) 一种偏移正交多载波***的脉冲成形滤波器
CN109951173B (zh) 一种多路并行输入并行处理的fir滤波方法及滤波器
CN117040486A (zh) 一种多档数字滤波器及宽带数字接收机
CN110032707B (zh) 一种基于fpga的四进小波多通道信号处理方法
CN111722027A (zh) 基于fpga的相位噪声数据流处理装置及方法
Mankar et al. FPGA implementation of 16-point radix-4 complex FFT core using NEDA
CN105975436A (zh) 一种SoC***中通用可配置加速单元的IP电路
CN109921764A (zh) 4倍内插积分梳状cic滤波器高速并行算法
CN112818526B (zh) 一种非均匀图滤波器组的分布式设计方法
Ramesha et al. A novel Architecture of FBMC Transmitter using Poly phase Filtering and its FPGA implementation

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