CN112800387B - 基-6蝶形运算单元、方法、电子设备及存储介质 - Google Patents

基-6蝶形运算单元、方法、电子设备及存储介质 Download PDF

Info

Publication number
CN112800387B
CN112800387B CN202110338383.3A CN202110338383A CN112800387B CN 112800387 B CN112800387 B CN 112800387B CN 202110338383 A CN202110338383 A CN 202110338383A CN 112800387 B CN112800387 B CN 112800387B
Authority
CN
China
Prior art keywords
operation unit
radix
bits
shifting
unit
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
CN202110338383.3A
Other languages
English (en)
Other versions
CN112800387A (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.)
Xinyi Information Technology Shanghai Co ltd
Original Assignee
Xinyi Information Technology Shanghai 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 Xinyi Information Technology Shanghai Co ltd filed Critical Xinyi Information Technology Shanghai Co ltd
Priority to CN202110338383.3A priority Critical patent/CN112800387B/zh
Publication of CN112800387A publication Critical patent/CN112800387A/zh
Application granted granted Critical
Publication of CN112800387B publication Critical patent/CN112800387B/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

本发明实施例涉及信号处理领域,公开了一种基‑6蝶形运算单元、方法、电子设备及存储介质。本发明中,基‑6蝶形运算单元,包括:第一层运算单元,用于对输入的时域信号进行第一层运算;第二层运算单元,用于根据第一层运算的运算结果,进行第二层运算;第三层运算单元,用于根据第一层运算的运算结果和第二层运算的运算结果,进行第三层运算;第四层运算单元,用于根据第一层运算的运算结果、第二层运算的运算结果和第三层运算的运算结果,进行第四层运算,得到频域信号。本发明的基‑6蝶形运算单元,可以实现减少计算时间,节省计算资源,提高计算效率。

Description

基-6蝶形运算单元、方法、电子设备及存储介质
技术领域
本发明实施例涉及信号处理领域,特别涉及一种基-6蝶形运算单元、方法、电子设备及存储介质。
背景技术
离散傅里叶变换(Discrete Fourier Transform,简称“DFT”)是信号处理中的最基本方法,用于将信号从时间域变换到频率域,其计算公式如下所示:
Figure 406582DEST_PATH_IMAGE001
DFT将生成的DFT矩阵F与输入的时域向量做乘法运算,可以看出,对于N个信号采样点,DFT共需要执行N的平方次复数乘法和N(N-1)次复数加法,复杂度高,实现成本高。快速傅里叶变换FFT(Fast Fourier Transform,简称“FFT”)作为离散傅里叶变换DFT(Discrete Fourier Transform,简称“DFT”)的高效计算方法,在数字信号处理领域发挥着重要作用,用于实现信号的调制和解调。
典型的FFT处理器,例如在Cooley, James W.与 Tukey, John W. 1965年发表在《Mathematics Of Computation》第19期第297-301页的论文“An algorithm for themachine calculation of complex Fourier series”和美国专利US5233551A: Radix-12DFT/FFT building block中所公开的,对于6点FFT的计算,通过部署3个基-2蝶形Radix-2运算单元、2个基-3蝶形Radix-3运算单元和两级旋转因子运算单元,来完成计算,其中,每个Radix-2运算单元需要执行2次复数加法运算,每个Radix-3运算单元需要执行7次复数加法和2次复数乘法运算,每一级旋转因子运算单元需要执行6次复数乘法运算,所以,对于6点FFT的计算共需要执行20次复数加法运算和16次乘法运算,其中,复数乘法的逻辑复杂度远高于复数加法。
因此,目前的6点FFT的计算存在以下问题:需要多次乘法运算,运算逻辑复杂度高,需要耗费较多的计算资源。
发明内容
本发明实施方式的目的在于提供一种基-6蝶形运算单元、方法、电子设备及存储介质,可以减少计算时间,节省计算资源,提高计算效率。
为解决上述技术问题,本发明的实施方式提供了一种基-6蝶形运算单元,包括:第一层运算单元,用于将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将x1与x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将x2与x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将x3与x6相减,得到输出变量s16;第二层运算单元,用于将从第一层运算单元获取的s14和s16相加,得到输出变量s23,将s14和s16相减,得到输出变量s24,将从第一层运算单元获取的s13和s15相加,得到输出变量s21,将s13和s15相减,得到输出变量s22;第三层运算单元,用于将从第二层运算单元获取的s21向右移位1比特后,与从第一层运算单元获取的s11相减,得到输出变量s32,将从第二层运算单元获取的s24向右移位1比特后,与从第一层运算单元获取的s12相加,得到输出变量s31,将从第二层运算单元获取的s23向左移位16比特后,与s23向左移位1比特、s23向左移位2比特、s23向左移位5比特、s23向左移位8比特及s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将从第二层运算单元获取的s22向左移位16比特后,与s22向左移位1比特、s22向左移位2比特、s22向左移位5比特、s22向左移位8比特及s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34;第四层运算单元,用于将从第一层运算单元获取的s12和从第二层运算单元获取的s24相减,得到第四频域信号y4,将从第一层运算单元获取的s11和从第二层运算单元获取的s21相加,得到第一频域信号y1,将从第三层运算单元获取的s32和s34相加,得到输出的第五频域信号y5,将s32和s34相减,得到输出的第三频域信号y3,将从第三层运算单元获取的s31和s33相加,得到输出的第六频域信号y6,将s31和s33相减,得到输出的第二频域信号y2。
本发明的实施方式还提供了一种基-6蝶形运算方法,包括:将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将x1与x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将x2与x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将x3与x6相减,得到输出变量s16;将s14和s16相加,得到输出变量s23,将s14和s16相减,得到输出变量s24,将s13和s15相加,得到输出变量s21,将s13和s15相减,得到输出变量s22;将s21向右移位1比特后,与s11相减,得到输出变量s32,将s24向右移位1比特后,与s12相加,得到输出变量s31,将s23向左移位16比特后,与s23向左移位1比特、s23向左移位2比特、s23向左移位5比特、s23向左移位8比特及s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将s22向左移位16比特后,与s22向左移位1比特、s22向左移位2比特、s22向左移位5比特、s22向左移位8比特及s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34;将s12和s24相减,得到第四频域信号y4,将s11和s21相加,得到第一频域信号y1,将s32和s34相加,得到输出的第五频域信号y5,将s32和s34相减,得到输出的第三频域信号y3,将s31和s33相加,得到输出的第六频域信号y6,将s31和s33相减,得到输出的第二频域信号y2。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的基-6蝶形运算方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述基-6蝶形运算方法。
本发明实施方式相对于现有技术而言,各个运算单元均不涉及乘法运算,只需要加法和移位运算,因此,本发明的基-6蝶形运算单元的运算逻辑复杂度低,可以减少计算时间,节省计算资源,提高计算效率。
另外,第一层运算单元,包括:第一基-2蝶形Radix-2运算单元、第二Radix-2运算单元和第三Radix-2运算单元;第一Radix-2运算单元,用于将x1与x4相加,得到s11,将x1与x4相减,得到s12;第二Radix-2运算单元,用于将x2与x5相加,得到s13,将x2与x5相减,得到s14;第三Radix-2运算单元,用于将x3与x6相加,得到s15,将x3与x6相减,得到s16。通过将每个层运算单元都拆分为多个运算单元的组合,在减少计算时间,节省计算资源,提高计算效率的同时,提高了基-6蝶形运算处理的结构的灵活性。
另外,减法移位运算单元、加法移位运算单元、第一多步移位运算单元和第二多步移位运算单元,还用于在移位运算后,判断移位运算的舍去部分的最高位是否为1;若是,则将移位运算的保留部分的最低位加1。通过在移位运算后,当移位运算的舍去部分的最高位为1时,将移位运算的保留部分的最低位加1,可以减小移位运算的误差,提高计算精度。
另外,基-6蝶形运算单元还包括:同步单元,用于向第一层运算单元发送第一时钟信号,向第二层运算单元发送第二时钟信号,向第三层运算单元发送第三时钟信号,向第四层运算单元发送第四时钟信号,供各个运算单元根据接收到对应的时钟信号进行运算。通过向不同层级运算单元发送时钟信号作为同步信号,供各个运算单元在接收到时钟信号后,开始运算,可以使同一层级的运算单元在同一时间内进行并行运算,节省计算时间,提高计算效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式提供的基-6蝶形运算单元结构示意图;
图2是根据本发明第一实施方式提供的基-6蝶形运算单元计算效果的数值验证结果图;
图3是根据本发明第二实施方式提供的Radix-2运算单元结构示意图;
图4是根据本发明第二实施方式提供的基-6蝶形运算单元结构示意图;
图5是根据本发明第二实施方式提供的减法移位运算单元结构示意图;
图6是根据本发明第二实施方式提供的加法移位运算单元结构示意图;
图7是根据本发明第二实施方式提供的多步移位运算单元结构示意图;
图8是根据本发明第三实施方式提供的基-6蝶形运算方法流程图;
图9是根据本发明第四实施方式提供的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种基-6蝶形运算单元,如图1所示,包括:
第一层运算单元10,用于将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将x1与x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将x2与x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将x3与x6相减,得到输出变量s16。
第二层运算单元20,用于将从第一层运算单元获取的s14和s16相加,得到输出变量s23,将s14和s16相减,得到输出变量s24,将从第一层运算单元获取的s13和s15相加,得到输出变量s21,将s13和s15相减,得到输出变量s22。
第三层运算单元30,用于将从第二层运算单元获取的s21向右移位1比特后,与从第一层运算单元获取的s11相减,得到输出变量s32,将从第二层运算单元获取的s24向右移位1比特后,与从第一层运算单元获取的s12相加,得到输出变量s31,将从第二层运算单元获取的s23向左移位16比特后,与s23向左移位1比特、s23向左移位2比特、s23向左移位5比特、s23向左移位8比特及s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将从第二层运算单元获取的s22向左移位16比特后,与s22向左移位1比特、s22向左移位2比特、s22向左移位5比特、s22向左移位8比特及s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34。
第四层运算单元40,用于将从第一层运算单元获取的s12和从第二层运算单元获取的s24相减,得到第四频域信号y4,将从第一层运算单元获取的s11和从第二层运算单元获取的s21相加,得到第一频域信号y1,将从第三层运算单元获取的s32和s34相加,得到输出的第五频域信号y5,将s32和s34相减,得到输出的第三频域信号y3,将从第三层运算单元获取的s31和s33相加,得到输出的第六频域信号y6,将s31和s33相减,得到输出的第二频域信号y2。
本实施方式的基-6蝶形运算单元(Radix-6),应用于数字信号处理器(DigitalSignal Process,简称“DSP”)芯片或者其他芯片中,作为FFT算法单元中的构成组件。本申请的基-6蝶形运算单元可以作为一个单独的6点FFT处理器,专用于6个信号采样点的FFT计算,也可以作为一个FFT处理器中的实现6点的FFT计算的运算单元。例如,本实施方式的基-6蝶形运算单元可以应用在长期演进LTE(Long Term Evolution,简称“LTE”)和新空口(NewRadio,简称“NR”)场景的上行链路变换预编码(UL transform precoding),上行/下行链路波形处理(UL/DL waveform process)中,作为大规格FFT设计的一个高效子模块。一般来说,适用于典型无线通信系统比如一般指长期演进技术(Long Term Evolution,简称“LTE”)和新空口(New Radio,简称“NR”)的FFT算法单元是能够同时支持诸如4096、2048或1024等运算点数(即信号采样点的个数)的复杂逻辑模块,这些FFT算法单元将大的运算点数(诸如4096、2048或1024等)分解因子拆成小的运算点数(例如12、8、6或2等),进行递归运算,最终实现大的运算点数的FFT计算。现有技术中使用CTA算法进行基-6蝶形运算,其部署3个Radix-2、2个Radix-3和两级旋转因子运算单元,即使不考虑生成旋转因子的处理负载,也不考虑运算中的倒序等内存操作和计算中其他的处理过程,也需要执行20次复数加法运算和16次乘法运算,因此仍然需要耗费较长的计算时间。本实施方式的基-6蝶形运算单元,根据对DFT矩阵运算的等价替换运算,以数字电路的形式,定制6点FFT处理算法的专用逻辑实现,只要输入的是位宽适配的信号序列,即6个采样点的信号序列,本实施方式的基-6蝶形运算单元即可将输入的6点时域信号的采样点经过加法及移位运算,转换成6点频域信号输出,本实施方式的基-6蝶形运算单元,只进行加法及移位运算,拥有理论意义上接近严格最优的算法复杂度,计算性能效果的数值验证结果如图2所示,解决工程实践中FFT计算复杂度高的问题。
下面对本实施方式的基-6蝶形运算单元的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
对于输入的信号采样序列,基-6蝶形运算单元将每个采样点,即每个时域信号,储存为I路在前,Q路在后的复数变量,将6个时域信号顺序储存为x1,x2,x3,x4,x5,x6,其中,每个输入的时域信号都是一个复数变量,并以定点格式表示。
第一层运算单元有6个输入端,6个输出端,第二层运算单元有4个输入端,4个输出端,第三层运算单元有6个输入端,4个输出端,第四层运算单元有8个输入端,6个输出端。
具体地,第一层运算单元的第一输入端用于输入x1,第二输入端用于输入x2,第三输入端用于输入x3,第四输入端用于输入x4,第五输入端用于输入x5,第六输入端用于输入x6,第一输出端与第三层运算单元的第一输入端和第四层运算单元的第三输入端连接,向第三层运算单元和第四层运算单元输出s11,第二输出端与第三层运算单元的第三输入端和第四层运算单元的第一输入端连接,向第三层运算单元和第四层运算单元输出s12,第三输出端与第二层运算单元的第三输入端连接,向第二层运算单元输出s13,第四输出端与第二层运算单元的第一输入端连接,向第二层运算单元输出s14,第五输出端与第二层运算单元的第四输入端连接,向第二层运算单元输出s15,第六输出端与第二层运算单元的第二输入端用于输出s16。
第二层运算单元的第一输出端与第三层运算单元的第五输入端连接,向第三层运算单元输出s23,第二输出端与第三层运算单元的第四输入端和第四层运算单元的第二输入端连接,向第三层运算单元、第四层运算单元输出s24,第三输出端与第三层运算单元的第二输入端和第四层运算单元的第四输入端连接,向第三层运算单元、第四层运算单元输出s21,第四输出端与第三层运算单元的第六输入端连接,向第三层运算单元输出s22。
第三层运算单元的第一输出端与第四层运算单元的第五输入端连接,向第四层运算单元输入s32,第二输出端与第四层运算单元的第七输入端连接,向第四层运算单元输入s31,第三输出端与第四层运算单元的第八输入端连接,向第四层运算单元输入s33,第四输出端与第四层运算单元的第六输入端连接,向第四层运算单元输入s34。
在一个例子中,基-6蝶形运算单元中还存在存储单元,如寄存器,用于存储s11、s12、s24、s21,其中,对s11和s12各需要使用两个中间复数变量进行存储,对s24和s21各需要使用一个中间复数变量进行存储,即本实施方式共需要6个中间复数变量进行计算的中间存储。
在一个例子中,基-6蝶形运算单元中还存在同步单元,用于向第一层运算单元发送第一时钟信号,向第二层运算单元发送第二时钟信号,向第三层运算单元发送第三时钟信号,向第四层运算单元发送第四时钟信号,供各个运算单元根据接收到对应的时钟信号进行运算。本实施例中,通过向不同层级运算单元发送时钟信号作为同步信号,供各个运算单元在接收到时钟信号后,开始运算,可以使同一层级的运算单元在同一时间内进行并行运算,节省计算时间,提高计算效率。
本实施方式的基-6蝶形运算单元,通过部署减法移位运算单元、加法移位运算单元、移位运算单元、减法运算单元、加法运算单元和Radix-2运算单元,代替现有技术中Radix-2运算单元、Radix-3运算单元和旋转因子运算单元,进行基-6蝶形运算的运算,算法中总计只有23次复数加法(和少量移位),完全没有乘法。即,本实施例中的各个运算单元均不需要乘法运算,只需要加法和移位运算,因此,各个运算单元均不涉及乘法运算,只需要加法和移位运算,因此,本发明的基-6蝶形运算单元的运算逻辑复杂度低,可以减少计算时间,节省计算资源,提高计算效率。同时,本发明的基-6蝶形运算单元,由于只需要加法和移位运算,不涉及乘法运算,因此,电路结构简单,还可以节约电路面积。
值得一提的是,本实施方式中所涉及到的各单元、模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的第二实施方式涉及一种基-6蝶形运算单元。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第二实施方式中,将第一实施方式的各层运算单元进行拆分细化为多个运算单元的组合。
本实施方式的基-6蝶形运算单元中的第一层运算单元,可以由3个如图3所示的Radix-2运算单元组成,每个Radix-2运算单元执行的基本运算的算式如下:Out1 = in1 +in2,Out2 = in1–in2,in1为第一输入端口输入的变量,in2为第二输入端口输入的变量。
在一个例子中,本实施方式的基-6蝶形运算单元还可以根据四层运算单元,构造为如图4所示的四层结构。在第一层结构10(即第一层运算单元)中,基-6蝶形运算单元部署了3个Radix-2运算单元,每个Radix-2运算单元对输入的两个复数变量进行运算,并得到2个输出结果。
具体地,第一Radix-2运算单元101,对输入的时域信号x1、x4进行运算,得到s11、s12。其中,s11 = x1 + x4,s12 = x1 - x4。x1从第一Radix-2运算单元101的第一输入端口输入,x4从第一Radix-2运算单元101的第二输入端口输入,s11从第一Radix-2运算单元101的第一输出端口输出,s12从第一Radix-2运算单元101的第二输出端口输出。第二Radix-2运算单元102,对输入的时域信号x2、x5进行运算,得到s13、s14。其中,s13 = x2 + x5,s14= x2 - x5。x2从第二Radix-2运算单元102的第一输入端口输入,x5从第二Radix-2运算单元102的第二输入端口输入,s13从第二Radix-2运算单元102的第一输出端口输出,s14从第二Radix-2运算单元102的第二输出端口输出。第三Radix-2运算单元103,对输入的时域信号x3、x6进行运算,得到s15、s16。其中,s15 = x3 + x6,s16 = x3 - x6。x3从第三Radix-2运算单元103的第一输入端口输入,x6从第三Radix-2运算单元103的第二输入端口输入,s15从第三Radix-2运算单元103的第一输出端口输出,s16从第三Radix-2运算单元103的第二输出端口输出。
在第二层结构20(即第二层运算单元)中,基-6蝶形运算单元部署了2个Radix-2运算单元,每个Radix-2运算单元将相连的第一层结构中的Radix-2运算单元的输出作为输入,进行DFT运算并得到2个输出结果。
具体地,第四Radix-2运算单元201,对第二Radix-2运算单元102输出的s14,和第三Radix-2运算单元103输出的s16,进行运算,得到s23和s24。其中,s23 = s14 + s16,s24= s14 - s16。s14从第四Radix-2运算单元201的第一输入端口输入,s16从第四Radix-2运算单元201的第二输入端口输入,s23从第四Radix-2运算单元201的第一输出端口输出,s24从第四Radix-2运算单元201的第二输出端口输出。第五Radix-2运算单元202,对第二Radix-2运算单元102输出的s13,和第三Radix-2运算单元103输出的s15,进行运算,得到s21和s22。其中,s21 = s13 + s15,s22 = s13 - s15。s13从第五Radix-2运算单元202的第一输入端口输入,s15从第五Radix-2运算单元202的第二输入端口输入,s21从第五Radix-2运算单元202的第一输出端口输出,s22从第五Radix-2运算单元202的第二输出端口输出。
在第三层结构30(即第三层运算单元)中,基-6蝶形运算单元部署了1个减法移位运算单元、1个加法移位运算单元和2个多步移位运算单元,其中,1个减法移位运算单元和1个加法移位运算单元各有2个输入端口和1个输出端口,多步移位运算单元有1个输入端口和1个输出端口。如图5所示的减法移位运算单元(即blks)的运算方法如下: Out = in1 -(in2>>1),in1为减法移位运算单元的第一输入端口输入的变量,in2为减法移位运算单元的第二输入端口输入的变量,in2>>1表示将in2的数值右移1位,即,右移1比特,Out为减法移位运算单元的输出结果。如图6所示的加法移位运算单元(即blka)的运算方法如下:Out= in1+(in2>>1),in1为加法移位运算单元的第一输入端口输入的变量,in2为加法移位运算单元的第二输入端口输入的变量,Out为加法移位运算单元的输出结果。如图7所示的多步移位运算单元(即blkm)的运算方法如下:out = (in<<16) - (in<<1) - (in<<2) - (in<<5) - (in<<8) - (in<<12),Out = out>>15, in为多步移位运算单元的输入端口输入的变量, Out为多步移位运算单元的输出结果。
具体地,减法移位运算单元301,对第一Radix-2运算单元101输出的s11,和第五Radix-2运算单元202输出的s21,进行运算,得到s32。其中,s32= s11- (s21>>1),s21>>1表示将s21右移1比特,即,将s21的实数部分和虚数部分都右移1位。s11从减法移位运算单元301的第一输入端口输入,s21从减法移位运算单元301的第二输入端口输入,s32从减法移位运算单元301的输出端口输出。加法移位运算单元302,对第一Radix-2运算单元101输出的s12,和第四Radix-2运算单元201输出的s24,进行运算,得到s31。其中,s31= s12+ (s24>>1),s12从加法移位运算单元302的第一输入端口输入,s24从加法移位运算单元302的第二输入端口输入,s31从加法移位运算单元302的输出端口输出。第一多步移位运算单元303,对第四Radix-2运算单元201输出的s23,进行运算,得到s33。其中,s33= [(s23<<16) -(s23<<1) - (s23<<2) - (s23<<5) - (s23<<8) - (s23<<12)] >>15,s23<<16表示将s23左移16位,即,将s23的实数部分和虚数部分都左移16位,s23<<1、s23<<2等移位运算以此类推,s23从第一多步移位运算单元303的输入端口输入,s33从第一多步移位运算单元303的输出端口输出。第二多步移位运算单元304,对第五 Radix-2运算单元202输出的s22,进行运算,得到s34。其中,s34= [(s22<<16) - (s22<<1) - (s22<<2) - (s22<<5) - (s22<<8)- (s22<<12)] >>15,s22从第二多步移位运算单元304的输入端口输入,s34从第二多步移位运算单元304的输出端口输出。
进一步地,减法移位运算单元301、加法移位运算单元302、第一多步移位运算单元303和第二多步移位运算单元304,在移位运算后,还判断移位运算的舍去部分的最高位是否为1,若舍去部分的最高位是1,则将移位运算的保留部分的最低位加1。例如,将00000111向右移位2比特,则舍去部分为11,保留部分为00000001,由于舍去部分的最高位为1,因此,此次移位的结果为00000010。
本实施例中,通过在移位运算后,当移位运算的舍去部分的最高位为1时,将移位的保留部分的最低位加1,可以减小移位运算的误差,提高计算精度。
在第四层结构40(即第四层运算单元)中,基-6蝶形运算单元部署了1个减法运算单元(即sub)、1个加法运算单元(即add)和2个Radix-2运算单元,其中,1个减法运算单元和1个加法移位运算单元各有2个输入端口和1个输出端口,Radix-2运算单元有2个输入端口和2个输出端口,因此,基-6蝶形运算单元在第四层得到6个输出结果,这6个输出结果即是基-6蝶形运算单元对输入的6个时域信号运算后得到的6个频域信号,y1, y2, y3, y4,y5, y6。
具体地,减法运算单元401,对第一Radix-2运算单元101输出的s12,和第四Radix-2运算单元201输出的s24进行运算,得到y4。其中,y4= s12- s24,s12从减法运算单元401的第一输入端口输入,s24从减法运算单元401的第二输入端口输入,y4从减法运算单元401的输出端口输出。加法运算单元402,对第一Radix-2运算单元101输出的s11,和第五Radix-2运算单元202输出的s21进行运算,得到y1。其中,y1= s11+ s21。s11从加法运算单元402的第一输入端口输入,s21从加法运算单元402的第二输入端口输入,y1从加法运算单元402的输出端口输出。第六Radix-2运算单元403,对减法移位运算单元301输出的s32,和第二多步移位运算单元304输出的s34进行运算,得到y5和y3。其中,y5 = s32 + s34,y3 = s32 -s34,s32从第六Radix-2运算单元403的第一输入端口输入,s34从第六Radix-2运算单元403的第二输入端口输入,y5从第六Radix-2运算单元403的第一输出端口输出,y3从第六Radix-2运算单元403的第二输出端口输出。第七Radix-2运算单元404,对加法移位运算单元302输出的s31,和第一多步移位运算单元303输出的s33进行运算,得到y6和y2。其中,y6= s31 + s33,y2 = s31 - s33,s31从第七Radix-2运算单元404的第一输入端口输入,s33从第七Radix-2运算单元404的第二输入端口输入,y6从第七Radix-2运算单元404的第一输出端口输出,y2从第七Radix-2运算单元404的第二输出端口输出。
在一个例子中,本实施方式的基-6蝶形运算单元每层的运算单元可以并行处理。由基-6蝶形运算单元中的同步单元,向第一层运算单元发送第一时钟信号,向第二层运算单元发送第二时钟信号,向第三层运算单元发送第三时钟信号,向第四层运算单元发送第四时钟信号,供各个运算单元根据接收到对应的时钟信号进行运算。各个运算单元在接收到同步信号,即时钟信号后,才开始执行本单元的运算,使得同一层结构中的运算单元可以并行处理。
具体地,同步单元可以向第一、第二和第三Radix-2运算单元发送第一时钟信号,在第二预设时间向第四和第五Radix-2运算单元发送第二时钟信号,在第三预设时间向减法移位运算单元、加法移位运算单元、第一多步移位运算单元和第二多步移位计算单元发送第三时钟信号,在第四预设时间向减法运算单元、加法运算单元、第六Radix-2运算单元和第七Radix-2运算单元发送第四时钟信号。
本实施例中,通过向不同层级运算单元发送时钟信号作为同步信号,供各个运算单元在接收到时钟信号后,开始运算,可以使同一层级的运算单元在同一时间内进行并行运算,节省计算时间,提高计算效率。
进一步地,基-6蝶形运算单元使用寄存单元,对第一Radix-2运算单元输出的s11、s12进行中间存储,供减法移位运算单元、加法移位运算单元、减法运算单元和加法运算单元获取对应的输入变量进行运算,对第四Radix-2运算单元输出的s24和第五Radix-2运算单元输出的s21进行中间存储,供减法运算单元和加法运算单元获取对应的输入变量进行运算。具体地,寄存单元使用两个中间复数变量存储s11,使用两个中间复数变量存储s12,使用一个中间复数变量存储s24,使用一个中间复数变量存储s21,一共使用六个中间复数变量。
本实施例中,通过使用寄存单元,对第一Radix-2运算单元的第一输出变量、第一Radix-2运算单元的第二输出变量、第四Radix-2运算单元的第二输出变量和第五Radix-2运算单元的第一输出变量,供非相邻层级的运算单元获取所需的输入变量,以进行不同层级运算单元的并行运算,节省计算时间,提高计算效率。
本实施方式的基-6蝶形运算单元,通过将每个层运算单元都拆分为多个运算单元的组合,在减少计算时间,节省计算资源,提高计算效率的同时,提高了基-6蝶形运算处理的结构的灵活性。
值得一提的是,本实施方式中所涉及到的各单元、模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的第三实施方式涉及一种基-6蝶形运算方法,应用于上述实施方式的基-6蝶形运算单元,如图8所示,包括:
步骤801,对输入的时域信号进行第一层运算。
具体地,基-6蝶形运算单元将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将x1与x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将x2与x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将x3与x6相减,得到输出变量s16。
步骤802,根据第一层运算的运算结果,进行第二层运算。
具体地,基-6蝶形运算单元将s14和s16相加,得到输出变量s23,将s14和s16相减,得到输出变量s24,将s13和s15相加,得到输出变量s21,将s13和s15相减,得到输出变量s22。
步骤803,根据第一层运算的运算结果和第二层运算的运算结果,进行第三层运算。
具体地,基-6蝶形运算单元将s21向右移位1比特后,与s11相减,得到输出变量s32,将s24向右移位1比特后,与s12相加,得到输出变量s31,将s23向左移位16比特后,与s23向左移位1比特、s23向左移位1比特、s23向左移位5比特、s23向左移位8比特及s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将s22向左移位16比特后,与s22向左移位1比特、s22向左移位2比特、s22向左移位5比特、s22向左移位8比特及s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34。
进一步地,在移位运算后,基-6蝶形运算单元还判断移位运算的舍去部分的最高位是否为1,若舍去部分的最高位是1,则将移位运算的保留部分的最低位加1。例如,将00000111向右移位2比特,则舍去部分为11,保留部分为00000001,由于舍去部分的最高位为1,因此,此次移位的结果为00000010。
步骤804,根据第一层运算的运算结果、第二层运算的运算结果和第三层运算的运算结果,进行第四层运算,得到频域信号。
具体地,基-6蝶形运算单元将s12和s24相减,得到第四频域信号y4,将s11和s21相加,得到第一频域信号y1,将s32和s34相加,得到输出的第五频域信号y5,将s32和s34相减,得到输出的第三频域信号y3,将s31和s33相加,得到输出的第六频域信号y6,将s31和s33相减,得到输出的第二频域信号y2。
在一个例子中,基-6蝶形运算单元还对s11、s12、s24、s21进行中间存储,其中,对s11和s12各需要使用两个中间复数变量进行存储,对s24和s21各需要使用一个中间复数变量进行存储,即本实施方式共需要6个中间复数变量进行计算的中间存储。
在一个例子中,基-6蝶形运算单元还在向第一层运算单元发送第一时钟信号,向第二层运算单元发送第二时钟信号,向第三层运算单元发送第三时钟信号,向第四层运算单元发送第四时钟信号,供各个运算单元根据接收到对应的时钟信号进行运算。
不难发现,本实施方式为与第一、第二实施方式相对应的方法实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种电子设备,如图9所示,包括:至少一个处理器901;与至少一个处理器通信连接的存储器902;其中,存储器902存储有可被至少一个处理器901执行的指令,指令被至少一个处理器901执行上述的基-6蝶形运算方法。
其中,存储器902和处理器901采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器901和存储器902的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器901处理的信息通过天线在无线介质上进行传输,进一步,天线还接收信息并将信息传送给处理器901。
处理器901负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器902可以被用于存储处理器在执行操作时所使用的信息。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种基-6蝶形运算单元,其特征在于,包括:
第一层运算单元,用于将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将所述x1与所述x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将所述x2与所述x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将所述x3与所述x6相减,得到输出变量s16;
第二层运算单元,用于将从所述第一层运算单元获取的所述s14和所述s16相加,得到输出变量s23,将所述s14和所述s16相减,得到输出变量s24,将从所述第一层运算单元获取的所述s13和所述s15相加,得到输出变量s21,将所述s13和所述s15相减,得到输出变量s22;
第三层运算单元,用于将从所述第二层运算单元获取的所述s21向右移位1比特后,与从所述第一层运算单元获取的所述s11相减,得到输出变量s32,将从所述第二层运算单元获取的所述s24向右移位1比特后,与从所述第一层运算单元获取的所述s12相加,得到输出变量s31,将从所述第二层运算单元获取的所述s23向左移位16比特后,与所述s23向左移位1比特、所述s23向左移位2比特、所述s23向左移位5比特、所述s23向左移位8比特及所述s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将从所述第二层运算单元获取的所述s22向左移位16比特后,与所述s22向左移位1比特、所述s22向左移位2比特、所述s22向左移位5比特、所述s22向左移位8比特及所述s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34;
第四层运算单元,用于将从所述第一层运算单元获取的所述s12和从所述第二层运算单元获取的所述s24相减,得到第四频域信号y4,将从所述第一层运算单元获取的所述s11和从所述第二层运算单元获取的所述s21相加,得到第一频域信号y1,将从所述第三层运算单元获取的所述s32和所述s34相加,得到输出的第五频域信号y5,将所述s32和所述s34相减,得到输出的第三频域信号y3,将从所述第三层运算单元获取的所述s31和所述s33相加,得到输出的第六频域信号y6,将所述s31和所述s33相减,得到输出的第二频域信号y2。
2.根据权利要求1所述的基-6蝶形运算单元,其特征在于,所述第一层运算单元,包括:第一基-2蝶形Radix-2运算单元、第二Radix-2运算单元和第三Radix-2运算单元;
所述第一Radix-2运算单元,用于将所述x1与所述x4相加,得到所述s11,将所述x1与所述x4相减,得到所述s12;
所述第二Radix-2运算单元,用于将所述x2与所述x5相加,得到所述s13,将所述x2与所述x5相减,得到所述s14;
所述第三Radix-2运算单元,用于将所述x3与所述x6相加,得到所述s15,将所述x3与所述x6相减,得到所述s16。
3.根据权利要求1所述的基-6蝶形运算单元,其特征在于,所述第二层运算单元,包括:第四Radix-2运算单元和第五Radix-2运算单元;
所述第四Radix-2运算单元,用于将所述s14和所述s16相加,得到所述s23,将所述s14和所述s16相减,得到所述s24;
所述第五Radix-2运算单元,用于将所述s13和所述s15相加,得到所述s21,将所述s13和所述s15相减,得到所述s22。
4.根据权利要求1所述的基-6蝶形运算单元,其特征在于,所述第三层运算单元,包括:减法移位运算单元、加法移位运算单元、第一多步移位运算单元和第二多步移位运算单元;
所述减法移位运算单元,用于将所述s21向右移位1比特后,与从所述s11相减,得到所述s32;
所述加法移位运算单元,用于将所述s24向右移位1比特后,与所述s12相加,得到所述s31;
所述第一多步移位运算单元,用于将所述s23向左移位16比特后,与所述s23向左移位1比特、所述s23向左移位2比特、所述s23向左移位5比特、所述s23向左移位8比特及所述s23向左移位12比特相减得到的差,再向右移位15比特,得到所述s33;
所述第二多步移位运算单元,用于将所述s22向左移位16比特后,与所述s22向左移位1比特、所述s22向左移位2比特、所述s22向左移位5比特、所述s22向左移位8比特及所述s22向左移位12比特相减得到的差,再向右移位15比特,得到所述s34。
5.根据权利要求4所述的基-6蝶形运算单元,其特征在于,所述减法移位运算单元、所述加法移位运算单元、所述第一多步移位运算单元和所述第二多步移位运算单元,还用于在移位运算后,判断移位运算的舍去部分的最高位是否为1;若是,则将移位运算的保留部分的最低位加1。
6.根据权利要求1所述的基-6蝶形运算单元,其特征在于,所述第四层运算单元,包括:减法运算单元、加法运算单元、第六Radix-2运算单元和第七Radix-2运算单元;
所述减法运算单元,用于将所述s12和所述s24相减,得到所述y4;
所述加法运算单元,用于将所述s11和所述s21相加,得到所述y1;
所述第六Radix-2运算单元,用于将所述s32和所述s34相加,得到所述y5,将所述s32和所述s34相减,得到所述y3;
所述第七Radix-2运算单元,用于将所述s31和所述s33相加,得到所述y6,将所述s31和所述s33相减,得到所述y2。
7.根据权利要求1至6中任一项所述的基-6蝶形运算单元,其特征在于,还包括:
同步单元,用于向所述第一层运算单元发送第一时钟信号,向所述第二层运算单元发送第二时钟信号,向所述第三层运算单元发送第三时钟信号,向所述第四层运算单元发送第四时钟信号,供各个运算单元根据接收到对应的时钟信号进行运算。
8.一种基-6蝶形运算方法,其特征在于,包括:
将第一时域信号x1与第四时域信号x4相加,得到输出变量s11,将所述x1与所述x4相减,得到输出变量s12,将第二时域信号x2与第五时域信号x5相加,得到输出变量s13,将所述x2与所述x5相减,得到输出变量s14,将第三时域信号x3与第六时域信号x6相加,得到输出变量s15,将所述x3与所述x6相减,得到输出变量s16;
将所述s14和所述s16相加,得到输出变量s23,将所述s14和所述s16相减,得到输出变量s24,将所述s13和所述s15相加,得到输出变量s21,将所述s13和所述s15相减,得到输出变量s22;
将所述s21向右移位1比特后,与所述s11相减,得到输出变量s32,将所述s24向右移位1比特后,与所述s12相加,得到输出变量s31,将所述s23向左移位16比特后,与所述s23向左移位1比特、所述s23向左移位2比特、所述s23向左移位5比特、所述s23向左移位8比特及所述s23向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s33,将所述s22向左移位16比特后,与所述s22向左移位1比特、所述s22向左移位2比特、所述s22向左移位5比特、所述s22向左移位8比特及所述s22向左移位12比特相减得到的差,再向右移位15比特,得到输出变量s34;
将所述s12和所述s24相减,得到第四频域信号y4,将所述s11和所述s21相加,得到第一频域信号y1,将所述s32和所述s34相加,得到输出的第五频域信号y5,将所述s32和所述s34相减,得到输出的第三频域信号y3,将所述s31和所述s33相加,得到输出的第六频域信号y6,将所述s31和所述s33相减,得到输出的第二频域信号y2。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
与所述至少一个处理器通信连接的存储器;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求8所述的基-6蝶形运算方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求8所述的基-6蝶形运算方法。
CN202110338383.3A 2021-03-30 2021-03-30 基-6蝶形运算单元、方法、电子设备及存储介质 Active CN112800387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110338383.3A CN112800387B (zh) 2021-03-30 2021-03-30 基-6蝶形运算单元、方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110338383.3A CN112800387B (zh) 2021-03-30 2021-03-30 基-6蝶形运算单元、方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112800387A CN112800387A (zh) 2021-05-14
CN112800387B true CN112800387B (zh) 2021-08-03

Family

ID=75815844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110338383.3A Active CN112800387B (zh) 2021-03-30 2021-03-30 基-6蝶形运算单元、方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112800387B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615113A (zh) * 2009-07-31 2009-12-30 清华大学 一条指令完成一次蝶形运算的微处理器实现方法
CN110233727A (zh) * 2019-06-12 2019-09-13 湖南国科微电子股份有限公司 一种sm2运算方法、系统、设备及计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233551A (en) * 1991-10-21 1993-08-03 Rockwell International Corporation Radix-12 DFT/FFT building block
CN101361062A (zh) * 2005-10-12 2009-02-04 高通股份有限公司 用于信号及数据处理的高效无乘法计算
CN101989253B (zh) * 2009-07-31 2012-08-29 鸿富锦精密工业(深圳)有限公司 离散余弦转换电路及使用其的影像处理装置
US9275014B2 (en) * 2013-03-13 2016-03-01 Qualcomm Incorporated Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods
CN103699516B (zh) * 2014-01-13 2017-02-15 中国人民解放军国防科学技术大学 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置
TWI506457B (zh) * 2014-09-26 2015-11-01 Univ Nat Chiao Tung 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法
US10210135B2 (en) * 2015-12-31 2019-02-19 Cavium, Llc Methods and apparatus for providing a programmable mixed-radix DFT/IDFT processor using vector engines
CN106168941B (zh) * 2016-06-30 2019-06-14 中国人民解放军国防科学技术大学 一种支持复数乘法的fft蝶形运算硬件实现电路
US10140091B2 (en) * 2016-09-27 2018-11-27 Altera Corporation Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication
CN106951962B (zh) * 2017-03-22 2020-09-01 南京地平线机器人技术有限公司 用于神经网络的复合运算单元、方法和电子设备
CN107544942B (zh) * 2017-07-13 2020-10-02 天津大学 一种快速傅里叶变换的vlsi设计方法
CN109359267B (zh) * 2018-10-18 2022-11-01 哈尔滨工程大学 一种基于动态截位的低复杂度无乘法器定点fft优化方法
CN112307421B (zh) * 2020-10-21 2023-03-31 电子科技大学 一种基4频率抽取快速傅里叶变换处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615113A (zh) * 2009-07-31 2009-12-30 清华大学 一条指令完成一次蝶形运算的微处理器实现方法
CN110233727A (zh) * 2019-06-12 2019-09-13 湖南国科微电子股份有限公司 一种sm2运算方法、系统、设备及计算机存储介质

Also Published As

Publication number Publication date
CN112800387A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
US7856465B2 (en) Combined fast fourier transforms and matrix operations
CN109117188B (zh) 一种多路混合基fft可重构蝶形运算器
CN113556101B (zh) Iir滤波器及其数据处理方法
US7685220B2 (en) Circular fast fourier transform
CN112800387B (zh) 基-6蝶形运算单元、方法、电子设备及存储介质
Srivastava et al. An efficient fir filter based on hardware sharing architecture using csd coefficient grouping for wireless application
KR100720949B1 (ko) 직교 주파수 분할 다중화 시스템에서의 고속 푸리에 변환프로세서 및 그 변환 방법
EP3893166A1 (en) Device and method for convolution operation
CN103718525A (zh) 一种削波方法、装置及系统
CN109687826B (zh) 一种基于模型设计的多通道下变频方法、装置和存储介质
CN207115387U (zh) Xiu‑累加寄存器、xiu‑累加寄存器电路、以及电子设备
Bhavanam et al. FPGA based efficient DTMF detection using Split Goertzel algorithm with optimized resource sharing approach
US9087003B2 (en) Vector NCO and twiddle factor generator
CN103488611B (zh) 基于IEEE802.11.ad协议的FFT处理器
CN115242220A (zh) 阶数动态可重构折叠电路结构数字成形滤波器及设计方法
KR100577005B1 (ko) 고속 하다마드 변환 및 고속 푸리에 변환의 선택적 수행장치 및 방법
CN114297570A (zh) 一种用于通信系统的fft实现装置及其实现方法
Mehra et al. Reconfigurable Area and Speed Efficient Interpolator Using DALUT Algorithm
KR20120109214A (ko) Ofdm 시스템에서의 고속 푸리에 변환 프로세서 및 그 고속 푸리에 변환방법
CN102158225A (zh) 混频方法及数字控制震荡器
CN115617398B (zh) 基于fpga的实时可重构分数阶计算系统
CN110233606A (zh) 多速率变换滤波方法及装置
CN117806590B (zh) 一种矩阵乘硬件架构
CN114285711B (zh) 缩放信息传播方法及其在定点fft的vlsi实现中的应用
CN112118019B (zh) 一种多通道信道化接收机及应用系统

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