[go: up one dir, main page]

CN112347413B - 信号处理方法、信号处理器、设备及存储介质 - Google Patents

信号处理方法、信号处理器、设备及存储介质 Download PDF

Info

Publication number
CN112347413B
CN112347413B CN202011231127.6A CN202011231127A CN112347413B CN 112347413 B CN112347413 B CN 112347413B CN 202011231127 A CN202011231127 A CN 202011231127A CN 112347413 B CN112347413 B CN 112347413B
Authority
CN
China
Prior art keywords
signal
input signal
scaling factor
operation result
bit width
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
CN202011231127.6A
Other languages
English (en)
Other versions
CN112347413A (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.)
Weiguang Co ltd
Original Assignee
Zeku Technology Beijing Corp 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 Zeku Technology Beijing Corp Ltd filed Critical Zeku Technology Beijing Corp Ltd
Priority to CN202011231127.6A priority Critical patent/CN112347413B/zh
Publication of CN112347413A publication Critical patent/CN112347413A/zh
Application granted granted Critical
Publication of CN112347413B publication Critical patent/CN112347413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

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

Abstract

本申请实施例公开了一种信号处理方法、信号处理器、设备及存储介质,属于信号处理领域。该方法包括:获取初始采样信号;对初始采样信号进行最大信噪比处理,得到输入信号,经过最大信噪比处理后的输入信号对应的数据位宽低于数据位宽阈值;对输入信号进行快速傅里叶变换运算,并在快速傅里叶变换运算过程中进行溢出处理,得到输出信号,经过溢出处理后的输出信号的数据位宽小于数据位宽阈值。可以避免数据位宽随每级计算不断增加而导致数据位宽的溢出,从而避免了FFT实现过程中数据位宽不断增加对信号处理器的处理资源的占用,进而降低了FFT的实现成本。

Description

信号处理方法、信号处理器、设备及存储介质
技术领域
本申请实施例涉及信号处理领域,特别涉及一种信号处理方法、信号处理器、设备及存储介质。
背景技术
快速傅里叶变换(Fast Fourier Transformation,FFT)是离散傅里叶变换的快速算法,将FFT应用到信号处理领域中,可以简化信号处理过程中的计算过程,比如较少乘法运算。
相关技术中,在FFT实现过程中,中间每级的处理采用固定位宽,每级预设固定的缩放因子,由于中间每级计算过程不进行任何处理,数据位宽会相应增加,为了避免溢出,需要设置更大的数据位宽来容纳处理数据,显然会增加FFT的实现成本。
发明内容
本申请实施例提供了一种信号处理方法、信号处理器、设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种信号处理方法,所述方法包括:
获取初始采样信号;
对所述初始采样信号进行最大信噪比处理,得到输入信号,经过最大信噪比处理后的所述输入信号对应的数据位宽低于数据位宽阈值;
对所述输入信号进行快速傅里叶变换运算,并在快速傅里叶变换运算过程中进行溢出处理,得到输出信号,经过溢出处理后的所述输出信号的数据位宽小于所述数据位宽阈值。
另一方面,本申请实施例提供了一种信号处理器,所述信号处理器包括采样单元、快速傅里叶变换运算单元、最大信噪比处理单元和溢出处理单元;
所述采样单元用于获取初始采样信号;
所述最大信噪比处理单元用于对所述初始采样信号进行最大信噪比处理,得到输入信号;
所述快速傅里叶变换运算单元和所述溢出处理单元用于对所述输入信号进行处理,得到输出信号。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括信号处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述信号处理器加载并执行以实现如上述方面所述的信号处理方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由信号处理器加载并执行以实现如上述方面所述的信号处理方法。
另一方面,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的信号处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的信号处理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在FFT实现过程中,通过对初始采样信号进行最大信噪比处理,减少FFT过程中的定点化损失,并在FFT过程中进行溢出处理,可以避免数据位宽随每级计算不断增加而导致数据位宽的溢出,从而避免了FFT实现过程中数据位宽不断增加对信号处理器的处理资源的占用,进而降低了FFT的实现成本。
附图说明
图1示出了16点IFFT变换的展开图;
图2示出了本申请一个示例性实施例示出的信号处理器的结构框图;
图3示出了本申请一个示例性实施例提供的信号处理方法的流程图;
图4示出了本申请另一个示例性实施例示出的信号处理方法的流程图;
图5示出了本申请另一个示例性实施例示出的信号处理方法的流程图;
图6示出了本申请一个示例性实施例示出的蝶形运算过程中进行溢出处理的方法的流程图;
图7示出了本申请一个示例性实施例示出的radix运算的示意图;
图8示出了本申请一个示例性实施例示出的相位旋转运算的示意图;
图9示出了本申请一个示例性实施例提供的信号处理器的结构框图;
图10示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
FFT是离散傅里叶变换的快速算法,是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进后获得的,相比于离散傅里叶变换,FFT可以节约复数序列的运算次数,节省运算量。在信号处理领域中,使用FFT对信号进行处理时,可以将信号由时域变换到频域,用于在频域上进一步分析信号的特征。可选的,FFT算法包括基于时间抽取的FFT算法和基于频域抽取的FFT算法。如图1所示,其示出了16点IFFT变换的展开图,其中,以时间抽取,radix-2为例,X(0)~X(15)为16个采样信号,表示旋转因子,16个采样信号经过四级蝶形运算,得到输出信号,每级蝶形运算由radix-2运算和相位旋转运算组成。
由于每级蝶形运算中均需要经过两次复数加法和一次复数乘法,若不对运算数据进行处理,数据位宽会逐级增加。
针对相关技术中数据位宽会逐级增加的问题,本申请实施例提供了一种新的信号处理方法,该信号处理方法应用于图2所示的信号处理器中,如图2所示,其示出了本申请一个示例性实施例示出的信号处理器的结构框图,该信号处理器200包括:采样单元201、最大信噪比处理单元202、FFT运算单元203和溢出处理单元204。
采样单元201用于对模拟信号进行模数转换,并采样得到多个离散的数字信号。本申请实施例中,采样单元201用于获取初始采样信号。可选的,采样单元201可以是模拟/数字转换器(Analog-to-Digital Converter,ADC)。
最大信噪比处理单元202用于对输入信号进行最大信噪比处理。本实施例中,最大信噪比处理单元202可以接收采样单元201传输的初始采样信号,并对初始采样信号进行最大信噪比处理,得到用于进行FFT过程的输入信号。
FFT运算单元203用于对多个离散输入信号进行快速傅里叶变换运算。其中,FFT运算单元203可以包括多个radix运算器(基运算器)和相位旋转单元。
溢出处理单元204用于对数据进行溢出处理。本申请实施例中,在FFT运算过程中,当对信号处理过程中,若出现信号值对应的数据位宽超过数据位宽阈值时,则对信号值进行溢出处理,比如,增加缩放因子,缩小信号值等。
可选的,信号处理器200中还包括缓存器(buffer),用于存储每级的缩放因子。
相比于相关技术中,仅对输入信号进行FFT运算处理,本申请实施例在信号处理器200中新增最大信噪比处理单元202和溢出处理单元204,可以避免数据位宽随每级计算不断增加而导致数据位宽的溢出,从而避免了FFT实现过程中数据位宽不断增加对信号处理器的处理资源的占用,进而降低了FFT的实现成本。
需要说明的是,本申请实施例所示的信号处理方法可以应用于信号处理器(处理器芯片中)中,该信号处理器可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC),本申请实施例对此不构成限定。
请参考图3,其示出了本申请一个示例性实施例提供的信号处理方法的流程图。本申请实施例以该方法应用于信号处理器为例进行说明,该方法包括:
步骤301,获取初始采样信号。
信号处理领域中,在对模拟信号进行处理时,需要先将模拟信号转换为数字信号,再对其进行信号处理,因此,在一种可能的实施方式中,信号处理器对接收到的模拟信号进行ADC采样后,得到数字信号,即初始采样信号。
其中,模拟信号可以是射频信号,也可以是电磁波信号,本申请实施例对模拟信号的种类不构成限定。
由于FFT处理过程中,为了方便FFT运算,在对模拟信号进行ADC采样时,采样得到的点数一般取2的整数次方,比如,采样点数为16点,为2^4,即可以得到16个初始采样信号。
步骤302,对初始采样信号进行最大信噪比处理,得到输入信号,经过最大信噪比处理后的输入信号对应的数据位宽低于数据位宽阈值。
其中,定义初始数据位宽为W,初始数据位宽为初始采样信号对应的采样位宽,比如,初始数据位宽(采样位宽)为16bit,表示每个采样点采集2个字节的数据;数据位宽阈值由初始数据位宽决定,该数据位宽阈值是用于确定在FFT实现过程中,是否出现数据位宽大于数据位宽阈值的情况,即是否出现溢出情况。
在一个示例性的例子中,数据位宽阈值可以表示为:
max_W=2W-1-1
其中,max_W表示数据位宽阈值,W表示初始数据位宽。
由于FFT实现过程中,采用FFT定点化方式处理数据,因此,为了避免FFT定点化的损失,在一种可能的实施方式中,首先对初始采样信号进行最大信噪比处理,从而得到用于进行FFT的输入信号。
当然,由于数据位宽阈值的限制,对初始采样信号进行最大信噪比处理后的输入信号对应的数据位宽也需要保证低于数据位宽阈值,避免溢出。
步骤303,对输入信号进行快速傅里叶变换运算,并在快速傅里叶变换运算过程中进行溢出处理,得到输出信号,经过溢出处理后的输出信号的数据位宽小于数据位宽阈值。
其中,溢出处理用于在快速傅里叶变换运算过程中,对数据位宽大于数据位宽阈值的信号进行处理。
由于在FFT实现过程中,每一级进行处理过程中均会导致数据位宽的增加,比如,对两个信号值进行复数乘法,显然会导致数据位宽的增加,因此,为了避免数据位宽的无限制增加,在FFT实现过程中,当确定出信号的数据位宽大于数据位宽阈值时,对信号值进行溢出处理,避免数据溢出的同时,可以节省FFT的实现成本。
本申请实施例中,通过对初始采样信号进行最大信噪比处理,减少FFT过程中的定点化损失,并在FFT过程中进行溢出处理,可以避免数据位宽随每级计算不断增加而导致数据位宽的溢出,从而避免了FFT实现过程中数据位宽不断增加对信号处理器的处理资源的占用,进而降低了FFT的实现成本。
由于FFT实现过程中,存在多级蝶形运算,为了进一步保证中间每级运算均不会出现溢出现象,因此,在一种可能的实施方式中,通过在各级蝶形运算中均进行溢出处理,可以进一步避免出现溢出现象。
请参考图4,其示出了本申请另一个示例性实施例示出的信号处理方法的流程图。本申请实施例以该方法应用于信号处理器为例进行说明,该方法包括:
步骤401,获取初始采样信号。
本步骤的实施方式可以参考步骤301,本实施例在此不做赘述。
步骤402,根据初始实部信号值、初始虚部信号值和初始数据位宽,计算输入信号对应的初始缩放因子,初始数据位宽为初始采样信号对应的采样位宽。
其中,在表示初始采样信号时,将初始采样信号表示为复数的形式参与信号处理运算,比如,初始信号可以表示为:Rsi(n)=Xsi(n)+j·Ysi(n),其中,Rsi(n)为初始采样信号,Xsi(n)为初始采样信号对应的实部信号值,Ysi(n)为初始采样信号对应的虚部信号值,j为虚数单位。
可选的,初始采样信号(I/Q)可以共享同一个指数,比如,共享指数为e,则初始采样信号可以表示为:Rsi(n)=I*2e+Q*2e
在一种可能的实施方式中,对每个数据Rsi(n)进行最大信噪比处理时,原理为:将每个数据Rsi(n)进行左移,保证输入数据(信号)I/Q最高位有一个不为0,对应的,在进行处理过程中,首先根据初始采样信号对应的初始实部信号值、初始虚部信号值和初始数据位宽,计算得到输入信号对应的初始缩放因子,再根据初始缩放因子和初始采样信号值,计算得到最大信噪比处理后的输入信号。
在一个示例性的例子中,缩放因子与初始采样信号的关系可以表示为:
S(n)=W-2-floor(log2(max(|Xsi(n)|,|Ysi(n)|))) (1)
其中,S(n)为初始采样信号Rsi(n)对应的初始缩放因子,W为初始数据位宽,Xsi(n)为初始实部信号值,Ysi(n)为初始虚部信号值,floor(x)表示向下取整函数,即取不大于x的最大整数,max(x)表示取最大值,|x|表示取绝对值。
在一种可能的实施方式中,对复数形式表示的初始采样信号按照公式(1)所示的方式计算,即可以得到输入信号对应的初始缩放因子。
由于本申请实施例中并非采用固定的缩放因子,因此,设置有用于存储缩放因子的buffer,该buffer的大小为信号处理器最大支持的FFT点数。
其中,FFT点数即初始采样信号对应的个数,为了便于进行FFT运算,初始采样信号通常取2的整数次方,比如,16点。
步骤403,根据初始采样信号和初始缩放因子,计算得到输入信号。
在一种可能的实施方式中,在确定出初始缩放因子后,即可以根据初始采样信号和初始缩放因子,计算得到最大信噪比处理后的输入信号。
在一个示例性的例子中,输入信号、初始缩放因子和初始采样信号的关系可以表示为:
Rsi′(n)=Rsi(n)·2-s(n)
其中,Rsi′(n)表示输入信号(即经过最大信噪比处理后的信号),Rsi(n)表示初始采样信号,s(n)表示初始缩放因子。
步骤404,对输入信号进行k级蝶形运算,并在各级蝶形运算过程中进行溢出处理,得到输出信号,k为正整数,且与初始采样信号的个数有关。
FFT运算为各级蝶形运算的迭加,根据FFT运算的特点,FFT中包括几级蝶形运算与初始采样信号的个数有关,同时也与FFT所采用的算法有关,以时间抽取的基-2算法为例,若初始采样信号的个数为16(2^4)个,则FFT包括4级蝶形运算,若以时间抽取的基-4为例,则FFT包括两级蝶形运算(4^2)。
为了避免各级蝶形运算过程中出现溢出现象,在一种可能的实施方式中,通过在各级蝶形运算过程中进行溢出处理,可以避免各级蝶形运算过程中数据位宽的不断增加。
本实施例中,通过对初始采样信号进行最大信噪比处理,可以避免FFT定点化的损失,此外,通过在FFT中的各级蝶形运算过程中均进行溢出处理,避免在蝶形运算过程中出现数据溢出现象,从而减少了数据位宽的不断增加,避免因数据位宽的增加需要设置相应的硬件结构,从而降低了FFT的实现成本。
由图1可知,每级蝶形运算过程中,需要经过基(radix)运算和相位旋转运算两个运算步骤,因此,在蝶形运算过程中进行溢出处理时,需要分别考虑两种运算情况下的溢出处理过程,即在每一种运算后均需要进行溢出处理。
在图4的基础上,如图5所示,步骤404可以包括步骤404A至步骤404D。
步骤404A,对第n级输入信号进行radix运算,得到第n级radix运算结果,n为正整数,第n级输入信号是第n级蝶形运算的输入信号。
在对蝶形运算进行溢出处理过程中,考虑到蝶形运算包括radix运算和相位旋转运算,且每一种运算均有可能带来数据位宽的增加,因此,在对输入信号进行radix运算后,需要对radix运算结果进行溢出处理,再对溢出处理后的输出信号进行相位旋转运算;同理,在对输出信号进行相位旋转运算后,也许要对相位旋转运算结果进行溢出处理,才可以作为下一级蝶形运算的输入信号。
由于FFT过程中包含k级蝶形运算,即k个蝶形运算的迭代过程,因此,在一种可能的实施方式中,信号处理器在获取到第n级输入信号后,即对该第n级输入信号进行radix运算,首先得到第n级radix运算结果,再对第n级radix运算结果进行溢出处理,其中,第n级输入信号即第n级蝶形运算的输入信号。
在一个示例性的例子中,以radix-2,16点FFT为例,FFT包括4级蝶形运算,当n取1时,则将第一级输入信号(第一级输入信号即为对初始采样信号进行最大信噪比处理后的输入信号或第一级蝶形运算的输入信号)进行radix运算,得到第一级radix运算结果,再对第一级radix运算结果进行溢出处理。当n取2时,则第二级输入信号即为第一级输入信号经过radix运算、溢出处理、相位旋转运算和溢出处理后得到的信号,依次类推。
步骤404B,对第n级radix运算结果进行溢出处理,得到第n级输出信号。
与相关技术中直接将radix运算结果进行相位旋转运算不同的是,本申请实施例为了避免在对信号值进行radix运算过程中数据位宽增加导致的溢出现象,在得到radix运算结果后,首先需要对radix运算结果进行溢出处理,避免数据位宽超过最大数据位宽,再将溢出处理后的radix运算结果进行后续相位旋转运算。
与步骤404A对应,在实施过程中,当信号处理器获取到第n级radix运算结果后,首先对第n级radix运算结果进行溢出处理,从而得到用于进行相位旋转运算的输出信号,即第n级输出信号。
在一个示例性的例子中,当n取1时,将第一级输入信号进行radix运算,得到第一级radix运算结果后,首先对第一级radix运算结果进行溢出处理,并将溢出处理后得到的输出信号作为第一级输出信号。
步骤404C,对第n级输出信号进行相位旋转运算,得到第n级相位旋转运算结果。
每级蝶形运算过程中,均是先进行radix运算,再进行相位旋转运算,因此,在一种可能的实施方式中,信号处理器将经过蝶形运算和溢出处理后的第n级输出信号输入相位旋转运算单元中,进行相位旋转运算,首先得到第n级相位旋转运算结果,再进行溢出处理。
步骤404D,对第n级相位旋转运算结果进行溢出处理,得到第n+1级输入信号,其中,将对第k级相位旋转运算结果进行溢出处理后得到的输入信号确定为输出信号。
与上文中的radix运算处理过程类似,在对输入信号进行radix运算和溢出处理后,将得到的输出信号输入相位旋转运算,由于相位旋转运算存在复数乘法,也可能会导致信号数据位宽的增加,因此,在一种可能的实施方式中,需要对相位旋转运算结果进行溢出处理,才可以进行后一级蝶形运算。
在FFT过程中,当信号处理器获取到第n级相位旋转运算结果后,首先需要对其进行溢出处理,避免其数据位宽大于数据位宽阈值,再对溢出处理后的数据进行后续蝶形运算。
在一个示例性的例子中,第n级蝶形运算的运算过程包括:对第n级输入信号进行radix运算,得到radix运算结果,对radix运算结果溢出处理,得到第n级输出信号,对第n级输出信号进行相位旋转运算,得到第n级相位旋转运算结果,对第n级相位旋转运算结果进行溢出处理,得到第n+1级输入信号,该第n+1级输入信号用于进行第n+1级蝶形运算,第n+1蝶形运算过程与第n级蝶形运算过程类似,本实施例在此不做赘述。
需要说明的是,当第n等于k,即FFT进行到最后一级(k级)蝶形运算时,则将经过radix运算-溢出处理-相位旋转运算-溢出处理后得到的输入信号确定为FFT的输出信号。
本实施例中,由于考虑到每级蝶形运算中包括radix运算和相位旋转运算,且这两种运算均可能造成数据位宽增加,即可能出现数据位宽超过数据位宽阈值的情况,因此,在每级蝶形运算过程中,在radix运算和相位旋转运算后均增加溢出处理步骤,更精确的预防数据位宽的溢出现象。
上文实施例中描述了溢出处理在FFT实现过程中的作用位置,即在各级蝶形运算均需要进行溢出处理,且针对每级蝶形运算中包含的radix运算和相位旋转运算也需要进行溢出处理,下文实施例中重点描述在每个运算过程中,进行溢出处理的详细过程。
请参考图6,其示出了本申请一个示例性实施例示出的蝶形运算过程中进行溢出处理的方法的流程图,本申请实施例以该方法应用于信号处理器为例进行说明,该方法包括:
步骤601,对第一输入信号和第二输入信号进行radix运算,得到第一radix运算结果和第二radix运算结果。
由图1可知,在每个蝶形运算过程中,蝶形运算的输入包括两个信号,第一输入信号和第二输入信号,输出也为两个信号,即第一输出信号和第二输出信号,因此,在一种可能的实施方式中,在对第n级输入信号进行radix运算时,是对第n级输入信号所对应的第一输入信号和第二输入信号进行radix运算,对应的,在radix运算后,也同样得到两个radix运算结果,即第一radix运算结果和第二radix运算结果。
其中,在对第一输出信号和第二输出信号进行radix运算的过程可以包括以下步骤:
一、获取第一输入信号对应的第一缩放因子和第二输入信号对应的第二缩放因子。
在一种可能的实施方式中,在进行radix运算过程中,需要考虑到每级输入信号对应的缩放因子,由于缩放因子是动态变化的,且存储在buffer中,当对第n级输入信号进行radix运算时,需要从buffer中获取第一输入信号和第二输入信号(第n级输入信号)分别对应的第一缩放因子和第二缩放因子,用于进行radix运算。
二、将第一缩放因子和第二缩放因子中的最大值,确定为radix运算对应的第n级缩放因子。
在进行radix运算过程中,将第一缩放因子和第二缩放因子中的最大值作为radix运算对应的第n级缩放因子,对第一输入信号和第二输入信号进行radix运算。即缩放因子的最大值max_s=max(s(m),s(n)),其中,s(m)表示第一缩放因子,s(n)表示第二缩放因子,max(x)表示取最大值。
三、根据第一输入信号、第二输入信号和第n级缩放因子,计算得到第一radix运算结果和第二radix运算结果。
在一种可能的实施方式中,计算得到最大缩放因子后,即可以根据第一输出信号、第二输出信号和第n级缩放因子(第n级输入信号对应的第一缩放因子和第二缩放因子的最大值),计算第一radix运算结果和第二radix运算结果。
在一个示例性的例子中,以第一radix运算结果为例,radix计算公式可以表示为:
r′sj+1(m)=rsj(m)·2s(m)-max_s+rsj(n)·2s(n)-max_s
其中,r′sj+1(m)表示第一radix运算结果,rsj(m)表示第一输入信号,rsj(n)表示第二输入信号,s(m)表示第一输入信号对应的第一缩放因子,s(n)表示第二输入信号对应的第二缩放因子,max_s表示第一缩放因子和第二缩放因子的最大值。
由于蝶形运算上加下减的特征,因此,第二radix运算结果可以表示为:
r′sj+1(n)=rsj(m)·2s(m)-max_s-rsj(n)·2s(n)-max_s
其中,r′sj+1(n)表示第二radix运算结果。
步骤602,对第一radix运算结果进行溢出处理,得到第一输出信号。
由于在radix运算后可以得到两个运算结果,即第一radix运算结果和第二radix运算结果,因此,在对radix运算结果进行溢出处理过程中,也需要分别对这两个radix运算结果进行溢出处理,在一种可能的实施方式中,信号处理器对第一radix运算结果进行溢出处理,可以得到第n级输出信号对应的第一输出信号,用于后续进行相位旋转运算。
其中,对第一radix运算结果进行溢出处理的过程可以包括以下步骤:
一、获取第一radix运算结果对应的第一实部信号值和第一虚部信号值。
由于进行溢出处理过程中,需要判断radix运算结果对应的数据位宽是否超过数据位宽阈值,而且由于在对信号处理过程中,信号由复数表示的关系,因此,在一种可能的实施方式中,通过获取radix运算结果中的实部信号值和虚部信号值,用于后续判断数据位宽是否溢出,即获取第一radix运算结果对应的第一实部信号值和第一虚部信号值。
二、响应于第一实部信号值的绝对值大于等于数据位宽阈值,或第一虚部信号值的绝对值大于等于数据位宽阈值,根据第n级缩放因子和第一radix运算结果,计算得到第一输出信号,其中,第一输出信号对应的缩放因子大于第n级缩放因子,第一输出信号为第一radix运算结果的二分之一。
在一种可能的实施方式中,当获取到第一radix运算结果对应的第一实部信号值和第一虚部信号值后,分别判断第一实部信号值和第一虚部信号值的数据位宽与数据位宽阈值之间的关系,以便确定对第一radix运算结果的处理方式。
在一个示例性的例子中,判断是否进行溢出处理的公式可以表示为:
abs(real(r′sj+1(m)))≥max_W或abs(imag(r′sj+1(m)))≥max_W
其中,r′sj+1(m)表示第一radix运算结果,max_W表示数据位宽阈值,real(x)表示取复数的实部数值,imag(x)表示取复数的虚部数值,abs(x)表示求绝对值。
其中,针对第一实部信号值的绝对值大于等于数据位宽阈值,或第一虚部信号值的绝对值大于等于数据位宽阈值的情况,为了避免数据溢出或后续继续进行运算会导致数据溢出的情况,通过增大缩放因子和减少信号值等方式来避免数据溢出的情况。
在一种可能的实施方式中,若radix运算结果存在数据溢出现象,将第n级缩放因子(即第一缩放因子和第二缩放因子的最大值)加1得到第一输出信号对应的缩放因子(即增加缩放因子),并将第一radix运算结果缩小为原来的二分之一(即减少信号值),作为第一输出信号。
在一个示例性的例子中,当存在数据溢出情况时,对第一radix运算结果和第n级缩放因子的处理方式可以表示为:
s′(m)=max_s+1,rsj+1(m)=r′sj+1(m)/2
其中,s′(m)表示第一输出信号对应的缩放因子,max_s表示为第n级缩放因子,rsj+1(m)为第一输出信号(即经过溢出处理后的信号),r′sj+1(m)表示第一radix运算结果。
三、响应于第一实部信号值的绝对值小于最大数据位宽阈值,且第一虚部信号值的绝对值小于最大数据位宽阈值,将第n级缩放因子确定为第一输出信号对应的缩放因子,并将第一radix运算结果确定为第一输出信号。
针对第一radix运算结果不存在溢出现象的情况,即实部信号值和虚部信号值的数据位宽均小于数据位宽阈值,则无需增大缩放因子和减小radix运算结果,因此,在一种可能的实施方式中,若第一实部信号值的绝对值小于数据位宽阈值,且第一虚部信号值的绝对值小于数据位宽阈值,可以直接将第n级缩放因子确定为第一输出信号对应的缩放因子,并将第一radix运算结果确定为第一输出信号。
在一个示例性的例子中,当第一radix运算结果不存在溢出现象后,第一输出信号与第一radix运算结果的关系可以表示为:
s′(m)=max_s,rsj+1(m)=r′sj+1(m)
其中,s′(m)表示第一输出信号对应的缩放因子,max_s表示第n级缩放因子(即第一缩放因子和第二缩放因子的最大值),rsj+1(m)表示第一输出信号,r′sj+1(m)表示第一radix运算结果。
步骤603,对第二radix运算结果进行溢出处理,得到第二输出信号。
与上文实施例中对第一radix运算结果进行处理类似的,在得到第二radix运算结果后,也需要对第二radix运算结果进行溢出处理,再对溢出处理后的第二radix运算结果进行相位旋转运算。
其中,对第二radix运算结果进行溢出处理的方式可以包括以下步骤:
一、获取第二radix运算结果对应的第二实部信号值和第二虚部信号值。
与上文实施例中对第一radix运算结果进行溢出处理过程类似,在对第二radix运算结果进行溢出处理后,也需要分别判断第二radix运算结果对应的实部信号值和虚部信号值与数据位宽阈值之间的关系,则对应的信号处理器获取第二radix运算结果对应的第二实部信号值和第二虚部信号值。
二、响应于第二实部信号值的绝对值大于等于数据位宽阈值,或第二虚部信号值的绝对值大于等于数据位宽阈值,根据第n级缩放因子和第二radix运算结果,计算得到第二输出信号,其中,第二输出信号对应的缩放因子大于第n级缩放因子,第二输出信号为第二radix运算结果的二分之一。
在一种可能的实施方式中,通过在每次运算后比较运算结果与数据位宽阈值之间的关系,来确定对运算结果的溢出处理方式,即对应的比较第二radix运算结果对应的第二实部信号值和第二虚部信号值与数据位宽阈值之间的关系来确定对第二radix运算结果的溢出处理方式。
在一个示例性的例子中,判断第二radix运算结果是否进行溢出处理的公式可以表示为:
abs(real(r′sj+1(n)))≥max_W或abs(imag(r′sj+1(n)))≥max_W
其中,r′sj+1(n)表示第二radix运算结果,max_W表示数据位宽阈值,real(x)表示取复数的实部数值,real(r′sj+1(n))表示第二radix运算结果对应的第二实部信号值,imag(x)表示取复数的虚部数值,imag(r′sj+1(n))表示第二radix运算结果对应的第二虚部信号值,abs(x)表示求绝对值,abs(real(r′sj+1(n)))表示第二实部信号值的绝对值,abs(imag(r′sj+1(n)))表示第二虚部信号值的绝对值。
若确定出第二radix运算结果对应的第二实部信号值的绝对值大于等于数据位宽阈值,或第二虚部信号值的绝对值大于等于数据位宽阈值,表示第二radix运算结果存在数据位宽溢出或后续继续进行运算会导致数据位宽溢出的情况,因此,可以通过增加缩放因子和减少信号值的方式来避免溢出。
在一种可能的实施方式中,若第二radix运算结果存在数据溢出现象,则将第n级缩放因子(即第一缩放因子和第二缩放因子的最大值)加一得到第二输出信号对应的缩放因子(即增大缩放因子),并将第二radix运算结果缩小为原来的二分之一(即减少信号值),作为第二输出信号。
在一个示例性的例子中,当存数据位宽溢出情况时,对第二radix运算结果和第n级缩放因子的处理方式可以表示为:
s′(n)=max_s+1,rsj+1(m)=r′sj+1(n)/2
其中,s′(n)表示第二输出信号对应的缩放因子,max_s表示为第n级缩放因子,rsj+1(m)为第二输出信号(即对第二radix运算结果进行溢出处理后得到的信号),r′sj+1(n)表示第二radix运算结果。
三、响应于第二实部信号值的绝对值小于数据位宽阈值,且第二虚部信号值的绝对值小于数据位宽阈值,将第n级缩放因子确定为第二输出信号对应的缩放因子,并将第二radix运算结果确定为第二输出信号。
在另一种可能的实施方式中,若第二radix运算结果对应的第二实部信号值的绝对值小于数据位宽阈值,且其对应的第二虚部信号值的绝对值也小于数据位宽阈值,表示第二radix运算结果不存在数据位宽溢出的现象,因此,可以不对第二radix运算结果进行溢出处理,即可以直接将第二radix运算结果确定为第二输出信号,并将第n级缩放因子确定为第二输出信号的缩放因子。
在一个示例性的例子中,当第二radix运算结果不存在数据位宽溢出现象,第二输出信号和第二radix运算结果的关系可以表示为:
s′(n)=max_s,rsj+1(n)=r′sj+1(n)
其中,s′(n)表示第二输出信号对应的缩放因子,max_s表示第n级缩放因子,rsj+1(n)表示第二输出信号,r′sj+1(n)表示第二radix运算结果。
在一个示例性的例子中,如图7所示,其示出了本申请一个示例性实施例示出的radix运算的示意图。以j表示第j级蝶形运算,其中,rsj(m)表示第j级输入信号对应的第一输入信号,rsj(n)表示第j级输入信号对应的第二输入信号,s(m)表示第一输入信号对应的第一缩放因子,s(n)表示第二输入信号对应的第二缩放因子,rsj+1(m)表示第j级输出信号对应的第一输出信号,rsj+1(n)表示第j级输出信号对应的第二输出信号,s′(m)表示第一输出信号对应的缩放因子,s′(n)表示第二输出信号对应的缩放因子。其中,由rsj(m)、rsj(n)到rsj+1(m)、rsj+1(n)的过程可以参考上文实施例。
步骤604,对第一输出信号进行相位旋转运算,得到第一相位旋转运算结果。
其中,第一输出信号为第一radix运算结果经过溢出处理后的信号。
针对相位旋转运算过程,存在两种情况,一种是无需经过复数乘法运算,一种是需要经过复数乘法运算,其中,经过乘法运算后可能带来数据位宽的增加,因此,在相位旋转运算单元后还需要进行溢出处理,另外针对不需要经过复数乘法运算的情况,可以不需要进行溢出处理,也可以进行溢出处理,不过溢出处理后的输入信号与溢出处理前的一致。
在一个示例性的例子中,针对需要进行复数乘法运算的相位旋转单元,相位旋转运算结果的计算公式可以表示为:
其中,r′sj+1(m)表示第一相位旋转运算结果,rsj(m)为第一输出信号(即经过溢出处理的第一radix运算结果),为FFT中的旋转因子,
步骤605,对第二输出信号进行相位旋转运算,得到第二相位旋转运算结果。
其中,第二输出信号即对第二radix运算结果进行溢出处理后的信号。
针对第二相位旋转运算结果的计算方式可以参考第一相位旋转运算结果,本实施例在此不做赘述。
步骤606,对第一相位旋转运算结果进行溢出处理,得到第n+1级输入信号对应的第一输入信号。
与radix运算类似,不同于相关技术中,直接将相位旋转运算结果作为下一级蝶形运算的输入信号,本申请实施例为了避免数据位宽溢出的情况,需要对相位旋转运算结果进行溢出处理。
在一种可能的实施方式中,当信号处理器获取到第一相位旋转运算结果后,将第一相位旋转运算结果进行溢出处理,得到下一级蝶形运算的第一输入信号,即第n+1级输入信号中的第一输入信号。
在一种可能的实施方式中,对第一相位旋转运算结果进行溢出处理的过程可以包括以下步骤:
一、获取第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值。
与对radix运算结果进行溢出处理类似,在对相位旋转运算结果进行溢出处理时,也需要比较相位旋转运算结果中实部信号值和虚部信号值对应的数据位宽与数据位宽阈值之间的关系,因此,在一种可能的实施方式中,当信号处理器获取到第一相位旋转运算结果后,即获取第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值,用于判断后续是否进行溢出处理。
二、响应于第三实部信号值的绝对值大于等于数据位宽阈值,或第三虚部信号值的绝对值大于等于数据位宽阈值,根据第一输出信号对应的缩放因子和第一相位旋转运算结果,确定第n+1级输入信号对应的第一输入信号和第一输入信号对应的第一缩放因子,第一输入信号为第一相位旋转运算结果的二分之一,第一缩放因子大于第一输出信号对应的缩放因子。
其中,判断是否溢出的公式可以参考上文实施例,本实施例在此不做赘述。
针对存在数据位宽溢出的情况下,即第三实部信号值的绝对值大于等于数据位宽阈值,或第三虚部信号值的绝对值大于等于数据位宽阈值的情况,需要增加缩放因子和缩小信号值(即对相位旋转运算结果进行溢出处理)。
在一个示例性的例子中,对第一相位旋转运算结果和缩放因子的处理方式可以表示为:
s′(m)=s(m)+1,rsj+1(m)=r′sj+1(m)/2
其中,s′(m)表示溢出处理后的缩放因子(第一输入信号的缩放因子),s(m)表示第一输出信号对应的缩放因子,rsj+1(m)表示溢出处理后的第一相位旋转运算结果(即第一输入信号),r′sj+1(m)表示第一相位旋转运算结果。
三、响应于第三实部信号值的绝对值小于数据位宽阈值,且第三虚部信号值的绝对值小于数据位宽阈值,将第一相位旋转运算结果确定为第n+1级输入信号对应的第一输入信号,并将第一输出信号对应的缩放因子确定为第一输入信号对应的第一缩放因子。
针对第一相位旋转运算结果的数据位宽不会溢出的情况,即第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值的数据位宽均小于数据位宽阈值的情况,无需增加缩放因子和减小信号值,在一种可能的实施方式中,可以直接将第一输出信号对应的缩放因子确定为第一输入信号的缩放因子,并将第一相位旋转运算结果确定为第n+1级输入信号对应的第一输入信号。
在一个示例性的例子中,在第一相位旋转运算结果不存在数据溢出的情况下,第一输入信号和其对应的缩放因子可以表示为:
s′(m)=s(m),rsj+1(m)=r′sj+1(m)
其中,s′(m)表示第一输入信号对应的缩放因子(即溢出处理后的缩放因子),s(m)表示第一输出信号对应的缩放因子(即相位旋转运算之前的缩放因子),rsj+1(m)表示第一输入信号(即溢出处理后的输入信号),r′sj+1(m)表示第一输出信号(即相位旋转运算之前的信号)。
步骤607,对第二相位旋转运算结果进行溢出处理,得到第n+1级输入信号对应的第二输入信号。
其中,对第二相位旋转运算结果进行溢出处理的方式可以包括以下步骤:
一、获取第二相位旋转运算结果对应的第四实部信号值和第四虚部信号值。
与上文中对第一相位旋转运算结果进行溢出处理类似,在得到第二相位旋转运算结果后,需要获取第二相位旋转运算结果对应的第四实部信号值和第四虚部信号值,并对第四实部信号值和第四虚部信号值进行判断,确定是否需要对第二相位旋转运算结果进行溢出处理。
二、响应于第四实部信号值的绝对值大于等于数据位宽阈值,或第四虚部信号值的绝对值大于等于数据位宽阈值,根据第二输出信号对应的缩放因子和第二相位旋转运算结果,确定第n+1级输入信号对应的第二输入信号和第二输入信号对应的第二缩放因子,第二输入信号为第二相位旋转运算结果的二分之一,所第二缩放因子大于第二输出信号对应的缩放因子。
在一种可能的实施方式中,若第二相位旋转运算结果对应的第四实部信号值的绝对值大于等于数据位宽阈值,或第二相位旋转运算结果对应的第四虚部信号值的绝对值大于等于数据位宽阈值,则确定第二相位旋转运算结果可能存在数据位宽溢出的情况,通过对第二相位旋转运算结果进行溢出处理,得到用于输入下一级蝶形运算的第二输入信号。
其中,对第二相位旋转运算结果进行溢出处理的方式包括:对第二相位旋转运算结果进行信号值减半,即第n+1级输入信号对应的第二输入信号为第二相位旋转运算结果的二分之一,增加缩放因子,即第二输入信号的缩放因子大于第二输出信号的缩放因子,比如,将第二输出信号(第n级输出信号)的缩放因子加一得到第二输入信号(第n+1级输入信号)的缩放因子。
三、响应于第四实部信号值的绝对值小于数据位宽阈值,且第四虚部信号值的绝对值小于数据位宽阈值,将第二相位旋转运算结果确定为第n+1级输入信号对应的第二输入信号,并将第二输出信号对应的缩放因子确定为第二输入信号对应的第二缩放因子。
在另一种可能的实施方式中,若确定出第二相位旋转运算结果对应的第四实部信号值的绝对值小于数据位宽阈值,且第四虚部信号值的绝对值也小于数据位宽阈值,则表明第二相位旋转运算结果不存在数据位宽溢出的现象,无需对其进行溢出处理,则对应的将第二相位旋转运算结果确定为第n+1级输入信号对应的第二输入信号(即信号值不变),将第二输出信号(第n级输出信号)对应的缩放因子确定为第二输入信号(第n+1级输入信号)对应的第二缩放因子(缩放因子不变)。
在一个示例性的例子中,如图8所示,其示出了本申请一个示例性实施例示出的相位旋转运算的示意图。其中,rsj(m)表示第j级蝶形运算中第一输出信号(即输入相位旋转运算单元的信号),s(m)表示第一输出信号对应的缩放因子,rsj+1(m)表示rsj(m)经过相位旋转运算和溢出处理后的第一输出信号,s′(m)表示第一输出信号对应的缩放因子,表示旋转因子。
本实施例中,描述了在radix运算和相位旋转运算过程中进行溢出处理的过程,相比于相关技术中,通过对radix运算结果进行溢出处理,可以避免在radix运算过程中数据位宽的增加,同时对相位旋转运算结果进行溢出处理,可以避免在相位旋转运算过程中数据位宽的增加,从而避免FFT实现过程中数据位宽的增加对信号处理器处理资源的占用,进而降低了FFT的实现成本。
需要说明的是,本申请实施例仅以FFT为例进行示例性说明,在其他可能的实施方式中,在IFFT过程中,也同样适用本申请实施例提供的各种信号处理方法。
请参考图9,其示出了本申请一个示例性实施例提供的信号处理器的结构框图。该信号处理器包括采样单元901、最大信噪比处理单元902、快速傅里叶变换运算单元903和溢出处理单元904。
采样单元901用于获取初始采样信号;
最大信噪比处理单元902用于对所述初始采样信号进行最大信噪比处理,得到输入信号;
快速傅里叶变换运算单元903和溢出处理单元904用于对所述输入信号进行处理,得到输出信号。
可选的,快速傅里叶变换运算包括k级蝶形运算,k为正整数,且与所述初始采样信号的个数有关;
快速傅里叶变换运算单元903和溢出处理单元904还用于:
对所述输入信号进行k级蝶形运算,并在各级蝶形运算过程中进行溢出处理,得到所述输出信号。
可选的,所述蝶形运算包括radix运算和相位旋转运算;
快速傅里叶变换运算单元903和溢出处理单元904还用于:
对第n级输入信号进行radix运算,得到第n级radix运算结果,n为正整数,所述第n级输入信号是第n级蝶形运算的输入信号;
对所述第n级radix运算结果进行溢出处理,得到第n级输出信号;
对所述第n级输出信号进行相位旋转运算,得到第n级相位旋转运算结果;
对所述第n级相位旋转运算结果进行溢出处理,得到第n+1级输入信号,其中,将对第k级相位旋转运算结果进行溢出处理后得到的输入信号确定为所述输出信号。
快速傅里叶变换运算单元903和溢出处理单元904还用于:
对所述第一输入信号和所述第二输入信号进行radix运算,得到第一radix运算结果和第二radix运算结果;
对所述第一radix运算结果进行溢出处理,得到所述第一输出信号;
对所述第二radix运算结果进行溢出处理,得到所述第二输出信号;
对所述第一输出信号进行相位旋转运算,得到第一相位旋转运算结果;
对所述第二输出信号进行相位旋转运算,得到第二相位旋转运算结果;
对所述第一相位旋转运算结果进行溢出处理,得到所述第n+1级输入信号对应的第一输入信号;
对所述第二相位旋转运算结果进行溢出处理,得到所述第n+1级输入信号对应的第二输入信号。
可选的,快速傅里叶变换运算单元903还用于:
获取所述第一输入信号对应的第一缩放因子和所述第二输入信号对应的第二缩放因子;
将所述第一缩放因子和所述第二缩放因子中的最大值,确定为radix运算对应的第n级缩放因子;
根据所述第一输入信号、所述第二输入信号和所述第n级缩放因子,计算得到所述第一radix运算结果和所述第二radix运算结果。
可选的,溢出处理单元904还用于:
获取所述第一radix运算结果对应的第一实部信号值和第一虚部信号值;
响应于所述第一实部信号值的绝对值大于等于所述数据位宽阈值,或所述第一虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第n级缩放因子和所述第一radix运算结果,计算得到所述第一输出信号,其中,所述第一输出信号对应的缩放因子大于所述第n级缩放因子,所述第一输出信号为所述第一radix运算结果的二分之一;
响应于所述第一实部信号值的绝对值小于所述数据位宽阈值,且所述第一虚部信号值的绝对值小于所述数据位宽阈值,将所述第n级缩放因子确定为所述第一输出信号对应的缩放因子,并将所述第一radix运算结果确定为所述第一输出信号;
溢出处理单元904还用于:
获取所述第二radix运算结果对应的第二实部信号值和第二虚部信号值;
响应于所述第二实部信号值的绝对值大于等于所述数据位宽阈值,或所述第二虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第n级缩放因子和所述第二radix运算结果,计算得到所述第二输出信号,其中,所述第二输出信号对应的缩放因子大于所述第n级缩放因子,所述第二输出信号为所述第二radix运算结果的二分之一;
响应于所述第二实部信号值的绝对值小于所述数据位宽阈值,且所述第二虚部信号值的绝对值小于所述数据位宽阈值,将所述第n级缩放因子确定为所述第二输出信号对应的缩放因子,并将所述第二radix运算结果确定为所述第二输出信号。
可选的,溢出处理单元904还用于:
获取所述第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值;
响应于所述第三实部信号值的绝对值大于等于所述数据位宽阈值,或所述第三虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第一输出信号对应的缩放因子和所述第一相位旋转运算结果,确定所述第n+1级输入信号对应的第一输入信号和所述第一输入信号对应的第一缩放因子,所述第一输入信号为所述第一相位旋转运算结果的二分之一,所述第一缩放因子大于所述第一输出信号对应的缩放因子;
响应于所述第三实部信号值的绝对值小于所述数据位宽阈值,且所述第三虚部信号值的绝对值小于所述数据位宽阈值,将所述第一相位旋转运算结果确定为所述第n+1级输入信号对应的第一输入信号,并将所述第一输出信号对应的缩放因子确定为所述第一输入信号对应的第一缩放因子;
溢出处理单元904还用于:
获取所述第二相位旋转运算结果对应的第四实部信号值和第四虚部信号值;
响应于所述第四实部信号值的绝对值大于等于所述数据位宽阈值,或所述第四虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第二输出信号对应的缩放因子和所述第二相位旋转运算结果,确定所述第n+1级输入信号对应的第二输入信号和所述第二输入信号对应的第二缩放因子,所述第二输入信号为所述第二相位旋转运算结果的二分之一,所述第二缩放因子大于所述第二输出信号对应的缩放因子;
响应于所述第四实部信号值的绝对值小于所述数据位宽阈值,且所述第四虚部信号值的绝对值小于所述数据位宽阈值,将所述第二相位旋转运算结果确定为所述第n+1级输入信号对应的第二输入信号,并将所述第二输出信号对应的缩放因子确定为所述第二输入信号对应的第二缩放因子。
可选的,最大信噪比处理单元902还用于:
根据所述初始实部信号值、所述初始虚部信号值和初始数据位宽,计算所述输入信号对应的初始缩放因子,所述初始数据位宽为所述初始采样信号对应的采样位宽;
根据所述初始采样信号和所述初始缩放因子,计算得到所述输入信号。
本申请实施例中,通过对初始采样信号进行最大信噪比处理,减少FFT过程中的定点化损失,并在FFT过程中进行溢出处理,可以避免数据位宽随每级计算不断增加而导致数据位宽的溢出,从而避免了FFT实现过程中数据位宽不断增加对信号处理器的处理资源的占用,进而降低了FFT的实现成本。
请参考图10,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
所述计算机设备1000包括信号处理器1001和存储器1002。信号处理器1001可以是DSP,也可以是ASIC,本申请实施例对此不构成限定,当信号处理器1001运行时可以用于实现如上文各个实施例所示的信号处理方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的信号处理方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的信号处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的信号处理方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种信号处理方法,其特征在于,所述方法包括:
获取初始采样信号;
对所述初始采样信号进行最大信噪比处理,得到输入信号,经过最大信噪比处理后的所述输入信号对应的数据位宽低于数据位宽阈值;
对第n级输入信号进行radix运算,得到第n级radix运算结果,n为正整数,所述第n级输入信号是第n级蝶形运算的输入信号;对所述第n级radix运算结果进行溢出处理,得到第n级输出信号;其中,所述第n级输入信号包括第一输入信号和第二输入信号,所述第n级输出信号包括第一输出信号和第二输出信号;
对所述第一输出信号进行相位旋转运算,得到第一相位旋转运算结果;对所述第二输出信号进行相位旋转运算,得到第二相位旋转运算结果;
获取所述第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值;响应于所述第三实部信号值的绝对值大于等于所述数据位宽阈值,或所述第三虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第一输出信号对应的缩放因子和所述第一相位旋转运算结果,确定第n+1级输入信号对应的第一输入信号和所述第一输入信号对应的第一缩放因子,所述第一输入信号为所述第一相位旋转运算结果的二分之一,所述第一缩放因子大于所述第一输出信号对应的缩放因子;响应于所述第三实部信号值的绝对值小于所述数据位宽阈值,且所述第三虚部信号值的绝对值小于所述数据位宽阈值,将所述第一相位旋转运算结果确定为所述第n+1级输入信号对应的第一输入信号,并将所述第一输出信号对应的缩放因子确定为所述第一输入信号对应的第一缩放因子;
获取所述第二相位旋转运算结果对应的第四实部信号值和第四虚部信号值;响应于所述第四实部信号值的绝对值大于等于所述数据位宽阈值,或所述第四虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第二输出信号对应的缩放因子和所述第二相位旋转运算结果,确定所述第n+1级输入信号对应的第二输入信号和所述第二输入信号对应的第二缩放因子,所述第二输入信号为所述第二相位旋转运算结果的二分之一,所述第二缩放因子大于所述第二输出信号对应的缩放因子;响应于所述第四实部信号值的绝对值小于所述数据位宽阈值,且所述第四虚部信号值的绝对值小于所述数据位宽阈值,将所述第二相位旋转运算结果确定为所述第n+1级输入信号对应的第二输入信号,并将所述第二输出信号对应的缩放因子确定为所述第二输入信号对应的第二缩放因子,其中,将对第k级相位旋转运算结果进行溢出处理后得到的输入信号确定为输出信号,0<n≤k,k为正整数,且与所述初始采样信号的个数有关,经过溢出处理后的所述输出信号的数据位宽小于所述数据位宽阈值。
2.根据权利要求1所述的方法,其特征在于,
所述对第n级输入信号进行radix运算,得到第n级radix运算结果,包括:
对所述第一输入信号和所述第二输入信号进行radix运算,得到第一radix运算结果和第二radix运算结果;
所述对所述第n级radix运算结果进行溢出处理,得到第n级输出信号,包括:
对所述第一radix运算结果进行溢出处理,得到所述第一输出信号;
对所述第二radix运算结果进行溢出处理,得到所述第二输出信号。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一输入信号和所述第二输入信号进行radix运算,得到第一radix运算结果和第二radix运算结果,包括:
获取所述第一输入信号对应的第一缩放因子和所述第二输入信号对应的第二缩放因子;
将所述第一缩放因子和所述第二缩放因子中的最大值,确定为radix运算对应的第n级缩放因子;
根据所述第一输入信号、所述第二输入信号和所述第n级缩放因子,计算得到所述第一radix运算结果和所述第二radix运算结果。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一radix运算结果进行溢出处理,得到所述第一输出信号,包括:
获取所述第一radix运算结果对应的第一实部信号值和第一虚部信号值;
响应于所述第一实部信号值的绝对值大于等于所述数据位宽阈值,或所述第一虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第n级缩放因子和所述第一radix运算结果,计算得到所述第一输出信号,其中,所述第一输出信号对应的缩放因子大于所述第n级缩放因子,所述第一输出信号为所述第一radix运算结果的二分之一;
响应于所述第一实部信号值的绝对值小于所述数据位宽阈值,且所述第一虚部信号值的绝对值小于所述数据位宽阈值,将所述第n级缩放因子确定为所述第一输出信号对应的缩放因子,并将所述第一radix运算结果确定为所述第一输出信号;
所述对所述第二radix运算结果进行溢出处理,得到所述第二输出信号,包括:
获取所述第二radix运算结果对应的第二实部信号值和第二虚部信号值;
响应于所述第二实部信号值的绝对值大于等于所述数据位宽阈值,或所述第二虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第n级缩放因子和所述第二radix运算结果,计算得到所述第二输出信号,其中,所述第二输出信号对应的缩放因子大于所述第n级缩放因子,所述第二输出信号为所述第二radix运算结果的二分之一;
响应于所述第二实部信号值的绝对值小于所述数据位宽阈值,且所述第二虚部信号值的绝对值小于所述数据位宽阈值,将所述第n级缩放因子确定为所述第二输出信号对应的缩放因子,并将所述第二radix运算结果确定为所述第二输出信号。
5.根据权利要求1至4任一所述的方法,其特征在于,所述初始采样信号由初始实部信号值和初始虚部信号值组成;
所述对所述初始采样信号进行最大信噪比处理,得到输入信号,包括:
根据所述初始实部信号值、所述初始虚部信号值和初始数据位宽,计算所述输入信号对应的初始缩放因子,所述初始数据位宽为所述初始采样信号对应的采样位宽;
根据所述初始采样信号和所述初始缩放因子,计算得到所述输入信号。
6.一种信号处理器,其特征在于,所述信号处理器包括采样单元、快速傅里叶变换运算单元、最大信噪比处理单元和溢出处理单元;
所述采样单元用于获取初始采样信号;
所述最大信噪比处理单元用于对所述初始采样信号进行最大信噪比处理,得到输入信号;
所述快速傅里叶变换运算单元和所述溢出处理单元用于对第n级输入信号进行radix运算,得到第n级radix运算结果,n为正整数,所述第n级输入信号是第n级蝶形运算的输入信号;对所述第n级radix运算结果进行溢出处理,得到第n级输出信号;其中,所述第n级输入信号包括第一输入信号和第二输入信号,所述第n级输出信号包括第一输出信号和第二输出信号;对所述第一输出信号进行相位旋转运算,得到第一相位旋转运算结果;对所述第二输出信号进行相位旋转运算,得到第二相位旋转运算结果;获取所述第一相位旋转运算结果对应的第三实部信号值和第三虚部信号值;响应于所述第三实部信号值的绝对值大于等于所述数据位宽阈值,或所述第三虚部信号值的绝对值大于等于数据位宽阈值,根据所述第一输出信号对应的缩放因子和所述第一相位旋转运算结果,确定第n+1级输入信号对应的第一输入信号和所述第一输入信号对应的第一缩放因子,所述第一输入信号为所述第一相位旋转运算结果的二分之一,所述第一缩放因子大于所述第一输出信号对应的缩放因子;响应于所述第三实部信号值的绝对值小于所述数据位宽阈值,且所述第三虚部信号值的绝对值小于所述数据位宽阈值,将所述第一相位旋转运算结果确定为所述第n+1级输入信号对应的第一输入信号,并将所述第一输出信号对应的缩放因子确定为所述第一输入信号对应的第一缩放因子;获取所述第二相位旋转运算结果对应的第四实部信号值和第四虚部信号值;响应于所述第四实部信号值的绝对值大于等于所述数据位宽阈值,或所述第四虚部信号值的绝对值大于等于所述数据位宽阈值,根据所述第二输出信号对应的缩放因子和所述第二相位旋转运算结果,确定所述第n+1级输入信号对应的第二输入信号和所述第二输入信号对应的第二缩放因子,所述第二输入信号为所述第二相位旋转运算结果的二分之一,所述第二缩放因子大于所述第二输出信号对应的缩放因子;响应于所述第四实部信号值的绝对值小于所述数据位宽阈值,且所述第四虚部信号值的绝对值小于所述数据位宽阈值,将所述第二相位旋转运算结果确定为所述第n+1级输入信号对应的第二输入信号,并将所述第二输出信号对应的缩放因子确定为所述第二输入信号对应的第二缩放因子,其中,将对第k级相位旋转运算结果进行溢出处理后得到的输入信号确定为输出信号,0<n≤k,k为正整数,且与所述初始采样信号的个数有关,经过溢出处理后的所述输出信号的数据位宽小于所述数据位宽阈值。
7.一种计算机设备,其特征在于,所述计算机设备包括信号处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述信号处理器加载并执行以实现如权利要求1至5任一所述的信号处理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由信号处理器加载并执行以实现如权利要求1至5任一所述的信号处理方法。
CN202011231127.6A 2020-11-06 2020-11-06 信号处理方法、信号处理器、设备及存储介质 Active CN112347413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011231127.6A CN112347413B (zh) 2020-11-06 2020-11-06 信号处理方法、信号处理器、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011231127.6A CN112347413B (zh) 2020-11-06 2020-11-06 信号处理方法、信号处理器、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112347413A CN112347413A (zh) 2021-02-09
CN112347413B true CN112347413B (zh) 2024-10-11

Family

ID=74429438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011231127.6A Active CN112347413B (zh) 2020-11-06 2020-11-06 信号处理方法、信号处理器、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112347413B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112255455B (zh) * 2020-11-06 2024-09-27 Oppo广东移动通信有限公司 信号处理方法、信号处理器、设备及存储介质
CN115409074B (zh) * 2022-10-31 2023-03-24 博睿康科技(常州)股份有限公司 信号检测方法、信号处理方法、信号处理模型
CN118332267B (zh) * 2024-06-14 2024-10-01 浪潮电子信息产业股份有限公司 一种信号处理系统、方法、产品、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107390568A (zh) * 2016-05-12 2017-11-24 特克特朗尼克公司 数字化系统中的噪声降低
CN110858487A (zh) * 2018-08-23 2020-03-03 北京嘉楠捷思信息技术有限公司 一种音频信号缩放处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331803B2 (en) * 2009-10-07 2012-12-11 Futurewei Technologies, Inc. Clock recovery method for polarization multiplexed coherent optical communications
US8855185B2 (en) * 2011-07-11 2014-10-07 Mitsubishi Electric Corporation Equalization device, reception device and equalization method
US9977116B2 (en) * 2015-10-05 2018-05-22 Analog Devices, Inc. Scaling fixed-point fast Fourier transforms in radar and sonar applications
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
CN111580867B (zh) * 2020-04-30 2023-07-18 中国科学院微电子研究所 一种用于fft运算的块浮点处理方法及装置
CN112255455B (zh) * 2020-11-06 2024-09-27 Oppo广东移动通信有限公司 信号处理方法、信号处理器、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107390568A (zh) * 2016-05-12 2017-11-24 特克特朗尼克公司 数字化系统中的噪声降低
CN110858487A (zh) * 2018-08-23 2020-03-03 北京嘉楠捷思信息技术有限公司 一种音频信号缩放处理方法及装置

Also Published As

Publication number Publication date
CN112347413A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
CN112347413B (zh) 信号处理方法、信号处理器、设备及存储介质
WO2021088688A1 (zh) 一种卷积加速运算方法、装置、存储介质及终端设备
CN109117188B (zh) 一种多路混合基fft可重构蝶形运算器
JP4295777B2 (ja) 高速フーリエ変換回路及び高速フーリエ変換方法
CN112255455B (zh) 信号处理方法、信号处理器、设备及存储介质
CN116893797A (zh) 一种基于fifo存储的迭代型ntt系统
CN116227599A (zh) 一种推理模型的优化方法、装置、电子设备及存储介质
CN115238232A (zh) 一种基于fpga的快速傅里叶变换数字信号噪声处理方法
CN113554042B (zh) 神经网络及其训练方法
WO2025051065A1 (zh) 一种数据处理方法、装置、电子设备及存储介质
CN117076833B (zh) 一种基于fpga的单比特降维快速傅里叶变换方法
CN105608054B (zh) 基于lte系统的fft/ifft变换装置及方法
CN117999550A (zh) 一种自适应建表方法、装置,电子设备及存储介质
CN112163185A (zh) Fft/ifft运算装置及基于该装置的fft/ifft运算方法
CN113901389B (zh) 一种信号处理方法、装置、电子设备及可读存储介质
CN110807169A (zh) 一种用于音频信号的快速处理方法
CN114285711B (zh) 缩放信息传播方法及其在定点fft的vlsi实现中的应用
CN109274460A (zh) 一种多比特并行结构串行抵消译码方法和装置
Yu et al. A $2.81\mu\mathrm {W} $, Energy Efficient MFCC Feature Extractor for Keyword-Spotting in 65nm CMOS
CN111580784B (zh) 一种幂函数计算装置及幂函数计算方法
CN118277710A (zh) Fft/ifft处理方法和处理装置、电子设备、芯片及存储介质
Lin et al. Probability-Based Static Scaling Optimization for Fixed Wordlength FFT Processors.
CN118779253A (zh) 数据处理装置、方法、电子设备和存储介质
CN116318256A (zh) Hplc电力线载波发射机基带数据生成方法及装置
WO2024260341A1 (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
TR01 Transfer of patent right

Effective date of registration: 20241111

Address after: 6th Floor, No.1 Chongqing Road, Banqiao District, Xinbei City, Taiwan, China, China

Patentee after: Weiguang Co.,Ltd.

Country or region after: Samoa

Address before: Room 1501, 15 / F, building 2, No. 10 yard, Chaoyang Park South Road, Chaoyang District, Beijing

Patentee before: Zheku Technology (Beijing) Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right