CN113267675A - 基于格策尔算法的频谱确定方法、系统、设备及存储介质 - Google Patents
基于格策尔算法的频谱确定方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113267675A CN113267675A CN202010093493.3A CN202010093493A CN113267675A CN 113267675 A CN113267675 A CN 113267675A CN 202010093493 A CN202010093493 A CN 202010093493A CN 113267675 A CN113267675 A CN 113267675A
- Authority
- CN
- China
- Prior art keywords
- iteration
- sampling signal
- current
- process coefficient
- signal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R23/00—Arrangements for measuring frequencies; Arrangements for analysing frequency spectra
- G01R23/16—Spectrum analysis; Fourier analysis
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Amplifiers (AREA)
Abstract
本发明实施例公开了基于格策尔算法的频谱确定方法、系统、设备及存储介质。本发明实施例先对采样信号组进行遍历;基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;根据待选用迭代过程系数确定格策尔迭代的迭代输出量;根据迭代输出量确定信号复频谱值。可见,本发明实施例由于运用了格策尔迭代算法进行复频谱值的确定,大大提高了信号处理效率;同时,由于断开了多个采样信号组之间的能量联系,避免了误差的累计放大,提高了准确性。可见,尤为适用于单精度浮点型的应用场景,这是考虑到在单精度的应用场景中累积的迭代误差将严重影响到格策尔算法的准确性。
Description
技术领域
本发明涉及信号处理技术领域,尤其涉及基于格策尔算法的频谱确定方法、系统、设备及存储介质。
背景技术
在信号处理方面,离散傅里叶变换(DFT,Discrete Fourier Transform)属于一种常规的信号谐波提取方式,可以实时地检测特定频率分量。
DFT及其快速算法,即快速傅里叶变换(FFT,Fast Fourier Transform),在各类电力信号的测量和分析中,如谐波分析、功率计算、各种保护及故障分析判断中,得到了广泛的应用。
但是,DFT及FFT在信号频谱的处理过程中,不仅速度较低,计算复杂度也较高,属于一种信号处理效率较为低下的处理方式。
所以,亟需一种处理效率较高的频谱处理方式。
发明内容
为了解决信号处理效率较为低下的技术问题,本发明实施例提供基于格策尔算法的频谱确定方法、系统、设备及存储介质。
第一方面,本发明实施例提供一种基于格策尔算法的频谱确定方法,包括:
对采样信号组进行遍历;
基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
根据所述迭代输出量确定信号复频谱值。
优选地,所述对采样信号组进行遍历,具体包括:
依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组;
所述基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数,具体包括:
基于置零处理后的预设迭代过程系数对所述当前信号组中的第一个采样信号进行格策尔迭代,以得到与所述第一个采样信号对应的迭代过程系数;
优选地,所述依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组之后,所述基于格策尔算法的频谱确定方法还包括:
从所述当前信号组中顺序获取当前采样信号;
若所述当前采样信号为所述当前信号组中的第一个采样信号,则对预设迭代过程系数进行置零处理。
优选地,所述依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组之后,所述基于格策尔算法的频谱确定方法还包括:
从所述当前信号组中顺序获取当前采样信号;
所述基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代,以得到与所述当前采样信号组对应的待选用迭代过程系数,具体包括:
基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代;
若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
优选地,所述基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代之后,所述基于格策尔算法的频谱确定方法还包括:
若所述当前采样信号不为所述当前信号组中的第一个采样信号且不为所述当前信号组中的最后一个采样信号,则将所述当前采样信号的前一个采样信号对应的迭代过程系数作为新的预设迭代过程系数;
基于新的预设迭代过程系数对所述当前采样信号进行格策尔迭代,以得到与所述当前采样信号对应的迭代过程系数,并返回执行所述从所述当前信号组中顺序获取当前采样信号的步骤,直至若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
优选地,所述根据所述迭代输出量确定信号复频谱值,具体包括:
将所述迭代输出量存入缓存输出量对应的缓存数组中;
对所述缓存数组进行累加,以获得信号复频谱值。
优选地,所述根据所述迭代输出量确定信号复频谱值之后,所述基于格策尔算法的频谱确定方法还包括:
根据所述信号复频谱值确定直流阻抗,以根据所述直流阻抗进行电路调整操作。
第二方面,本发明实施例提供一种基于格策尔算法的频谱确定系统,包括:
信号获取模块,用于对采样信号组进行遍历;
迭代过程模块,用于基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
迭代输出模块,用于根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
复频谱确定模块,用于根据所述迭代输出量确定信号复频谱值。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面提供的一种基于格策尔算法的频谱确定方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面提供的一种基于格策尔算法的频谱确定方法的步骤。
本发明实施例提供的基于格策尔算法的频谱确定方法、系统、设备及存储介质,先对采样信号组进行遍历;基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;根据待选用迭代过程系数确定格策尔迭代的迭代输出量;根据迭代输出量确定信号复频谱值。可见,本发明实施例由于运用了格策尔迭代算法进行复频谱值的确定,大大提高信号处理效率;同时,由于断开了多个采样信号组彼此之间的能量联系,避免了误差的累计放大,也提高了准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于格策尔算法的频谱确定方法的流程图;
图2为本发明又一实施例提供的一种基于格策尔算法的频谱确定方法的流程图;
图3为本发明又一实施例提供的线圈温度与采样点之间的曲线示意图;
图4为本发明再一实施例提供的一种基于格策尔算法的频谱确定方法的流程图;
图5为本发明另一实施例提供的一种基于格策尔算法的频谱确定方法的流程图;
图6为本发明实施例提供的一种基于格策尔算法的频谱确定系统的结构示意图;
图7为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于格策尔算法的频谱确定方法的流程图,如图1所示,该方法包括:
S1,对采样信号组进行遍历。
就常规的DFT而言,若对长度为N点的离散信号x(n)做DFT,第k个频点对应的输出可表示为:
其中,X(k)表示输出量,k表示频点数,x(n)表示输入的离散信号,N表示长度,0≤n≤N-1,n为整数。
可见,DFT属于全谱分析。若应用场景为只关注单个或少量频点的频谱,基于DFT来检测特定频率分量的检测过程不仅速度较低,计算复杂度也较高,信号处理效率较为低下。
区别于通过DFT来检测特定频率分量的检测方式,本发明实施例将采用格策尔(Goertzel)算法来进行信号谐波提取操作。
这主要是考虑到格策尔算法可以更好地适应单个或少量频点的频谱,实时性更好。
对比而言,运行DFT前需等待N个采样数据全准备好后,方可开始计算,较为浪费时间;而格策尔算法则可在当前采样的间隙就对前一时刻的采样值进行运算,累计N个点后可实时得到频谱结果,所以,在实时性上表现更优。
当然,实施场景不限于单个或少量频点的频谱,本实施例只是针对此类场景,有更为优秀的性能表现。毕竟,DFT、FFT在处理单个或少量频点的频谱时,处理效率会格外低下。
在具体实现中,可先获取包括有采样信号的采样信号组,该采样信号可为任意形式的采样信号,包括但不限于电压信号以及电流信号,本发明实施例以电压信号可例。该采样信号的数据存储类型可为双精度浮点型(double),也可为单精度浮点型(float)。
至于此处采用的采样频率可记为Fs,拟采取的特定电压频率为 Fc,二者均为预先设置。
其中,采样信号组可为对应于单个或少量频点的频谱,此频谱为区别于全谱的频谱。
接着,可将N个采样信号以分组的形式进行划分,比如,可均分为L个组,每个组内存在M个采样信号,即L=N/M。
S2,基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数。
接着,可遍历每个组,并通过格策尔算法进行采样信号组的迭代处理,以得到以组为单位分别对应的迭代过程系数。
其中,待选用迭代过程系数为格策尔迭代过程中的过程系数,可包括有u0及u1。这两类过程系数随着不断的迭代处理,将不断地进行更新。
当然,当前迭代过程系数还可包括u2。
特别地,本实施例将断开多个采样信号组彼此之间的能量联系,这是考虑到累计迭代过程系数时也将累计误差,这导致了最终结果的误差较大。
所以,将使用置0后的预设迭代过程系数进行迭代操作。换言之,每次在遍历到一个新的采样信号组时,对采样信号组进行迭代处理时使用的预设迭代过程系数这一参量均将初值取为0,这导致了前一信号组的运算不会影响到后一信号组的运算。
S3,根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量。
然后,可通过u0与u1来生成格策尔算法的迭代过程的输出量,可记为Yi。
具体而言,可通过如下迭代输出公式来确定格策尔迭代的迭代输出量,
Yi=u1-u0*WN k,
S4,根据所述迭代输出量确定信号复频谱值。
接着,可根据迭代输出量Yi确定格策尔算法的电压频谱输出量即此处提及的信号复频谱值,可记为YU。
实质上,Yi的幅度与傅里叶变换的频点的电压幅度是相同的,仅相位上有旋转。所以,可通过时域迭代的形式,用最少的计算量来求出电压的幅度值。
本发明实施例提供的基于格策尔算法的频谱确定方法,先对采样信号组进行遍历;基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;根据待选用迭代过程系数确定格策尔迭代的迭代输出量;根据迭代输出量确定信号复频谱值。可见,本发明实施例由于运用了格策尔迭代算法进行复频谱值的确定,大大提高信号处理效率;同时,由于断开了多个采样信号组彼此之间的能量联系,避免了误差的累计放大,也提高了准确性。
图2为本发明又一实施例提供的一种基于格策尔算法的频谱确定方法的流程图,本发明又一实施例基于上述图1所示的实施例。
本实施例中,所述对采样信号组进行遍历之前,所述基于格策尔算法的频谱确定方法还包括:
获取采样信号;
基于滑动窗口对所述采样信号进行划分,以得到与所述滑动窗口对应的采样信号组。
比如,可设置参数N,N为Goertzel窗长,也为DFT点数。N 的数值越大,DFT的频率分辨率越高,但是,实时性也随之降低,一般取特定频率信号的周期的10倍以上即可。
还可设置参数M,M为Goertzel窗每次滑动点数。N可被M整除,记为L=N/M,即可将N点信号均分为L小段,每段长度为M个点。
其中,不限制采样信号的频率值。
可见,本发明实施例涉及到的格策尔算法可具体为滑动格策尔算法。
进一步地,可使用两个同时运行的Goertzel模块进行信号复频谱值的运算过程,可将这两个Goertzel模块简记为模块G1、模块G2。
可额外设置有效输出标志F,若F为0,则可将模块G1输出的信号复频谱值作为最终确认的信号复频谱值;若F为1,则可将模块 G2输出的信号复频谱值作为最终确认的信号复频谱值。
在上述实施例的基础上,优选地,所述S4之后,所述基于格策尔算法的频谱确定方法还包括:
S5,根据所述信号复频谱值确定直流阻抗,以根据所述直流阻抗进行电路调整操作。
针对手机等电子设备而言,手机上会配置有喇叭等电子器件,而喇叭等电子器件上存在着线圈这一组件。
为了对喇叭等电子器件内的线圈组件进行过温保护,多采用如下的过温保护方式。
若以手机内的喇叭为例,可先在喇叭播放的音源信号上叠加人耳不敏感的特定低频分量;接着,使用模拟/数字转换器(ADC, Analog-to-Digital Converter)测量喇叭线圈上的电压与电流,并实时估算喇叭的直流阻抗;然后,根据直流阻抗与线圈温度之间的线性关系来估算线圈温度,进而根据线圈温度去进行过温保护操作。
可见,就过温保护方式而言,如何快速且准确地获取该直流阻抗显得尤为重要。
所以,亟需一种较为有效的直流阻抗确定方法,而本发明实施例即可提供一种较为有效的直流阻抗确定方法。
具体而言,若采样信号为电压信号,则此处的信号复频谱值的幅度值为电压信号幅度值|YU|。同理,基于本发明实施例还可计算出此刻的电流信号幅度值|YI|,将电压信号幅度值与电流信号幅度值进行相除,则此刻的线圈的直流阻抗为
当然,确定出的信号复频谱值还可沿用至多个方面,此处仅以直流阻抗为例进行说明。
可进一步地细化该过温保护场景,本发明实施例的执行主体为电子设备,该电子设备可为手机,手机内可包括喇叭。
本发明实施例可对喇叭线圈进行过温保护,但是,确定直流阻抗的用途可不限于此。
为了确定喇叭线圈的直流阻抗,对电压、电流信号中的特定频率成分的幅度进行快速且有效的检测,是实时获取线圈直流阻抗和线圈温度的关键。
最终,格策尔算法在实时地获取到该特定频率分量后,进而可以更快速且准确地获取到该直流阻抗。以此类推,进而可以更加有效地进行过温保护操作。
回归到本发明实施例而言,本发明实施例通过运用格策尔算法进行采样信号的检测与处理,可以更快速且更准确地获取直流阻抗,进而可以更加有效地进行过温保护操作。
此外,虽然可不限制采样信号的频率值,但若适用场景为对于直流阻抗的计算过程,采样信号可具体为低频分量。
本发明实施例提供的基于格策尔算法的频谱确定方法,通过运用本实施例描述的格策尔算法进行采样信号的检测与处理,提高了信号处理效率,可以加快频谱的获取速度,进而可以更快速且更准确地获取直流阻抗,从而可以更加有效地进行电路调整行为。
在上述实施例的基础上,优选地,所述根据所述信号复频谱值确定直流阻抗,以根据所述直流阻抗进行电路调整操作之后,所述基于格策尔算法的频谱确定方法还包括:
根据所述直流阻抗确定对应的线圈温度;
根据所述线圈温度确定对应的过温保护操作,以进行过温保护行为。
可根据直流阻抗进行电压调整操作,就具体的电压调整操作内容而言,此处给出一类实施场景。
比如,采样信号可来自手机喇叭播放的特定低频分量,将根据确定的直流阻抗去控制该喇叭防止其过温。
具体而言,可根据直流电阻与喇叭内线圈的温度的线性关系,确定出一对应的温度值。若该温度值过高,可进行降温处理操作。
例如,该降温处理操作可具体为控制输入信号的增益的控制操作,具体为,可降低输入信号的总电压,以降低音量大小,进而降低温度值。
其中,输入信号为扬声器输出的信号,采样信号是对该输入信号进行采样的采样信号。
其中,可参见图3所示的线圈温度与采样点之间的曲线示意图,横轴X表示采样信号,竖轴Y表示线圈温度。
本发明实施例提供的基于格策尔算法的频谱确定方法,可基于确定的线圈温度保护电子设备内的喇叭或其他包含线圈的电子器件。
图4为本发明再一实施例提供的一种基于格策尔算法的频谱确定方法的流程图,本发明再一实施例基于上述图1所示的实施例。
本实施例中,所述S1,具体包括:
S11,依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组。
可以理解的是,可能存在着多个采样信号组,比如,若一次输入的采样信号存在18个点即18个采样信号,可划分为3组,分别为 0-5、6-11以及12-17。
可依序遍历多个采样信号组,依序可为顺序。
其中,此处所指的顺序为,从第0组至第2组,此处的组序号从 0开始计数。
所述S2,具体包括:
S21,基于置零处理后的预设迭代过程系数对所述当前信号组中的第一个采样信号进行格策尔迭代,以得到与所述第一个采样信号对应的迭代过程系数。
以第0组为例,可按照采样信号的序号从小至大进行格策尔迭代。
比如,若当前处理的信号为第0组中的第一个采样信号,处理第一采样信号时采用的迭代过程系数为置零处理后的预设迭代过程系数,即处理第一采样信号时将使用数值为0的迭代过程系数。
预设迭代过程系数可包括u2、u0以及u1,则u0=u1=u2=0。
接着,可通过预设格策尔迭代公式进行格策尔迭代,以得到与当前采样信号对应的待选用迭代过程系数,此处的当前采样信号为第一采样信号。其中,预设格策尔迭代公式如下,
其中,x(n)表示当前采样信号,此处若输入第0个采样信号,则 n为0;N表示一次输入的采样信号的总数,也表示 Goertzel窗长;k表示N点信号中包含的特定频率的谐波周期个数, k=round(N*Fc/Fs),round表示四舍五入取整操作,Fc表示采取的特定电压频率,Fs表示采样频率。
该预设格策尔迭代公式中的三个子公式从上至下顺序执行,则可获得新的迭代过程系数。
可见,此处将获得第一采样信号对应的迭代过程系数。
S22,基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代,以得到与所述当前采样信号组对应的待选用迭代过程系数。
接着,将使用第一采样信号对应的迭代过程系数来设置迭代过程系数,通过设置的迭代过程系数去对第二采样信号进行迭代,以此类推,直至迭代至本组内的最后一个采样信号。
请注意,第一采样信号对应的迭代过程系数为,处理第一采样信号结束之后获得的迭代过程系数,数值已经不为0了,不是第一采样信号处理过程中使用的预设迭代过程系数。此时,已经经历了一次迭代更新。
可见,每执行一次格策尔迭代操作,就可对迭代过程系数进行一次更新。
可将本组内的最后一个采样信号对应的迭代过程系数作为本组即当前采样信号组对应的待选用迭代过程系数。
本发明实施例提供的基于格策尔算法的频谱确定方法,在进行格策尔迭代时,在一个组内,每次对一个采样信号进行迭代处理时,将使用上一采样信号生成的迭代过程系数,可见,本组内的采样信号之间将相互影响。
在上述实施例的基础上,优选地,所述依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组之后,所述基于格策尔算法的频谱确定方法还包括:
从所述当前信号组中顺序获取当前采样信号;
若所述当前采样信号为所述当前信号组中的第一个采样信号,则对预设迭代过程系数进行置零处理。
鉴于本实施例将断开采样信号组彼此之间的能量联系,所以,在进入一个新的组的处理环节时,将对预设迭代过程系数进行置零处理。若不清零,预设迭代过程系数的实时数值将为当前信号组的上一信号组的最后一个采样信号生成的迭代过程系数,使用不清零的预设迭代过程系数将导致每个采样信号组之间存在着能量联系。
毕竟,若每个采样信号组之间存在着能量联系,将导致迭代过程系数的累计,从而也将累计误差,这导致了最终结果的误差较大。
所以,可以组为单位,对每个组中的第一个采样信号的预设迭代过程系数进行置零处理,使得在处理每个组内的第一个采样信号时采用的迭代过程系数的数值均为0。
进一步地,本实施例尤为适用于单精度浮点型(float)的应用场景下,这是考虑到在单精度的应用场景中累积的迭代误差将严重影响到格策尔算法的准确性。
就本实施例提供的这一类典型方案而言,若存在着3个信号组,每次计算完一个信号组时,或者,重新获取一个新的信号组时,都将保证当前欲操作的信号组使用的预设迭代过程系数的系数值均为0,无论当前欲操作的信号组是第一个信号组还是最后一个信号组,这就保证了迭代过程系数仅在一个信号组内迭代不延伸至下一信号组。
当然,若所述当前信号组为所述采样信号组中的第一个信号组,则无需操作,毕竟,第一个信号组对应的预设迭代过程系数本就赋值为0。
本发明实施例提供的基于格策尔算法的频谱确定方法,给出了的一类典型方案,由于保证了迭代过程系数仅在一个信号组内迭代不延伸至下一信号组,可防止迭代误差的累计,从而降低了迭代误差。可见,在单精度的应用场景下,本发明实施例在保证低计算量的同时也降低了迭代误差的累积,便于满足在手机等电子设备上实时、快速且准确稳定的计算线圈直流电阻等其他计算需求。
图5为本发明另一实施例提供的一种基于格策尔算法的频谱确定方法的流程图,本发明另一实施例基于上述图4所示的实施例。
本实施例中,所述S11之后,所述基于格策尔算法的频谱确定方法还包括:
S12,从所述当前信号组中顺序获取当前采样信号。
比如,若将第0组作为当前欲操作的信号组,则可先读取0-5的采样信号,当前采样信号可为第0个采样信号。
其中,此处所指的顺序为,当前信号组内的采样信号的序号从小至大。
所述S22,具体包括:
S221,基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代。
鉴于此处援例为第0组内的第0个采样信号,则此时的预设迭代过程系数可为一预设的初始值,预设的初始值为0。
至于第一个采样信号对应的迭代过程系数为,对预设迭代过程系数第一次更新后的迭代过程系数。
接着,每执行一次格策尔迭代操作,就可对迭代过程系数进行一次更新。在此处的援例中,将把迭代过程系数的系数值由为0的预设迭代过程系数不断地更新为新的迭代过程系数,
S222,若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
将遍历当前信号组内的全部6个采样信号,以确定计算迭代输出量时采用的迭代过程系数。需要说明的是,并不需要针对全部的迭代过程系数均计算一次迭代输出量。
可仅采用最后一个采样信号对应的迭代过程系数来计算迭代输出量,即遍历完一个采样信号组后,可仅计算一次迭代输出量。
其中,待选用迭代过程系数即为一个采样信号组内的最后一个采样信号对应的迭代过程系数,同时,也可记为一个采样信号组对应的迭代过程系数。
本发明实施例提供的基于格策尔算法的频谱确定方法,遍历完一个采样信号组后,可仅计算一次迭代输出量。
在上述实施例的基础上,优选地,所述基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代之后,所述基于格策尔算法的频谱确定方法还包括:
若所述当前采样信号不为所述当前信号组中的第一个采样信号且不为所述当前信号组中的最后一个采样信号,则将所述当前采样信号的前一个采样信号对应的迭代过程系数作为新的预设迭代过程系数;
基于新的预设迭代过程系数对所述当前采样信号进行格策尔迭代,以得到与所述当前采样信号对应的迭代过程系数,并返回执行所述从所述当前信号组中顺序获取当前采样信号的步骤,直至若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
具体地,仍以第0组为例进行说明,第0组内的采样信号为0-5, x(0)为本组内的第一个采样信号,x(5)为本组内的最后一个采样信号。
其一,若当前采样信号为x(2),即不为第一个采样信号也不为最后一个采样信号,则将保留上一采样信号x(1)对应的迭代过程系数以用于x(2)的格策尔迭代操作。
在处理完x(2)的格策尔迭代操作后,将获得x(2)对应的迭代过程系数;此时,将继续顺序获取当前采样信号,此时获取的当前采样信号为x(3)。不断重复上述操作,直至处理到最后一个采样信号x(5),最终,将根据x(5)来生成的迭代过程系数作为待选用迭代过程系数,以用于计算迭代输出量。
其二,若当前采样信号为x(5),即最后一个采样信号,将根据x(5) 来生成的迭代过程系数作为待选用迭代过程系数,以用于计算迭代输出量。
其三,若当前采样信号为x(0),即第一个采样信号,将数值为0 的预设迭代过程系数对当前信号组中的第一个采样信号进行格策尔迭代,以得到与第一个采样信号对应的迭代过程系数。
即,若所述当前采样信号为所述当前信号组中的第一个采样信号,则基于置零处理后的预设迭代过程系数对所述当前信号组中的第一个采样信号进行格策尔迭代,以得到与所述第一个采样信号对应的迭代过程系数。
可见,本发明实施例的上文主要涉及以一个信号组为单位进行循环迭代,可针对0-5的当前信号组确定出一个迭代过程系数并以此计算出一个迭代输出量Y0。
同理,鉴于采样信号组存在着3个信号组,最后一个信号组为第 2组,所以,还可针对6-11的第1信号组计算出一个迭代输出量Y1,还可针对12-17的第2信号组计算出一个迭代输出量Y2。
其中,每个组迭代生成的迭代输出量可记为Yi,i为从0开始计数的整数。
可见,本发明实施例涉及到了格策尔迭代的具体过程,应用该具体过程,最终可达成更快速且更准确地获取到信号复频谱值;同时,还可更快速且更准确地获取到直流阻抗。
在上述实施例的基础上,优选地,所述根据所述迭代输出量确定信号复频谱值,具体包括:
将所述迭代输出量存入缓存输出量对应的缓存数组中;
对所述缓存数组进行累加,以获得信号复频谱值。
在本发明实施例提供的典型方案中,可将迭代输出量Yi存入缓存数组BUFF[i]中,i为序号。
具体的存入方式为,可先将迭代输出量Yi乘上一个量,如下,
BUFF[i]=Yi·WMK[i],
其中,WMK[i]表示傅里叶变换的旋转因子,WMK[i]=WN (i-1)Mk,其他参数见上文。接着,再将获得的积存入缓存数组中;
至于本典型方案提供的信号复频谱计算公式,如下,
其中,YU表示信号复频谱值,L表示采样信号组的组数,也是迭代输出量的数量。
通过上述信号复频谱计算公式对缓存数组进行累加,就可获得信号复频谱值。
可见,本发明实施例不仅保证了一个较低的计算量,同时,也降低了迭代误差。
图6为本发明实施例提供的一种基于格策尔算法的频谱确定系统的结构示意图,如图6所示,该系统包括:信号获取模块301、迭代过程模块302、迭代输出模块303以及复频谱确定模块304;
信号获取模块301,用于对采样信号组进行遍历;
迭代过程模块302,用于基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
迭代输出模块303,用于根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
复频谱确定模块304,用于根据所述迭代输出量确定信号复频谱值。
本发明实施例提供的基于格策尔算法的频谱确定系统,先对采样信号组进行遍历;基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;根据待选用迭代过程系数确定格策尔迭代的迭代输出量;根据迭代输出量确定信号复频谱值。可见,本发明实施例由于运用了格策尔迭代算法进行复频谱值的确定,大大提高信号处理效率;同时,由于断开了多个采样信号组彼此之间的能量联系,避免了误差的累计放大,也提高了准确性。
本发明实施例提供的系统实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
图7为本发明实施例提供的一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)401、通信接口 (Communications Interface)402、存储器(memory)403和总线404,其中,处理器401,通信接口402,存储器403通过总线404完成相互间的通信。通信接口402可以用于电子设备的信息传输。处理器401 可以调用存储器403中的逻辑指令,以执行包括如下的方法:
对采样信号组进行遍历;
基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
根据所述迭代输出量确定信号复频谱值。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
对采样信号组进行遍历;
基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
根据所述迭代输出量确定信号复频谱值。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于格策尔算法的频谱确定方法,其特征在于,包括:
对采样信号组进行遍历;
基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
根据所述迭代输出量确定信号复频谱值。
2.根据权利要求1所述的基于格策尔算法的频谱确定方法,其特征在于,所述对采样信号组进行遍历,具体包括:
依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组;
所述基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数,具体包括:
基于置零处理后的预设迭代过程系数对所述当前信号组中的第一个采样信号进行格策尔迭代,以得到与所述第一个采样信号对应的迭代过程系数;
基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代,以得到与所述当前采样信号组对应的待选用迭代过程系数。
3.根据权利要求2所述的基于格策尔算法的频谱确定方法,其特征在于,所述依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组之后,所述基于格策尔算法的频谱确定方法还包括:
从所述当前信号组中顺序获取当前采样信号;
若所述当前采样信号为所述当前信号组中的第一个采样信号,则对预设迭代过程系数进行置零处理。
4.根据权利要求2所述的基于格策尔算法的频谱确定方法,其特征在于,所述依序对包括有采样信号的采样信号组进行遍历,并将当前遍历到的采样信号组记为当前信号组之后,所述基于格策尔算法的频谱确定方法还包括:
从所述当前信号组中顺序获取当前采样信号;
所述基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代,以得到与所述当前采样信号组对应的待选用迭代过程系数,具体包括:
基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代;
若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
5.根据权利要求4所述的基于格策尔算法的频谱确定方法,其特征在于,所述基于所述第一个采样信号对应的迭代过程系数进行格策尔迭代之后,所述基于格策尔算法的频谱确定方法还包括:
若所述当前采样信号不为所述当前信号组中的第一个采样信号且不为所述当前信号组中的最后一个采样信号,则将所述当前采样信号的前一个采样信号对应的迭代过程系数作为新的预设迭代过程系数;
基于新的预设迭代过程系数对所述当前采样信号进行格策尔迭代,以得到与所述当前采样信号对应的迭代过程系数,并返回执行所述从所述当前信号组中顺序获取当前采样信号的步骤,直至若所述当前采样信号为所述当前信号组中的最后一个采样信号,则将最后一个采样信号对应的迭代过程系数作为与所述当前采样信号组对应的待选用迭代过程系数。
6.根据权利要求1至5中任一项所述的基于格策尔算法的频谱确定方法,其特征在于,所述根据所述迭代输出量确定信号复频谱值,具体包括:
将所述迭代输出量存入缓存输出量对应的缓存数组中;
对所述缓存数组进行累加,以获得信号复频谱值。
7.根据权利要求1至5中任一项所述的基于格策尔算法的频谱确定方法,其特征在于,所述根据所述迭代输出量确定信号复频谱值之后,所述基于格策尔算法的频谱确定方法还包括:
根据所述信号复频谱值确定直流阻抗,以根据所述直流阻抗进行电路调整操作。
8.一种基于格策尔算法的频谱确定系统,其特征在于,包括:
信号获取模块,用于对采样信号组进行遍历;
迭代过程模块,用于基于置零处理后的预设迭代过程系数对遍历到的采样信号组进行格策尔迭代,以得到与遍历到的采样信号组对应的待选用迭代过程系数;
迭代输出模块,用于根据所述待选用迭代过程系数确定格策尔迭代的迭代输出量;
复频谱确定模块,用于根据所述迭代输出量确定信号复频谱值。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述基于格策尔算法的频谱确定方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述基于格策尔算法的频谱确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093493.3A CN113267675B (zh) | 2020-02-14 | 2020-02-14 | 基于格策尔算法的频谱确定方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093493.3A CN113267675B (zh) | 2020-02-14 | 2020-02-14 | 基于格策尔算法的频谱确定方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113267675A true CN113267675A (zh) | 2021-08-17 |
CN113267675B CN113267675B (zh) | 2023-01-10 |
Family
ID=77227232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010093493.3A Active CN113267675B (zh) | 2020-02-14 | 2020-02-14 | 基于格策尔算法的频谱确定方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113267675B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000046881A (ja) * | 1998-07-27 | 2000-02-18 | Yamaha Corp | 周波数分析装置およびdtmf信号復調装置 |
CN1273475A (zh) * | 1999-05-10 | 2000-11-15 | 三菱电机株式会社 | 频率偏差检测装置及频率偏差检测方法 |
DE102009037241A1 (de) * | 2009-08-12 | 2010-07-22 | Siemens Aktiengesellschaft | Vorrichtung und ein Verfahren zur Analyse eines Stromnetzes auf ihren Oberwellengehalt |
-
2020
- 2020-02-14 CN CN202010093493.3A patent/CN113267675B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000046881A (ja) * | 1998-07-27 | 2000-02-18 | Yamaha Corp | 周波数分析装置およびdtmf信号復調装置 |
CN1273475A (zh) * | 1999-05-10 | 2000-11-15 | 三菱电机株式会社 | 频率偏差检测装置及频率偏差检测方法 |
DE102009037241A1 (de) * | 2009-08-12 | 2010-07-22 | Siemens Aktiengesellschaft | Vorrichtung und ein Verfahren zur Analyse eines Stromnetzes auf ihren Oberwellengehalt |
Non-Patent Citations (2)
Title |
---|
季林等: "非理想电网下三相LCL滤波并网逆变器对称电流控制", 《电源学报》 * |
郭向飞: "直扩系统中低复杂度窄带干扰抑制技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113267675B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Online convolutional dictionary learning | |
CN113267676B (zh) | 格策尔算法下的频谱确定方法、系统、设备及存储介质 | |
CN110797031A (zh) | 语音变音检测方法、系统、移动终端及存储介质 | |
CN111863008A (zh) | 一种音频降噪方法、装置及存储介质 | |
CN112602150A (zh) | 噪声估计方法、噪声估计装置、语音处理芯片以及电子设备 | |
CN111988708A (zh) | 一种基于单麦克风的啸叫抑制方法及装置 | |
CN113267675B (zh) | 基于格策尔算法的频谱确定方法、系统、设备及存储介质 | |
CN110610696A (zh) | 一种基于混合信号域的mfcc特征提取方法及装置 | |
WO2019051841A1 (zh) | 确定滤波器系数的方法及其装置、终端 | |
CN108831496B (zh) | 一种回声抑制方法及装置、存储介质、电子设备 | |
CN110287853B (zh) | 一种基于小波分解的暂态信号去噪方法 | |
CN108627694B (zh) | 一种电网电压频率的检测方法、装置和设备 | |
CN113205824B (zh) | 声音信号处理方法、装置、存储介质、芯片及相关设备 | |
CN114614797A (zh) | 基于广义最大非对称相关熵准则的自适应滤波方法和系统 | |
CN109067369A (zh) | 预失真优化方法、装置和系统 | |
JP6343585B2 (ja) | 未知伝達系推定装置、未知伝達系推定方法、およびプログラム | |
CN117591784B (zh) | 一种基于fpga的旋转因子计算方法及fpga芯片 | |
CN106549652B (zh) | 时域滤波中的滤波器系数更新 | |
CN113640115B (zh) | 适用于准等熵压缩实验数据逆问题求解的优化方法和系统 | |
CN117252136B (zh) | 滤波器参数的数据处理方法、装置、电子设备及存储介质 | |
CN117792392A (zh) | 一种宽松条件下的adc动态参数测试方法 | |
CN114900246B (zh) | 噪声基底估计方法、装置、设备及存储介质 | |
CN112769410B (zh) | 滤波器构建方法、音频处理方法及电子设备、存储装置 | |
CN117056665A (zh) | 一种针对高频混叠数据的非侵入式负荷识别方法及系统 | |
CN114910762A (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 |