首页 / 专利库 / 数学与统计 / 快速傅立叶变换 / 基23频域取样快速傅立叶变换的硬件结构

基23频域取样快速傅立叶变换硬件结构

阅读:891发布:2020-05-13

专利汇可以提供基23频域取样快速傅立叶变换硬件结构专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基23频域取样快速 傅立叶变换 的 硬件 结构,对N点 快速傅立叶变换 定义,包括:三级流 水 线 蝶形运算 单元,及一个 串联 的旋转单元;蝶形运算单元由数据FIFO、蝶形运算器和控制单元构成;且每一级的数据FIFO的深度均为前一级的1/2,对于第一级FIFO的深度为频域取样快速傅立叶变换变换点数N的1/2。利用本发明,每3级蝶形运算单元后级联1级旋转运算单元,在保持蝶形运算的最低计算量的同时,减少了旋转运算次数,从而显著的降低了 硬件实现 FFT变换的复杂度。本发明在无线通信、音频与视频处理等数字 信号 处理领域具有广泛的应用前景,可进一步的降低FFT变换对硬件资源的消耗。,下面是基23频域取样快速傅立叶变换硬件结构专利的具体信息内容。

3 3
1.一种基2 频域取样快速傅立叶变换硬件结构,使用基2 频域取样快速傅立叶变换
对N点快速傅立叶变换定义为方程一:
对于所述方程一中标号n与标号k的分解采用如下的方程二:
k=k1+2k2+4k3+8k4
将方程二代入方程一可得方程三:
其中:
其特征在于,包括:三级流线蝶形运算单元,即第一级蝶形运算单元、第二级蝶形运算单元和第三级蝶形运算单元;及一个串联的旋转单元;所述的蝶形运算单元由数据FIFO、蝶形运算器和控制单元构成;且每一级的数据FIFO的深度均为前一级的1/2,对于第一级蝶形运算单元FIFO的深度为频域取样快速傅立叶变换变换点数N的1/2;
所述第一级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算;
所述第二级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算,一个多路选择器以映射(-j)乘法运算,完成实部虚部的交换;
所述第三级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算,一个多路选择器以映射(-j)乘法运算,2个常系数乘法器以映射45°旋转运算;
所述第一级蝶形运算单元的运算包括:首先将前N/2点输入数据存入所述FIFO中,而蝶形运算从第(N/2+1)点数据输入开始;所述蝶形运算器的二个加/减法器,每次从FIFO中顺序读出一个数据作为被加/减数、以当前输入数据为加/减数进行运算,并将差回写入所述FIFO中、将和输出至第二级蝶形运算单元,当所有N/2次加/减运算结束后,再依次读出所述FIFO中的数据并输出至第二级蝶形运算单元;所述控制单元控制上述数据操作流程,负责选择恰当的读写数据及产生输出数据有效信号
所述第二级蝶形运算单元的蝶形运算分为两级:在进行加/减运算之前,首先要选择是否对输入数据进行(-j)乘法;
所述第三级蝶形运算单元的蝶形运算分为三级:首先确定输入数据是否做π/4旋转,然后判断是否乘以(-j),最后做加/减运算;
所述旋转单元通过一个计数器实现对所述第三级蝶形运算单元输出的数据旋转一定度;
上述输入、输出以及中间数据均为2进制补码格式。

说明书全文

3

基2 频域取样快速傅立叶变换硬件结构

技术领域

[0001] 本发明涉及数学、计算机科学以及电子与微电子技术,涉及数字信号处理(Digital Signal Processing)技术的图像与视频信号编码、音频与语音信号处理以及数字通信领域,特别涉及一种频域取样(DIF,Decimate-In-Frequency)快速傅立叶变换(FFT,Fast Fourier Transform)的硬件结构。

背景技术

[0002] 快速傅立叶变换(Fast Fourier Transform)作为数字信号处理(Digital Signal Processing)领域的基础算法,在现代信号处理与数字通信的研究和应用中具有关键性作用。根据采样方式的不同,FFT算法大致可分为时域取样(Decimate-In-Time)算法和频域取样(Decimate-In-Frequency)算法两种。对于DIF FFT算法而言,信号顺序输入,不需要重新排序,更适合实时信号处理系统的要求。
[0003] DIF FFT变换主要包括两类运算:蝶形运算和旋转运算。其中蝶形运算可通过4次实数加(减)法实现,而旋转运算一般需要4次实数乘法和4次实数加法,并且需要通过查表得到旋转系数。实验表明,旋转单元所消耗的硬件资源远大于蝶形运算单元,是决定FFT硬件实现规模的主要因素。因此如何有效的减少旋转运算的次数,已成为设计高性能DIF FFT硬件结构的关键。
[0004] 不同的标号分解方式,对应了不同的FFT算法,进而决定了硬件结构的性能。现有的DIF FFT算法主要有基2(Radix-2)算法、基4(Radix-4)算法、基8(Radix-8)算法和基2 2 2
2(Radix-2)算法。其中前三种算法的标号分解原理相类似,仅分解系数不同;而基2DIF FFT算法基于一种新的标号分解方式,在减少旋转运算的同时,保持了简洁的运算与控制流程,为目前已知较优的DIF FFT算法,近年来在涉及FFT算法与实现的研究应用中被广泛采用。以上算法的信号流程图见图1、图2和图3所示。

发明内容

[0005] 本发明要解决的技术问题是提供一种基23频域取样快速傅立叶变换的硬件结构,运算简单且控制流程简洁,可进一步的降低FFT变换对硬件资源的消耗。
[0006] 为解决上述技术问题,本发明的基23频域取样快速傅立叶变换的硬件结构,使用3
基2 频域取样快速傅立叶变换,对N点快速傅立叶变换定义为方程一:
[0007]
[0008] 对于方程一中标号n与标号k采用如下的方程二:
[0009]
[0010]
[0011] k=k1+2k2+4k3+8k4
[0012]
[0013] 将方程二代入方程一可得方程三:
[0014]
[0015]
[0016]
[0017] 其中:
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024] 其中,包括:三级流线蝶形运算单元,即第一级蝶形运算单元、第二级蝶形运算单元和第三级蝶形运算单元;及一个串联的旋转单元;所述蝶形运算单元由数据FIFO、蝶形运算器和控制单元构成;且每一级的数据FIFO的深度均为前一级的1/2,对于第一级蝶形运算单元FIFO的深度为频域取样快速傅立叶变换变换点数N的1/2;
[0025] 所述第一级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算;
[0026] 所述第二级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算,一个多路选择器以映射(-j)乘法运算,完成实部虚部的交换;
[0027] 所述第三级蝶形运算单元的蝶形运算器包括:两个加/减法器以映射加减运算,一个多路选择器以映射(-j)乘法运算,2个常系数乘法器以映射45°旋转运算;
[0028] 所述第一级蝶形运算单元的运算包括:首先将前N/2点输入数据存入所述FIFO中,而蝶形运算从第(N/2+1)点数据输入开始;所述蝶形运算器的二个加/减法器,每次从FIFO中顺序读出一个数据作为被加/减数、以当前输入数据为加/减数进行运算,并将差回写入所述FIFO中、将和输出至第二级蝶形运算单元,当所有N/2次加/减运算结束后,再依次读出所述FIFO中的数据并输出至第二级蝶形运算单元;所述控制单元控制上述数据操作流程,负责选择恰当的读写数据及产生输出数据有效信号;
[0029] 所述第二级蝶形运算单元的蝶形运算分为两级:在进行加/减运算之前,首先要选择是否对输入数据进行(-j)乘法;
[0030] 所述第三级蝶形运算单元的蝶形运算分为三级:首先确定输入数据是否做π/4旋转,然后判断是否乘以(-j),最后做加/减运算;
[0031] 所述旋转单元通过一个计数器实现对所述第三级蝶形运算单元输出的数据旋转一定度;
[0032] 上述输入、输出以及中间数据均为2进制补码格式。
[0033] 本发明提出的基23DIF FFT的硬件结构每次可将N点FFT变换分解为8个N/8点3
变换,每次分解需要对应的3级蝶形运算和1级旋转运算硬件结构来实现(即本发明的基2z
频域取样快速傅立叶变换的硬件结构)。对于采样点数N=8(z为正整数)的FFT变换,
3
共需要进行log2N次蝶形运算和(log8N-1)次旋转运算。因此,基2DIF FFT的硬件结构在减少旋转运算的次数的同时,并没有增加额外的蝶形运算次数,而且由于其采用的3级蝶形运算仅包含加减、(-j)乘法和常系数乘法运算,运算简单且控制流程简洁,因而可显著的降低FFT变换对硬件资源的消耗。
附图说明
[0034] 图1是8点的基2DIF FFT算法信号流程图;
[0035] 图2是8点的基4DIF FFT算法信号流程图;
[0036] 图3是8点的基22DIF FFT算法信号流程图;
[0037] 图4是本发明32点的基23DIF FFT算法信号流程图;
[0038] 图5是本发明的基23DIF FFT算法硬件结构框图
[0039] 图6是本发明的基23DIF FFT算法第1级蝶形运算硬件结构;
[0040] 图7是本发明的基23DIF FFT算法第2级蝶形运算硬件结构;
[0041] 图8是本发明的基23DIF FFT算法第3级蝶形运算硬件结构。

具体实施方式

[0042] 下面结合附图对本发明作进一步详细的说明。
[0043] 本发明原理:分析基22DIF FFT算法可知,对于N个采样点的FFT而言,该算法所需的旋转运算次数为(log4N-1)。当N较大时,仍需要多次的旋转运算,难以满足应用的要3
求。针对该问题,本发明提出了一种新的基2(Radix-23)DIF FFT算法,以及该算法的高性能硬件实现结构。对于N点的FFT运算,该算法仅需(log8N-1)次复数旋转运算和2log2N次加(减)法运算。相较于现有FFT算法,减少了复数旋转运算的次数,同时蝶形运算维持最低的规模,从而有效的降低了FFT硬件实现的复杂度。
[0044] 首先来看基23DIF FFT算法。
[0045] N点离散傅立叶变换(Discrete Fourier Transform)定义:
[0046]
[0047] 对于标号n与标号k采用以下的分解方式:
[0048]
[0049]
[0050] k=k1+2k2+4k3+8k4
[0051]
[0052] 将(2)式代入(1)可得:
[0053]
[0054]
[0055]
[0056] 由(3)式可知,经过以上变换,原N点FFT变换被分解为8个N/8点的FFT变换。进一步分析每个N/8点FFT变换的系数:
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063] 由于分解标号k1、k2和k3取值均为0或1,故(4)式中的三重求和可化简为3级简单的蝶形运算:(-1)k项对应于加减运算,(-j)k项对应于实虚部交换,而e-j(∏/4)k项对应于45°旋转运算。每次参与运算的2个输入系数的相对位置始终是固定的,因此运算与数据存取的控制流程均很简洁。
[0064] 综合以上(3)、(4)式可知,N点的DIF FFT变换被分解为8个N/8点的DIF FFT变换,并且每个N/8点变换的系数由输入系数经过三级蝶形运算和一次旋转运算即可获得。3 3
以上所述算法即为基2DIF FFT算法,图(4)所示为一个32点的基2DIF FFT算法信号流程图。
3
[0065] 然后来看基2DIF FFT算法的硬件结构映射。
[0066] 本发明中将基23DIF FFT算法映射为单数据反馈(Single-Datapath-Feedback)流水线(Pipeline)结构框图,见图(5)所示。每次分解的3级蝶形运算映射为3级流水线蝶形运算单元,再经过旋转单元得到最终的结果。每级的蝶形运算单元均由数据FIFO、蝶形3
运算器和控制单元构成。由于基2DIF FFT算法中每级的蝶形运算算法不同,因此对应的3级蝶形运算单元中的蝶形运算器的结构也不相同。
[0067] 第一级:将加减运算映射为2个加法器;
[0068] 第二级:将加减运算映射为2个加法器,同时将(-j)乘法运算映射为1个多路选择器,完成实部和虚部的交换;
[0069] 第三级:将加减运算映射为2个加法器、将(-j)乘法运算映射为1个多路选择器,同时将45°旋转运算映射为2个常系数乘法器。
[0070] 另外,每一级的数据FIFO的深度均为前一级的1/2。对于第一级,其FIFO的深度为DIF FFT变换点数N的1/2。
[0071] 由以上分析可知,基23DIF FFT算法每次可将N点FFT变换分解为8个N/8点变z换,每次分解需要3级蝶形运算和1级旋转运算来实现。对于采样点数N=8(z为正整数)
3
的FFT变换,共需要进行log2N次蝶形运算和(log2N-1)次旋转运算。因此,基2DIF FFT算法在减少旋转运算的次数的同时,并没有增加额外的蝶形运算次数,而且由于其采用的3级蝶形运算仅包含加减、(-j)乘法和常系数乘法运算,运算简单且控制流程简洁,因而可显著的降低FFT变换对硬件资源的消耗。
[0072] 进一步推广可知,对于不满足N=8z(z为正整数)的FFT变换,仍可利用基23DIF x y zFFT算法降低运算复杂度。首先将N分解为N=8·4·2,其中x,y,z均为非负整数;然
3 2
后分别用基2DIF FFT算法实现前x级分解、用基2DIF FFT算法实现之后的y级分解、用基2DIF FFT算法实现最后z级分解,从而得到N点FFT变换的结果。采用这种混和基变换
3 x
结构,基2DIF FFT算法所减少的运算复杂度等于对N=8FFT变换所减少的运算复杂度。
[0073] 几种主要的DIF FFT架构所消耗的硬件资源如下表1所示。理论分析与试验均3
表明,对于相同的N点FFT,基2DIF FFT架构可达到最低的硬件复杂度。例如,若N=64,
3 2
基-2DIF FFT需要1个复数旋转单元,比基-2DIF FFT少1个,比基-2DIF FFT少3个;若
3 2
N=4096,基-2DIFFFT需要3个复数旋转单元,比基-2DIF FFT少2个,比基-2DIF FFT少7个。
[0074]分解算法 旋转变换次数 加减法次数 控制复杂度
Radix-2 log2N-2 2log2N 简单
Radix-4 log4N-1 8log4N 适中
Radix-22 log4N-1 2log2N 简单
Radix-8 log8N-1 32log8N 复杂
Radix-23 log8N-1 2log2N 简单
[0075] 表1主要DIF FFT算法的运算与控制复杂度
[0076] N点的基23DIF FFT算法的硬件实现主要分为以下4个阶段,其中输入、输出以及中间数据均为2进制补码格式:
[0077] 1、第1级蝶形运算单元。由于DIF FFT算法对于数据相关性的要求,首先将前N/2点输入数据存入FIFO中,而蝶形运算从第(N/2+1)点数据输入开始;第1级的蝶形运算器仅为2个加(减)法器,每次从FIFO中顺序读出一个数据作为被加(减)数、以当前输入数据为加(减)数进行运算,并将差回写入数据FIFO中、将和输出至下一级蝶形运算单元,当所有N/2次加(减)运算结束后,再依次读出FIFO中的数据并输出至下一级蝶形运算单元;整个数据操作流程由控制单元所控制,该控制单元负责选择恰当的读写数据及产生输3
出数据有效信号,由于基2DIF FFT算法的规则性,只需通过简单的计数即可产生所有的控制信号。第1级蝶形运算单元的硬件结构如图6所示。
[0078] 2、第2级蝶形运算单元。与第1级蝶形运算单元的结构相类似,主要包括数据FIFO、蝶形运算器和控制单元3个部分。但是对于第2级蝶形运算而言,只需缓存前N/4点输入数据即可开始运算,因此数据FIFO深度为N/4;同时蝶形运算分为两级,在进行加(减)运算之前,首先要选择是否对输入数据进行(-j)乘法。对于硬件而言,实现(-j)乘法是相当简单的,只需对输入的虚部数据取反并与实部交换即可。第2级蝶形运算单元硬件结构如图7。
[0079] 3、第3级蝶形运算单元。与前两级蝶形运算单元的结构相类似,由数据FIFO、蝶形运算器和控制单元3个部分组成。其中数据FIFO的深度为N/8,也即缓存N/8点输入数据后开始运算;蝶形运算由3级运算构成,首先确定输入数据是否做π/4旋转,然后判断是否乘以(-j),最终做加(减)运算。第3级蝶形运算单元的硬件结构如图8所示,其中的π/4旋转可通过对输入数据z的实部α和虚部β做简单的常系数 乘法而实现,具体推导如下:
[0080]
[0081]
[0082]
[0083] 4、旋转单元。该单元实现对第3级蝶形运算单元输出的数据旋转一定角度,从而3
完成基2DIF FFT算法。对于每个输入数据,旋转角度如前述式(3)所示:
[0084]
[0085] 由于系数简单,通过一个计数器即可控制生成对应于每个输入数据的旋转角度,进而实现旋转变换。
[0086] 综上所述,本发明的硬件结构,可广泛应用于基于数字信号处理技术的图像与视3
频信号编码、音频与语音信号处理以及数字通信领域,并且本发明的基2DIF FFT硬件结构在减少旋转运算的次数的同时,并没有增加额外的蝶形运算次数,而且由于其采用的3级蝶形运算仅包含加减、(-j)乘法和常系数乘法运算,运算简单且控制流程简洁,因而可显著的降低FFT变换对硬件资源的消耗。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈