CN112214725A - 一种串行fft协处理方法及数字示波器、存储介质 - Google Patents

一种串行fft协处理方法及数字示波器、存储介质 Download PDF

Info

Publication number
CN112214725A
CN112214725A CN202011419854.5A CN202011419854A CN112214725A CN 112214725 A CN112214725 A CN 112214725A CN 202011419854 A CN202011419854 A CN 202011419854A CN 112214725 A CN112214725 A CN 112214725A
Authority
CN
China
Prior art keywords
data
index
butterfly
fft
phase factor
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.)
Granted
Application number
CN202011419854.5A
Other languages
English (en)
Other versions
CN112214725B (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.)
Shenzhen Siglent Technologies Co Ltd
Original Assignee
Shenzhen Siglent Technologies Co Ltd
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 Shenzhen Siglent Technologies Co Ltd filed Critical Shenzhen Siglent Technologies Co Ltd
Priority to CN202011419854.5A priority Critical patent/CN112214725B/zh
Publication of CN112214725A publication Critical patent/CN112214725A/zh
Application granted granted Critical
Publication of CN112214725B publication Critical patent/CN112214725B/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
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures

Landscapes

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

Abstract

本申请涉及一种串行FFT协处理方法及数字示波器、存储介质,其中串行FFT协处理方法包括:利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据;生成采样数据的蝶形索引信息和相位因子信息;利用蝶形索引信息搜索变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果。由于生成了采样数据的蝶形索引信息和相位因子信息,那么容易通过索引方式遍历变换数据,从而实现与相位因子的蝶形运算,进而提升采样数据执行时域‑频域变换的速度;技术方案能够支持大量数据点数的FFT运算,只要合理配置数据点数长度和计算分级次序即可,灵活的配置手段容易适应示波器的不同存储深度。

Description

一种串行FFT协处理方法及数字示波器、存储介质
技术领域
本发明涉及示波器技术领域,具体涉及一种串行FFT协处理方法及数字示波器、存储介质。
背景技术
示波器是设计、制造和维修电子设备不可或缺的工具,现在的示波器多以数字示波器为主,因具有波形触发、存储、显示、测量、分析等功能而日益普及,随着科技及市场需求的快速发展,数字示波器被认为是工程师们的眼睛,其将作为一种必要的工具而用来应对工程师们的测量挑战。
在当前的示波器中,快速傅立叶变换(fast Fourier transform,简称FFT)是一项很强大的分析功能,基于先进的FFT分析,设计人员可以准确地了解信号中引入的干扰信号频点、信号功率谱、信号频率构成,以及滤波电路的截频特性等。但是,受限于示波器的计算能力,示波器的FFT功能没有发挥出应有的作用,在大点数分析时存在计算速度慢、死区时间长等不利情况,严重影响示波器的FFT分析应用。
发明内容
本发明主要解决的技术问题是:如何提高示波器的FFT分析能力。为解决上述问题,本申请提供一种串行FFT协处理方法及数字示波器、存储介质。
根据第一方面,一种实施例中提供了一种串行FFT协处理方法,其包括:利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据;生成所述采样数据的蝶形索引信息和相位因子信息;利用所述蝶形索引信息搜索所述变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果;所述运算结果用于所述信号的频域分析。
所述利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据,包括:根据所述采样数据的数据点数和所述FFT加速计算内核的输入点数确定计算的分级次序;根据所述FFT加速计算内核的输入数据分级排序规则对所述采样数据中的各数据点进行重新排序,得到计算的分级次序中最高分级对应的数据索引信息;利用所述数据索引信息搜索所述采样数据,对索引结果进行分组并按组进行快速傅里叶变换,将变换结果按照自然顺序进行排列,从而得到变换数据。
所述生成所述采样数据的蝶形索引信息和相位因子信息,包括:根据预设的蝶形运算索引规则对所述采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引,并整合形成所述采样数据的蝶形索引信息;将每次分级的次序作为自变量,通过预设的相位因子计算规则生成每次分级对应的相位因子,并整合形成所述采样数据的相位因子信息。
所述蝶形运算索引规则包括:设定正整数指数幂作为步长,将所述采样数据的采样序列中每两个偶数序号或每两个奇数序号进行组合,且每个组合中的序号差值为所述步长,形成的各个组合按照自然顺序进行排列分布;所述相位因子计算规则包括:设定每次分级的次序为k,输入公式Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2 k),从而计算得到对应的相位因子;其中,exp( )为指数运算,i为虚数单位,(0:(2(m-k) -1))为从0开始到2(m-k) -1的递增矢量,m为所述采样数据的数据点数以2为底时的幂数。
所述利用所述蝶形索引信息搜索所述变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果,包括:依据计算的分级次序,利用每次分级对应的蝶形索引对所述变换数据进行搜索以得到多组索引数据,以及利用每次分级对应的蝶形索引搜索所述相位因子信息以得到各组所述索引数据分别匹配的相位因子;通过蝶形运算将各组所述索引数据与匹配的相位因子进行相乘,得到每次分级对应的乘积数据;从所述分级次序中的最高分级开始,依次蝶形运算得到每次分级对应的乘积数据,直至迭代至所述分级次序中的最低分级为止,将获取的乘积数据作为运算结果。
根据第二方面,一种实施例中提供了一种数字示波器,其包括相互通信连接的第一处理部件、第二处理部件和存储器;所述第一处理部件用于获取信号的采样数据,利用FFT加速计算内核对所述采样数据进行变换处理,生成所述采样数据的蝶形索引信息,并将变换处理得到的变换数据和所述采样数据的蝶形索引信息存入所述存储器;所述第二处理部件用于生成所述采样数据的相位因子信息,利用所述存储器中的所述蝶形索引信息搜索所述变换数据,并将索引结果和所述相位因子信息进行蝶形运算,处理得到运算结果,以及将所述运算结果存入所述存储器;所述第一处理部件还用于从所述存储器中获取所述运算结果,并对所述运算结果进行频域分析,形成分析结果。
所述第一处理部件包括计算分级模块、第一数据排序模块、第二数据排序模块和变换处理模块;所述计算分级模块用于根据所述采样数据的数据点数和所述FFT加速计算内核的输入点数确定计算的分级次序;所述第一数据排序模块用于根据所述FFT加速计算内核的输入数据分级排序规则对所述采样数据中的各数据点进行重新排序,得到计算的分级次序中最高分级对应的数据索引信息;所述变换处理模块用于利用所述数据索引信息搜索所述采样数据,对索引结果进行分组并按组进行快速傅里叶变换,得到每个分组对应的变换结果;所述第二数据排序模块用于根据预设的蝶形运算索引规则对所述采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引。
所述存储器内设有第一存储空间和第二存储空间;所述第一存储空间包括与所述分级次序对应的多个指定区域,所述多个指定区域用于依次对所述变换处理模块产生的各个分组对应的变换结果进行存储,通过各指定区域内存入数据的自然顺序排列构成所述变换数据;所述第二存储空间包括与所述分级次序对应的多个索引区域;所述多个索引区域用于依次对所述第二数据排序模块产生的每个分级对应的蝶形索引进行存储,通过各索引区域内写入数据的自然顺序排列构成所述蝶形索引信息。
所述的数字示波器还包括显示器;所述显示器与所述第一处理部件连接,用于对所述第一处理部件形成的分析结果进行显示。
根据第三方面,本发明提供了一种计算机可读存储介质,其包括程序,所述程序能够被处理器执行以实现上述第一方面中所述的方法。
本发明的有益效果是:
上述实施例提供的一种串行FFT协处理方法及数字示波器、存储介质,其中串行FFT协处理方法包括:利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据;生成采样数据的蝶形索引信息和相位因子信息;利用蝶形索引信息搜索变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果。第一方面,技术方案采样串行处理的思路,选用FFT加速计算内核对采样数据进行串行计算,可以避免以往并行处理需要巨大的乘法和加法资源的情况发生,从而提升设备计算性能;第二方面,由于生成了采样数据的蝶形索引信息和相位因子信息,那么容易通过索引方式遍历变换数据,从而实现与相位因子的蝶形运算,进而提升采样数据执行时域-频域变换的速度;第三方面,技术方案能够支持大量数据点数的FFT运算,只要合理配置数据点数长度和计算分级次序即可,灵活的配置手段容易适应示波器的不同存储深度;第四方面,在数字示波器上应用串行FFT协处理方法时,设置相互通信连接的第一处理部件、第二处理部件和存储器来执行不同的处理过程,利用第一处理部件完成排序、送数的工作,利用第二处理器完成相位因子产生、蝶形运算的工作,有助于分化单个逻辑器件的处理压力,从而提升设备的整体运算效率;第五方面,技术方案利用不同功能器件合理地分配串行FFT协处理任务,将复杂的数据排序工作集中安排在第一处理器中执行,容易实现避重就轻的软硬件设计思路,充分发挥数字示波器的数据串行FFT处理能力。
附图说明
图1为本申请实施例一中数字示波器的结构示意图;
图2为第一处理部件的结构示意图;
图3为第二处理部件的结构示意图;
图4为本申请实施例二中串行FFT协处理方法的流程图;
图5为变换处理得到变换数据的流程图;
图6为生成蝶形索引信息和相位因子信息的流程图;
图7为将索引结果和相位因子信息进行蝶形运算的流程图;
图8为一个实施例中数据排序规则的原理示意图;
图9为一个实施例中蝶形运算索引规则的原理示意图;
图10为一个实施例中谍形运算的原理示意图;
图11为一个实施例中存储器空间划分的原理示意图;
图12为一个实施例中存储器数据写入和读出的原理示意图;
图13为本申请实施例三中数字示波器的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
为清楚、准确理解本申请的技术方案,这里将对一些技术术语进行说明。
FFT(Fast Fourier Transformation),是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进而获得,本发明创造中对时域信号进行FFT处理可得到对应的频域信号。
下面将结合实施例对本申请的技术方案做具体说明。
实施例一、
请参考图1至图3,本实施例中公开一种数字示波器,其包括相互通信连接的第一处理部件11、第二处理部件12和存储器13,下面分别说明。
第一处理部件11可以采用处理器(CPU),主要用于获取信号的采样数据,利用FFT加速计算内核对采样数据进行变换处理,生成采样数据的蝶形索引信息,并将变换处理得到的变换数据和采样数据的蝶形索引信息存入存储器13。这里的FFT加速计算内核可以采用xilinx的FFT ip核,比如执行1024点的输入点数,从而按照既定的算法计算1024~4M点的FFT结果。
第二处理部件12可以采用可编程逻辑处理部件(FPGA),主要用于生成采样数据的相位因子信息,利用存储器13中的蝶形索引信息搜索变换数据,并将索引结果和相位因子信息进行蝶形运算,处理得到运算结果,以及将运算结果存入存储器13。
此外,第一处理部件11还用于从存储器13中获取运算结果,并对运算结果进行频域分析,形成分析结果。需要说明的是,频域分析是一种经典信号分析方法,是在频域范围内应用图解来评价信号性能,具体采用的方法也多种多样,比如频谱、能量谱、功率谱、倒频谱、小波等分析,甚至还能找到信号在不同频率下的信息(可能是幅度、功率、强度或相位等)。
在一个实施例中,参见图2,第一处理部件11包括计算分级模块111、第一数据排序模块112、第二数据排序模块114和变换处理模块113,分别说明如下。
计算分级模块111用于根据采样数据的数据点数和FFT加速计算内核的输入点数确定计算的分级次序。比如,对于数据点数为4M=222的采样数据,若FFT加速计算内核的输入点数为1024=210,那么还剩余12级(即12个stage)需要计算,分级次序就从12开始逐次降低为1。
第一数据排序模块112用于根据FFT加速计算内核的输入数据分级排序规则对采样数据中的各数据点进行重新排序,得到最高分级对应的数据索引信息。比如,对于采样数据,可表示为x(n)=[x(0), x(1), …… x(n-1), x(n)],且n∈[0, 222-1];若用一个函数search_index_function(data, stage)表示FFT加速计算内核的输入数据分级排序规则,则在data=x(n)、stage=12时计算得到的data_index即表示最高分级对应的数据索引信息。
变换处理模块113用于利用数据索引信息搜索采样数据,对索引结果进行分组并按组进行快速傅里叶变换,得到每个分组对应的变换结果。需要说明的是,数据索引信息表征了采样数据中各数据点的采样次序按照奇数和偶数交互排列的索引结果,那么容易通过数据索引信息找到奇数列或偶数列的数据,对于输入点数为1024点的FFT加速计算内核,可将每个奇数列或偶数列对应的1024个数据分为一组,从而对其进行快速傅里叶变换(FFT处理)。
第二数据排序模块114用于根据预设的蝶形运算索引规则对采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引。这里的蝶形运算索引规则包括:设定正整数指数幂(如2n,n为正整数)作为步长,将采样数据的采样序列中每两个偶数序号或每两个奇数序号进行组合,且每个组合中的序号差值为步长,形成的各个组合按照自然顺序进行排列分布。在得到每个分级对应的蝶形索引之后,就容易整合形成采样数据的蝶形索引信息。
在一个实施例中,参见图3,第二处理部件12包括数据输入缓存模块121、FFT加速计算内核122、地址控制器124、蝶形运算控制器123、相位因子产生器125、FFT输出缓存模块126、FFT输入缓存模块127。
其中,为了减轻第一处理部件11(如CPU)的处理负荷,可将FFT加速计算内核设置在第一处理部件12(如FPGA)内;那么,数据输入缓存模块121用于缓存第一处理部件11发送过来的采样数据,且只做缓存、不做运算;从而借助FFT加速计算内核122对数据输入缓存模块121缓存的采样数据进行变换处理,得到变换数据并存入存储器13。用户可根据系统速度和资源要求选择2n大小的FFT加速计算内核122,优选地使用1024=210输入点数的计算内核。
其中,相位因子产生器125用于生成采样数据的相位因子信息。比如,将每次分级的次序作为自变量,通过预设的相位因子计算规则生成每次分级对应的相位因子,并整合形成采样数据的相位因子信息。相位因子计算规则包括:设定每次分级的次序为k,输入公式Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2 k),从而计算得到对应的相位因子;其中,exp( )为指数运算,i为虚数单位,(0:(2(m-k) -1))为从0开始到2(m-k) -1的递增矢量,m为采样数据的数据点数以2为底时的幂数;若数据点数为4M=222,则m=22。
其中,蝶形运算控制器123用于利用存储器13中的蝶形索引信息搜索存储器13中的变换数据,并将索引结果与相位因子产生器125产生的相位因子信息进行蝶形运算,从而得到运算结果并存入存储器13。
其中,地址控制器124与FFT加速计算内核122、蝶形运算控制器123和控制器13连接,用于对存储器13进行存取数据的地址控制,从而便于FFT计算计算内核122、蝶形运算控制器123和存储器13之间分别进行数据存入和取出的操作。FFT输出缓存模块126用于对蝶形运算控制器123通过蝶形运算产生的运算结果进行缓存,并控制存入到存储器13。FFT输入缓存模块127用于从存储器13中读取蝶形索引信息和变换数据,通过缓存后传输至蝶形运算控制器123。
在一个实施例中,存储器13内设有第一存储空间和第二存储空间。那么,第一存储空间包括与分级次序对应的多个指定区域,多个指定区域用于依次对图2中变换处理模块113产生的各个分组对应的变换结果进行存储,通过各指定区域内存入数据的自然顺序排列构成变换数据。第二存储空间包括与分级次序对应的多个索引区域,多个索引区域用于依次对图2中第二数据排序模块114产生的每个分级对应的蝶形索引进行存储,通过各索引区域内写入数据的自然顺序排列构成蝶形索引信息。
在一个实施例中,图1中的数字示波器还包括显示器(图1中未进行示意)。那么,该显示器与第一处理部件11连接,用于对第一处理部件11形成的分析结果进行显示,比如显示信号的频谱图、功率谱图等信息,这里不做具体限定。
本领域的技术人员可以理解,在本实施例中,数字示波器上应用串行FFT协处理方法时,设置相互通信连接的第一处理部件、第二处理部件和存储器来执行不同的处理过程,利用第一处理部件完成排序、送数的工作,利用第二处理器完成相位因子产生、蝶形运算的工作,有助于分化单个逻辑器件的处理压力,从而提升设备的整体运算效率。此外,技术方案利用不同功能器件合理地分配串行FFT协处理任务,将复杂的数据排序工作集中安排在第一处理器中执行,容易实现避重就轻的软硬件设计思路,充分发挥数字示波器的数据串行FFT处理能力。
实施例二、
在实施例一中公开的数字示波器的基础上,本实施例中公开一种用于数字示波器的串行FFT协处理方法,该串行FFT协处理方法主要用于实施例一中的第一处理部件11和第二处理部件12。
请参考图4,公开的串行FFT协处理方法主要包括步骤S210-S230,下面分别说明。
步骤S210,利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据。例如图3,第一处理部件11获取信号的采样数据后,将采样数据发送至第二处理部件12,从而使得第二处理部件12中的FFT加速计算内核对采样数据进行变换处理,并将变换处理得到的变换数据存入存储器13。
步骤S220,生成采样数据的蝶形索引信息和相位因子信息。参见图2和图3,可利用第一处理部件11中的计算分级模块111根据采样数据的数据点数和FFT加速计算内核的输入点数确定计算的分级次序,从而由第二数据排序模块114根据预设的蝶形运算索引规则对采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引,从而整合形成蝶形索引信息,并存入存储器13。
此外,第二处理部件12中的相位因子产生器125生成采样数据的相位因子信息。比如相位因子产生器125将每次分级的次序作为自变量,通过预设的相位因子计算规则生成每次分级对应的相位因子,并整合形成采样数据的相位因子信息。
步骤S230,利用蝶形索引信息搜索变换数据,并将索引结果与相位因子信息进行蝶形运算,得到运算结果;这里的运算结果用于信号的频域分析。比如图3,第二处理部件12中的蝶形运算控制器123通过FFT输入缓存模块127从存储器13中获取蝶形索引信息,并对存储器13中的变换数据进行搜索,将蝶形索引对应的数据与相位因子产生器125生成的相位因子信息进行对应相乘,通过蝶形运算得到运算结果。
在本实施例中,参见图5,上述的步骤S210主要涉及变换处理得到变换数据的过程,具体可以包括步骤S211-S213,分别说明如下。
步骤S211,图2中第一处理部件11的计算分级模块111根据采样数据的数据点数和FFT加速计算内核的输入点数确定计算的分级次序。由于FFT加速计算内核的输入点数是一定的,那么众多的采样数据将以串行形式执行快速傅里叶变换,一帧采样数据分多少次输入到FFT加速计算内核,就将形成多少次的分级。
比如,若采样数据表示为x(n)=[x(0), x(1), …… x(n-1), x(n)],n∈[0, 222-1],那么对于每帧采样数据的数据点数为4M =222, FFT加速计算内核的输入点数为1024=210的情况,则可得计算的分级数为12,接下来将按照12个分级次序对采样数据进行快速傅里叶变换。
再比如,若采样数据表示为x(n)=[x(0), x(1), …… x(14), x(15)],那么对于每帧采样数据的数据点数为16 =24,FFT加速计算内核的输入点数为4=22的情况,则可得计算的分级数为2,接下来将按照2个分级次序对采样数据进行快速傅里叶变换。
步骤S212,图2中第一处理部件11的第一排序模块111根据FFT加速计算内核的输入数据分级排序规则对采样数据中的各数据点进行重新排序,得到最高分级对应的数据索引信息。
在一个具体实施例中,FFT加速计算内核的输入数据分级排序规则可以参考图8,将16点的采样数据x(n)=[x(0), x(1), …… x(14), x(15)]作为示例进行说明。在图8中,p表示一帧采样数据的原始采样序列,0至15代表采样数据的采样序列。
在分级为1(即stage=1)时,序列p将分为8个点的偶数列和8个点的奇数列,且分别表示为
x(偶数)=[x(0),x(2),x(4),x(6),x(8),x(10),x(12),x(14)];
x(奇数)=[x(1),x(3),x(5),x(7),x(9),x(11),x(13),x(15)]。
在分级为2(即stage=2)时,8个点的偶数列又能分成 4个点的偶数列,8个点的奇数列又能分成 4个点的奇数列,且分别表示为
x(n0)=[x(0),x(4),x(8),x(12)];
x(n1)=[x(2),x(6),x(10),x(14)];
x(n2)=[x(1),x(5),x(9),x(13)];
x(n3)=[x(3),x(7),x(11),x(15)]。
在分级为3(即stage=3)时,以2个数据点作为最小单位,还能再分一级,从而得到排序结果:[x(0), x(8)]、[x(4), x(12)]、[x(2), x(10)]、[x(6), x(14)] [x(1), x(9)]、[x(5), x(13)] [x(3), x(11)]、[x(7), x(15)]。
那么,依据图8中示意内容,可以用函数search_index_function(data, stage)表示FFT加速计算内核的输入数据分级排序规则,只需要输入采样数据data=x(n)和最高分级stage将自动返回最高分级对应的数据索引信息search_index。若将x(n)=[x(0), x(1),…… x(14), x(15)]和最高分级stage=2输入该函数,则返回的数据索引信息表示为:0、4、8、12;2、6、10、14;1、5、9、13;3、7、11、15。
步骤S213,图2中第一处理部件11的变换处理模块113利用数据索引信息搜索采样数据,对索引结果进行分组并按组进行快速傅里叶变换,将变换结果按照自然顺序进行排列,从而得到变换数据。
参见图2和图3,对于16点的采样数据x(n)=[x(0), x(1), …… x(14), x(15)],最高分级stage=2对应的数据索引信息(0、4、8、12; 2、6、10、14;1、5、9、13;3、7、11、15)保存在存储器13中,那么,变换处理模块113利用数据索引信息对采样数据进行搜索,搜索结果分为四组且分别表示为
x(n0)=[x(0),x(4),x(8),x(12)],x(n1)=[x(2),x(6),x(10),x(14)],x(n2)=[x(1),x(5),x(9),x(13)],x(n3)=[x(3),x(7),x(11),x(15)]。
变换处理模块113将各组结果x(n0)、x(n1)、x(n2)、x(n3)分别送入第二处理部件12,通过快速傅里叶变换分别得到对应的变换结果,变换结果存入存储器13并按照自然顺序进行排列之后就得到变换数据。
在本实施例中,参见图6,上述的步骤S220主要涉及生成采样数据的蝶形索引信息和相位因子信息的过程,具体可以包括步骤S221-S222,分别说明如下。
步骤S221,图2中第一处理部件11的第二排序模块114根据预设的蝶形运算索引规则对采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引,并整合形成采样数据的蝶形索引信息。
在一个具体实施中,蝶形运算索引规则包括:设定以2为底的正整数指数幂(比如2n)作为步长,将采样数据的采样序列中每两个偶数序号或每两个奇数序号进行组合,且每个组合中的序号差值为步长,形成的各个组合按照自然顺序进行排列分布。
例如图9中示意的蝶形运算索引规则,将16点的采样数据x(n)=[x(0), x(1),…… x(14), x(15)]作为示例进行说明。在分级为3(即stage=3)时,以21作为步长,每两个偶数序号或每两个奇数序号进行组合的结果为:0、2,1、3,4、6,5、7,8、10,9、11,12、14,13、15,按照自然顺序排列分布后形成蝶形索引信息。在分级为2(即stage=2)时,以22作为步长,每两个偶数序号或每两个奇数序号进行组合的结果为:0、4,1、5,2、6,3、7,8、12,9、13,10、14,11、15,按照自然顺序排列分布后形成蝶形索引信息。在分级为1(即stage=1)时,以23作为步长,每两个偶数序号或每两个奇数序号进行组合的结果为:0、8,1、9,2、10,3、11,4、12,5、13,6、14,7、15,按照自然顺序排列分布后形成蝶形索引信息。
那么,依据图9中示意内容,可以用函数butterfly_index_function(DATA,stage)表示FFT加速计算内核的输入数据分级排序规则,只需要输入原始采样序列DATA和每次分级stage则将自动返回每次分级对应的蝶形索引butterfly_index。若将DATA=[0,1,2……13,14,15]和分级stage=2输入该函数,则返回的蝶形索引表示为:0、4,1、5,2、6,3、7,8、12,9、13,10、14,11、15。
步骤S222,图3中第二处理部件的相位因子产生器125将每次分级的次序作为自变量,通过预设的相位因子计算规则生成每次分级对应的相位因子,并整合形成所述采样数据的相位因子信息。
在一个具体实施例中,预设的相位因子计算规则包括:设定每次分级的次序为k,输入公式Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2k),从而计算得到对应的相位因子;其中,exp( )为指数运算,i为虚数单位,(0:(2(m-k) -1))为从0开始到2(m-k) -1的递增矢量,m为采样数据的数据点数以2为底时的幂数。比如图10,将16点的采样数据x(n)=[x(0), x(1), …… x(14), x(15)]作为示例进行说明,由于采样数据的数据点数为16=24,则m=4;那么,在分级stage=2(即k= 2)的情况下,计算得到的相位因子分别表示为:e^(-i*2*pi/16*0*4)、e^(-i*2*pi/16*1*4)、e^(-i*2*pi/16*2*4)、e^(-i*2*pi/16*3*4)、e^(-i*2*pi/16*4*4)、e^(-i*2*pi/16*5*4)、e^(-i*2*pi/16*6*4)、e^(-i*2*pi/16*7*4) ;其中,pi为π的意思,^为幂指数,e为以2为底的意思。
在本实施例中,参见图7,上述的步骤S223主要涉及蝶形运算得到运算结果的过程,具体可以包括步骤S231-S232,分别说明如下。
步骤S231,图2中第二处理部件12的蝶形运算控制器123依据计算的分级次序,利用每次分级对应的蝶形索引对变换数据进行搜索以得到多组索引数据,以及利用每次分级对应的蝶形索引搜索相位因子信息以得到各组索引数据分别匹配的相位因子;此外,蝶形运算控制器123通过蝶形运算将各组索引数据与匹配的相位因子进行相乘,得到每次分级对应的乘积数据。
参见图10,将16点的采样数据x(n)=[x(0), x(1), …… x(14), x(15)]作为示例进行说明。在图10中,p1为16点的采样数据的采样序列,p2为利用stage=2时对应的蝶形索引(0、4,1、5,2、6,3、7,8、12,9、13,10、14,11、15)对变换数据进行搜索而得到的多组索引数据,多组索引数据可表示为:x´(0)、x´(4),x´(1)、x´(5) ,x´(2)、x´(6),x´(3)、x´(7),x´(8)、x´(12),x´(9)、x´(13), x´(10)、x´(14),x´(11)、x´(15);其中,变换数据的数据点用x´( )进行表示。由于x´(0)、x´(4)匹配的相位因子为e^(-i*2*pi/16*0*4),x´(1)、x´(5)匹配的相位因子为e^(-i*2*pi/16*1*4),x´(2)、x´(6)匹配的相位因子为e^(-i*2*pi/16*2*4),x´(3)、x´(7)匹配的相位因子为e^(-i*2*pi/16*3*4),x´(8)、x´(12)匹配的相位因子为e^(-i*2*pi/16*4*4),x´(9)、x´(13)匹配的相位因子为e^(-i*2*pi/16*5*4), x´(10)、x´(14)匹配的相位因子为e^(-i*2*pi/16*6*4),x´(11)、x´(15)匹配的相位因子为e^(-i*2*pi/16*7*4),所以通过对应相乘即可得到每次分级对应的乘积数据。
步骤S232,图2中第二处理部件12的蝶形运算控制器123从分级次序中的最高分级开始,依次蝶形运算得到每次分级对应的乘积数据,直至迭代至分级次序中的最低分级为止,将获取的乘积数据作为运算结果。
比如,在数据点数为4M =222的一帧采样数据,输入点数为1024=210的FFT加速计算内核,由于计算的分级数为12,那么从最高分级12开始,通过12次蝶形运算得到每次分级对应的乘积数据,直到分级为1的蝶形运算处理完成为止,将这12次得到的乘积数据作为运算结果。
比如,在数据点数为16=24的一帧采样数据,输入点数为4=22的FFT加速计算内核,由于计算的分级数为2,那么从最高分级2开始,通过2次蝶形运算得到每次分级对应的乘积数据,直到分级为1的蝶形运算处理完成为止,将这2次得到的乘积数据作为运算结果。
在一个实施例中,为了更加清楚地理解本实施例中的技术方案,这里将以数据点数为16=24的一帧采样数据,输入点数为4=22的FFT加速计算内核为例进行技术说明。
A1)设定data=x(n)= [x(0),x(1),……x(14),x(15)],分级stage=2,输入到函数search_index_function(data,stage),该函数返回数据索引信息data_index,具体参见图8。
A2)用data_index去搜索x(n),对索引结果进行分组,并按组送到FFT加速计算内核以进行快速傅里叶变换,变换结果按自然顺序排列从而得到变换数据。
A3)通过相位因子计算规则Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2k),计算m=4、k=stage情况下第k次分级对应的相位因子。
A4)设定DATA=[0,1,2……13,14,15],k=stage,输入到函数butterfly_index_function(DATA,stage),该函数将返回第k次分级对应的蝶形索引butterfly_index。
A5) 用butterfly_index去搜索步骤A2中的变换数据以得到多组索引数据,以及搜索步骤A3中的相位因子以得到匹配的相位因子,那么即可通过蝶形运算将各组索引数据与匹配的相位因子进行相乘,得到第k次分级对应的乘积数据。
A6)重新设置stage=1,重复步骤A3,在m=4、k=stage情况下继续计算第k次分级对应的相位因子。可以理解,在重复迭代计算过程中,k逐次减小。
A7)由于stage=1,则重复步骤A4,在k=stage的情况下继续计算第k次分级对应的蝶形索引butterfly_index。
A8)再次执行步骤A5,在k=stage的情况下继续计算第k次分级对应的乘积数据。
A9)由于分级次序k=2,1的情况下均已经完成蝶形预算,那么通过整合乘积数据得到运算结果。
在一个实施例中,为了更加清楚地理解本实施例中的技术方案,这里将以数据点数为4M=222的一帧采样数据,输入点数为1024=210的FFT加速计算内核为例进行技术说明。
A1)设定data=x(n)= [x(0),x(1),……x(n-1),x(n)],n∈[0,222-1],分级stage=12,输入到函数search_index_function(data,stage),该函数返回数据索引信息data_index。
A2)用data_index去搜索x(n),对索引结果进行分组,并按组送到FFT加速计算内核以进行快速傅里叶变换,变换结果按自然顺序排列从而得到变换数据。
A3)通过相位因子计算规则Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2k),计算m=22、k=stage情况下第k次分级对应的相位因子。
A4)设定DATA=[0,1,2……2……222-3, 222-2, 222-1],k=stage,输入到函数butterfly_index_function(DATA,stage),该函数将返回第k次分级对应的蝶形索引butterfly_index。
A5) 用butterfly_index去搜索步骤A2中的变换数据以得到多组索引数据,以及搜索步骤A3中的相位因子以得到匹配的相位因子,那么即可通过蝶形运算将各组索引数据与匹配的相位因子进行相乘,得到第k次分级对应的乘积数据。
A6)重新设置stage=stage-1,重复步骤A3,在m=22、k=stage情况下继续计算第k次分级对应的相位因子。可以理解,在重复迭代计算过程中,k逐次减小。
A7)由于stage=stage-1,则重复步骤A4,在k=stage的情况下继续计算第k次分级对应的蝶形索引butterfly_index。
A8)再次执行步骤A5,在k=stage的情况下继续计算第k次分级对应的乘积数据。
A9)重复执行步骤A6-A8,直到stage=1时的蝶形运算完成;由于分级次序k=12,11,…2,1的情况下均已经完成蝶形预算,那么通过整合乘积数据得到运算结果。
在本实施例中,参见图11,为了便于将采样数据的变换数据和蝶形索引信息写入存储器13,可对存储器13进行分区,分为第一存储空间Q1和第二存储空间Q2。
第一存储空间Q1包括与分级次序对应的多个指定区域,如0至(m-k)个指定区域,每个编号代表一个分级下的变换数据,用a(r)表示,r∈[0,(m-k)]。每份a(r)可划分为2^(m-k)个子份,用c(z)表示,z∈[0, 2^(m-k)-1];若对于采样数据的数据点数为4M、FFT加速计算内核为1024的情况,这里满足m=22、k=10。
第二存储空间Q2包括与分级次序对应的多个索引区域,如0至(m-k)-1个索引区域,每个编号代表一个分级下的蝶形索引,用b(t)表示,t∈[0, (m-k)-1]。
那么可以参考图12,将以数据点数为4M=222的一帧采样数据,输入点数为1024=210的FFT加速计算内核为例进行数据存储的技术说明。由于需要通过12级进行蝶形运算,所以图12中给出了共12级情况下a(r)和b(t)的级数关系。图3中的FFT加速计算内核122只会在第一处理部件11往第二处理部件12发送数据时启用,蝶形运算控制器123从第12级开始,读出b(11)内的蝶形索引来搜索a(12),通过蝶形运算后将第12级对应的乘积数据写入a(12);读出b(10)内的蝶形索引来搜索a(11),通过蝶形运算后将第11级对应的乘积数据写入a(11);以此类推,最终读出b(0)内的蝶形索引来搜索a(1),通过蝶形运算后将第1级对应的乘积数据写入a(1)。那么可以理解,最终存储器13中第一存储空间Q1内的存储数据即为用于频域分析的运算结果。
本领域的技术人员可以理解,技术方案采样串行处理的思路,选用FFT加速计算内核对采样数据进行串行计算,可以避免以往并行处理需要巨大的乘法和加法资源的情况发生,从而提升设备计算性能。此外,由于生成了采样数据的蝶形索引信息和相位因子信息,那么容易通过索引方式遍历变换数据,从而实现与相位因子的蝶形运算,进而提升采样数据执行时域-频域变换的速度。
实施例三、
在实施例二中公开的串行FFT协处理方法的基础上,本实施例中公开一种数字示波器。
请参考图13,数字示波器3其包括存储器31和处理器32。其中,存储器31可以被认为是计算机可读存储介质,用于存储程序,该程序可以是实施例二中串行FFT协处理方法对应的程序代码。
处理器32与存储器31连接,用于通过执行存储器31存储的程序实现串行FFT协处理方法。那么,处理器32实现的功能可以参考图4中的步骤S210-S230,以及参考图5至图7中公开的步骤,这里不再进行详细说明。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

Claims (10)

1.一种串行FFT协处理方法,其特征在于,包括:
利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据;
生成所述采样数据的蝶形索引信息和相位因子信息;
利用所述蝶形索引信息搜索所述变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果;所述运算结果用于所述信号的频域分析。
2.如权利要求1所述的方法,其特征在于,所述利用FFT加速计算内核对信号的采样数据进行变换处理,得到变换数据,包括:
根据所述采样数据的数据点数和所述FFT加速计算内核的输入点数确定计算的分级次序;
根据所述FFT加速计算内核的输入数据分级排序规则对所述采样数据中的各数据点进行重新排序,得到计算的分级次序中最高分级对应的数据索引信息;
利用所述数据索引信息搜索所述采样数据,对索引结果进行分组并按组进行快速傅里叶变换,将变换结果按照自然顺序进行排列,从而得到变换数据。
3.如权利要求2所述的方法,其特征在于,所述生成所述采样数据的蝶形索引信息和相位因子信息,包括:
根据预设的蝶形运算索引规则对所述采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引,并整合形成所述采样数据的蝶形索引信息;
将每次分级的次序作为自变量,通过预设的相位因子计算规则生成每次分级对应的相位因子,并整合形成所述采样数据的相位因子信息。
4.如权利要求3所述的方法,其特征在于,
所述蝶形运算索引规则包括:设定正整数指数幂作为步长,将所述采样数据的采样序列中每两个偶数序号或每两个奇数序号进行组合,且每个组合中的序号差值为所述步长,形成的各个组合按照自然顺序进行排列分布;
所述相位因子计算规则包括:设定每次分级的次序为k,输入公式Phase_factor= exp(-i×2π/2m×(0:(2(m-k) -1)) ×2 k),从而计算得到对应的相位因子;其中,exp( )为指数运算,i为虚数单位,(0:(2(m-k) -1))为从0开始到2(m-k) -1的递增矢量,m为所述采样数据的数据点数以2为底时的幂数。
5.如权利要求3所述的方法,其特征在于,所述利用所述蝶形索引信息搜索所述变换数据,并将索引结果与所述相位因子信息进行蝶形运算,得到运算结果,包括:
依据计算的分级次序,利用每次分级对应的蝶形索引对所述变换数据进行搜索以得到多组索引数据,以及利用每次分级对应的蝶形索引搜索所述相位因子信息以得到各组所述索引数据分别匹配的相位因子;通过蝶形运算将各组所述索引数据与匹配的相位因子进行相乘,得到每次分级对应的乘积数据;
从所述分级次序中的最高分级开始,依次蝶形运算得到每次分级对应的乘积数据,直至迭代至所述分级次序中的最低分级为止,将获取的乘积数据作为运算结果。
6.一种数字示波器,其特征在于,包括相互通信连接的第一处理部件、第二处理部件和存储器;
所述第一处理部件用于获取信号的采样数据,利用FFT加速计算内核对所述采样数据进行变换处理,生成所述采样数据的蝶形索引信息,并将变换处理得到的变换数据和所述采样数据的蝶形索引信息存入所述存储器;
所述第二处理部件用于生成所述采样数据的相位因子信息,利用所述存储器中的所述蝶形索引信息搜索所述变换数据,并将索引结果和所述相位因子信息进行蝶形运算,处理得到运算结果,以及将所述运算结果存入所述存储器;
所述第一处理部件还用于从所述存储器中获取所述运算结果,并对所述运算结果进行频域分析,形成分析结果。
7.如权利要求6所述的数字示波器,其特征在于,所述第一处理部件包括计算分级模块、第一数据排序模块、第二数据排序模块和变换处理模块;
所述计算分级模块用于根据所述采样数据的数据点数和所述FFT加速计算内核的输入点数确定计算的分级次序;
所述第一数据排序模块用于根据所述FFT加速计算内核的输入数据分级排序规则对所述采样数据中的各数据点进行重新排序,得到计算的分级次序中最高分级对应的数据索引信息;
所述变换处理模块用于利用所述数据索引信息搜索所述采样数据,对索引结果进行分组并按组进行快速傅里叶变换,得到每个分组对应的变换结果;
所述第二数据排序模块用于根据预设的蝶形运算索引规则对所述采样数据的采样序列进行重新排序,得到每次分级对应的蝶形索引。
8.如权利要求7所述的数字示波器,其特征在于,所述存储器内设有第一存储空间和第二存储空间;
所述第一存储空间包括与所述分级次序对应的多个指定区域,所述多个指定区域用于依次对所述变换处理模块产生的各个分组对应的变换结果进行存储,通过各指定区域内存入数据的自然顺序排列构成所述变换数据;
所述第二存储空间包括与所述分级次序对应的多个索引区域;所述多个索引区域用于依次对所述第二数据排序模块产生的每个分级对应的蝶形索引进行存储,通过各索引区域内写入数据的自然顺序排列构成所述蝶形索引信息。
9.如权利要求7所述的数字示波器,其特征在于,还包括显示器;所述显示器与所述第一处理部件连接,用于对所述第一处理部件形成的分析结果进行显示。
10.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-5中任一项所述的方法。
CN202011419854.5A 2020-12-08 2020-12-08 一种串行fft协处理方法及数字示波器、存储介质 Active CN112214725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011419854.5A CN112214725B (zh) 2020-12-08 2020-12-08 一种串行fft协处理方法及数字示波器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011419854.5A CN112214725B (zh) 2020-12-08 2020-12-08 一种串行fft协处理方法及数字示波器、存储介质

Publications (2)

Publication Number Publication Date
CN112214725A true CN112214725A (zh) 2021-01-12
CN112214725B CN112214725B (zh) 2021-03-02

Family

ID=74068135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011419854.5A Active CN112214725B (zh) 2020-12-08 2020-12-08 一种串行fft协处理方法及数字示波器、存储介质

Country Status (1)

Country Link
CN (1) CN112214725B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1426872A2 (en) * 2002-12-03 2004-06-09 STMicroelectronics Ltd. Linear scalable FFT/IFFT computation in a multi-processor system
CN101330489A (zh) * 2008-07-28 2008-12-24 中兴通讯股份有限公司 快速傅立叶变换/快速傅立叶反变换处理器及其处理方法
CN102016830A (zh) * 2008-03-28 2011-04-13 高通股份有限公司 带有用于快速傅立叶变换的任务列表的重用引擎及其使用方法
CN102624664A (zh) * 2011-01-10 2012-08-01 中兴通讯(美国)公司 使用阿达玛变换结合压扩变换的用于光正交频分复用的方法及系统
CN107358165A (zh) * 2017-06-15 2017-11-17 深圳市泰和安科技有限公司 基于fft滤波的方法、终端设备及计算机可读存储介质
CN111122935A (zh) * 2020-03-30 2020-05-08 深圳市鼎阳科技股份有限公司 数字示波器的频率响应调节方法及数字示波器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1426872A2 (en) * 2002-12-03 2004-06-09 STMicroelectronics Ltd. Linear scalable FFT/IFFT computation in a multi-processor system
CN102016830A (zh) * 2008-03-28 2011-04-13 高通股份有限公司 带有用于快速傅立叶变换的任务列表的重用引擎及其使用方法
CN101330489A (zh) * 2008-07-28 2008-12-24 中兴通讯股份有限公司 快速傅立叶变换/快速傅立叶反变换处理器及其处理方法
CN102624664A (zh) * 2011-01-10 2012-08-01 中兴通讯(美国)公司 使用阿达玛变换结合压扩变换的用于光正交频分复用的方法及系统
CN107358165A (zh) * 2017-06-15 2017-11-17 深圳市泰和安科技有限公司 基于fft滤波的方法、终端设备及计算机可读存储介质
CN111122935A (zh) * 2020-03-30 2020-05-08 深圳市鼎阳科技股份有限公司 数字示波器的频率响应调节方法及数字示波器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J.D. BRUGUERA ET AL: "Implementation of the FFT butterfly with redundant arithmetic", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS-II:ANALOG AND DIGITAL SIGNAL PROCESSING》 *
陈媚媚 等: "一种高性能的基-4FFT蝶形运算单元", 《电子工程师》 *

Also Published As

Publication number Publication date
CN112214725B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
US11526731B2 (en) Systems and methods for vectorized FFT for multidimensional convolution operations
Bauer et al. Phat–persistent homology algorithms toolbox
Thomas Introduction to algorithms
Rennich et al. Accelerating sparse Cholesky factorization on GPUs
Fan et al. Adaptable butterfly accelerator for attention-based NNs via hardware and algorithm co-design
Athalye et al. Generic hardware architectures for sampling and resampling in particle filters
RU2006117318A (ru) Устройство анализа характеристик документа для документа, который должен исследоваться
WO2018027706A1 (zh) Fft处理器及运算方法
Kapur et al. Proposal of a two way sorting algorithm and performance comparison with existing algorithms
Hasan FPGA implementations for parallel multidimensional filtering algorithms
US9244886B1 (en) Minimum resource fast fourier transform
Fabien-Ouellet Seismic modeling and inversion using half-precision floating-point numbers
US11914671B2 (en) Performing uncertainty quantification analysis with efficient two dimensional random fields
CN112214725B (zh) 一种串行fft协处理方法及数字示波器、存储介质
Gosse Effective band-limited extrapolation relying on Slepian series and ℓ1 regularization
Men et al. PulsarX: a new pulsar searching package-I. A high performance folding program for pulsar surveys
Christou et al. Optimal representation of multi-dimensional random fields with a moderate number of samples: Application to stochastic mechanics
Darvish Rouhani et al. Causalearn: Automated framework for scalable streaming-based causal bayesian learning using fpgas
JP2009037590A (ja) 信号処理
Alexandrino et al. Approximation algorithms for sorting permutations by length-weighted short rearrangements
Keskin et al. An efficient parallel implementation of 3D-FFT on GPU
Gissler et al. Efficient Uniform Grids for Collision Handling in Medical Simulators.
Hagerup et al. Parallel retrieval of scattered information
Bandali et al. Accelerated harmonic-balance analysis using a graphical processing unit platform
Ranjan et al. VLSI Architecture for Reversible Radix-2 FFT using Modified Carry Select Adder

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