掌桥专利:专业的专利平台
掌桥专利
首页

均衡器的滤波器参数确定方法及装置、电子设备、存储介质

文献发布时间:2023-06-19 19:30:30


均衡器的滤波器参数确定方法及装置、电子设备、存储介质

技术领域

本申请涉及音频处理技术领域,特别涉及一种均衡器的滤波器参数确定方法及装置、电子设备、存储介质。

背景技术

随着技术的发展,通过均衡器(EQ,Equalize)校准设备的频响曲线得到广泛应用,通过校准频响曲线可以校准设备的音色。这种情况下,需要求解均衡器中滤波器的参数,包括增益、中心频率和品质因子。在相关技术中,可以通过SGD(Stochastic GradientDescent Algorithm,随机梯度下降)来求解滤波器的参数。在给定均衡器所需的滤波器,以及目标频响的情况下,定义损失函数为均衡器与目标频响的均方误差,然后通过SGD最小化此均方误差得到最后要用的滤波器参数。然而,由于SGD基于梯度更新以求解最优解,在迭代后期梯度较小时,SGD收敛很慢,且有先入局部最优解的风险。

发明内容

本申请实施例的目的在于提供一种均衡器的滤波器参数确定方法及装置、电子设备、存储介质,用于求解均衡器的最优滤波器参数。

一方面,本申请提供了一种均衡器的滤波器参数确定方法,包括:

通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异;其中,每一粒子的位置信息对应一组滤波器参数,所述设备频响和所述目标频响均包含多个频点处的频率响应,所述损失函数定义任一频点处所述设备频响与所述目标频响的差异小于预设差异阈值时,所述频点处的子损失差异为零;

判断所述损失差异是否小于预设损失阈值;

如果所有粒子对应的损失差异均不小于所述损失阈值,对所有粒子的位置信息进行更新,并返回所述通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异的步骤;

重复上述过程,直至存在一个目标粒子对应的损失差异小于所述损失阈值,确定所述目标粒子对应的位置信息为滤波器参数的最优解。

在一实施例中,在所述通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异之前,所述方法还包括:

在预设搜索空间内初始化多个粒子的位置信息和速度信息;其中,所述搜索空间限定所述多个粒子的位置信息的取值范围,每一粒子初始化的位置信息随机生成,每一粒子初始化的速度信息为零。

在一实施例中,所述通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异,包括:

针对每一粒子,确定所述粒子的位置信息对应的设备频响与目标频响之间,每一频点处的子损失差异;其中,若任一频点处,所述设备频响与所述目标频响之间的差异小于所述差异阈值,所述频点处的子损失差异为零;若任一频点处,所述设备频响与所述目标频响之间的差异不小于所述差异阈值,所述频点处的子损失差异为所述设备频响与所述目标频响之间差值的平方;

针对每一粒子,根据所述粒子在所有频点处的子损失差异,确定所述粒子的位置信息对应的设备频响与目标频响之间的损失差异。

在一实施例中,所述对所有粒子的位置信息进行更新,包括:

针对每一粒子,根据所述粒子的上一次速度、上一次位置信息、个体极值、群体极值,更新所述粒子的当前速度;

针对每一粒子,根据所述粒子的当前速度和上一次位置信息,更新所述粒子的位置信息。

在一实施例中,所述方法还包括:

在更新任一粒子的位置信息之后,判断更新后的位置信息是否位于预设搜索空间中的取值范围;

若否,对更新后的位置信息进行转换处理,得到转换后位置信息;其中,所述转换后位置信息位于所述取值范围内。

在一实施例中,所述方法还包括:

在更新任一粒子的位置信息之后,判断所述损失函数评估的所述粒子的损失差异是否变小;

若所述粒子的损失差异变小,确定更新后的位置信息为所述粒子的个体极值。

在一实施例中,所述方法还包括:

在更新任一粒子的位置信息之后,判断所述损失函数评估的所有粒子的最小损失差异是否变小;

若所有粒子的最小损失差异变小,确定所述粒子的更新后的位置信息为所有粒子的群体极值。

另一方面,本申请提供了一种均衡器的滤波器参数确定装置,包括:

评估模块,用于通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异;其中,每一粒子的位置信息对应一组滤波器参数,所述设备频响和所述目标频响均包含多个频点处的频率响应,所述损失函数定义任一频点处所述设备频响与所述目标频响的差异小于预设差异阈值时,所述频点处的子损失差异为零;

判断模块,用于判断所述损失差异是否小于预设损失阈值;

更新模块,用于如果所有粒子对应的损失差异均不小于所述损失阈值,对所有粒子的位置信息进行更新,并返回所述通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异的步骤;

确定模块,用于重复上述过程,直至存在一个目标粒子对应的损失差异小于所述损失阈值,确定所述目标粒子对应的位置信息为滤波器参数的最优解。

进一步的,本申请提供了一种电子设备,所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述均衡器的滤波器参数确定方法。

此外,本申请提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述均衡器的滤波器参数确定方法。

本申请方案,可以借助PSO算法求解均衡器的最优滤波器参数,在迭代更新过程中,通过损失函数定义设备频响与目标频响在任一频点处差异小于差异阈值时,该频点处的子损失差异为零,从而使得粒子种群快速偏向那些偏差更小的粒子,保证了粒子不大幅度进行无效跳动,加速收敛,且避免了通过SGD求解时陷入局部最优解的风险。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。

图1为本申请一实施例提供的电子设备的结构示意图;

图2为本申请一实施例提供的均衡器的滤波器参数确定方法的流程示意图;

图3为本申请一实施例提供的均衡器的滤波器参数确定方法的整体示意图;

图4为本申请一实施例提供的损失差异的变化示意图;

图5为本申请一实施例提供的校准后设备频响与目标频响的对比示意图;

图6为本申请一实施例提供的均衡器的滤波器参数确定装置的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是主机、服务器、服务器集群或云计算中心,用于执行均衡器的滤波器参数确定方法。下文以电子设备为执行主体描述方案。

存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的均衡器的滤波器参数确定方法。

参见图2,为本申请一实施例提供的均衡器的滤波器参数确定方法的流程示意图,如图2所示,该方法可以包括以下步骤210-步骤240。

步骤210:通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异;其中,每一粒子的位置信息对应一组滤波器参数,设备频响和目标频响均包含多个频点处的频率响应,损失函数定义任一频点处设备频响与目标频响的差异小于预设差异阈值时,频点处的子损失差异为零。

电子设备通过PSO(Particle Swarm Optimization,粒子群优化算法)算法求解均衡器的滤波器参数最优解。滤波器参数可以包括增益、中心频率和品质因子。在借助均衡器校准设备的频响曲线时,可能通过一条叠加的频响曲线校准设备,也可能通过多条叠加的频响曲线校准设备,因此,根据需要可以确定PSO算法中每一粒子的位置信息对应一条频响曲线的滤波器参数,或对应多条频响曲线的滤波器参数。示例性的,如果位置信息对应一条频响曲线的滤波器参数,则位置信息包括一个增益、一个中心频率和一个品质因子;如果位置信息对应两条频响曲线的滤波器参数,则位置信息包括一个增益、一个中心频率和一个品质因子,以及另一个增益、另一个中心频率和另一个品质因子。

对于任一粒子,在粒子当前位置信息下,可以确定以位置信息中的滤波器参数生成一条或多条频响曲线,以对设备的频响曲线进行校准。因此,粒子的位置信息对应的设备频响,即为校准后设备的频响参数。设备频响可以包括多个频点处的频率响应,这里,频点数量和位置可以根据需要预配置。设备频响可以表示为{R

目标频响指的是设备理想状态下应当表现出的频响参数。目标频响可以包括多个频点处的频率响应,这里,频点数量和位置可以根据需要预配置。目标频响中频点数量和位置与设备频响中频点数量和位置相同。设备频响可以表示为{G

电子设备基于任一粒子的位置信息,换算出该位置信息对应的设备频响之后,可以通过损失函数分别计算每一频点在设备频响中频率响应,与在目标频响中频率响应之间的子损失差异。在确定每一频点对应的子损失差异后,可以计算所有频点对应的子损失差异的均值,作为当前位置信息对应的设备频响与目标频响之间的损失差异。在计算各个频点处设备频响与目标频响之间的子损失差异时,损失函数定义了当任一频点处设备频响与目标频响的差异小于差异阈值时,该频点处的子损失差异为零。差异阈值可以根据需要进行配置。这种情况下,任一频点处设备频响与目标频响差异足够小时,可以认定该频点处的频率响应无需进一步优化。

步骤220:判断损失差异是否小于预设损失阈值。

在为任一粒子的位置信息,计算出损失差异之后,电子设备可以判断该损失差异是否小于损失阈值。这里,损失阈值可以根据经验预配置。

一方面,如果该粒子的位置信息对应的损失差异小于损失阈值,可以确定该粒子即为目标粒子,该目标粒子的位置信息为滤波器参数的最优解。另一方面,如果该粒子的位置信息对应的损失差异不小于损失阈值,电子设备可以对其它粒子的位置信息执行步骤210至步骤220的评估判断流程,直至对所有粒子完成上述评估判断流程。

步骤230:如果所有粒子对应的损失差异均不小于损失阈值,对所有粒子的位置信息进行更新,并返回通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异的步骤。

在所有粒子对应的损失差异均不小于损失阈值的情况下,可以对所有粒子的位置信息进行更新,在各个粒子当前的位置信息基础上,更新得到新的位置信息。在更新所有粒子的位置信息之后,可以返回步骤210,重新计算各个粒子的位置信息对应的设备频响与目标频响之间的损失差异。

步骤240:重复上述过程,直至存在一个目标粒子对应的损失差异小于损失阈值,确定目标粒子对应的位置信息为滤波器参数的最优解。

上述步骤210至步骤230可以重复多遍,直至存在一个粒子的位置信息对应的损失差异小于损失阈值,此时,该粒子即为目标粒子,该目标粒子对应的位置信息为滤波器参数的最优解。

通过上述措施,可以借助PSO算法求解均衡器的最优滤波器参数,在迭代更新过程中,通过损失函数定义设备频响与目标频响在任一频点处差异小于差异阈值时,该频点处的子损失差异为零,从而使得粒子种群快速偏向那些偏差更小的粒子,保证了粒子不大幅度进行无效跳动,加速收敛,且避免了通过SGD求解时陷入局部最优解的风险。

在一实施例中,电子设备在执行上述步骤210之前,可以在预设搜索空间内初始化多个粒子的位置信息和速度信息。其中,搜索空间限定多个粒子的位置信息的取值范围。示例性的,各个粒子的位置信息对应一条频响曲线的滤波器参数,这种情况下,搜索空间限定了增益的上限和下限、中心频率的上限和下限、品质因子的上限和下限。

在初始化各个粒子的位置信息时,每一粒子初始化的位置信息随机生成,且位于搜索空间内,每一粒子初始化的速度信息为零。此外,粒子总量可以根据需要进行配置。

在一实施例中,通过损失函数评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异时,针对每一粒子,电子设备可以确定该粒子的位置信息对应的设备频响与目标频响之间,每一频点处的子损失差异。其中,若任一频点处,设备频响与目标频响之间的差异小于差异阈值,则该频点处的子损失差异为零;若任一频点处,设备频响与目标频响之间的差异不小于差异阈值,该频点处的子损失差异为设备频响与目标频响之间差值的平方。

针对每一粒子,电子设备可以根据该粒子在所有频点处的子损失差异,确定粒子的位置信息对应的设备频响与目标频响之间的损失差异。通过计算所有频点处的子损失差异的均值,可以得到粒子的位置信息对应的设备频响与目标频响之间的损失差异。

示例性的,损失函数可以通过如下公式(1)来表示:

其中,m表示频点数量;R

在一实施例中,电子设备在对所有粒子的位置信息进行更新时,针对每一粒子,根据该粒子的上一次速度、上一次位置信息、个体极值、群体极值,更新粒子的当前速度。其中,上一次速度指本次更新前粒子的速度;上一次位置信息指本次更新前粒子的位置信息;个体极值指的是该粒子当前最优的位置信息,在个体极值下,该粒子对应的损失差异最小;群体极值指的是所有粒子当前最优的位置信息,在群体极值下,所有粒子的位置信息对应的损失差异的最小值最小。

示例性的,可以通过如下公式(2)来表示速度更新的过程:

V

其中,式子左边的V

在更新粒子的当前速度后,针对每一粒子,电子设备可以根据该粒子的当前速度和上一次位置信息,更新粒子的位置信息。

示例性的,可以通过如下公式(3)来表示位置信息更新的过程:

X

其中,式子左边的X

上述公式(2)和(3)将位置信息中的各个维度分开来计算,实际各个维度的算法相同。这里,如果位置信息包括一个增益、一个中心频率和一个品质因子,则第一个维度的位置信息可以是增益,第二个维度的位置信息可以是中心频率,第三个维度的位置信息可以是品质因子。针对各个维度的位置信息,可以分别通过上述公式(2)和公式(3)进行更新。

在一实施例中,在更新任一粒子的位置信息之后,电子设备可以判断更新后的位置信息是否位于预设搜索空间中的取值范围。对于位置信息中的增益、中心频率和品质因子而言,分别具有相对应的取值范围,因此,任一维度的位置信息更新之后,需要判断该维度的位置信息是否位于其对应的取值范围内。

一方面,如果更新后的位置信息位于其对应的取值范围内,则无需处理。另一方面,如果更新后的位置信息不位于其对应的取值范围内,电子设备可以对更新后的位置信息进行转换处理,得到转换后位置信息,其中,转换后位置位于取值范围内。

对于第i个粒子的第d维度的位置信息而言,如果在更新后小于取值范围中的最小值,可以通过如下公式(4)进行转换处理:

X

其中,式子左边的X

对于第i个粒子的第d维度的位置信息而言,如果在更新后大于取值范围中的最大值,可以通过如下公式(5)进行转换处理:

X

其中,式子左边的X

通过上述措施,可以在位置信息更新后超出取值范围时,对其进行转换,使得转换后位置信息位于取值范围内,从而避免搜索最优解过程中因位置信息超出取值范围而进行无效搜索。

在一实施例中,电子设备在更新任一粒子的位置信息之后,可以判断损失函数评估的该粒子的损失差异是否变小。这里,由于位置信息包括多个维度,在所有维度均更新后,可以通过损失函数评估本次更新后的损失差异。

一方面,损失差异相比该粒子此前个体极值对应的损失差异并未变小,说明本次更新后的位置信息并不优于该粒子此前的个体极值。此时,可以保持个体极值不变。另一方面,损失差异相比该粒子此前个体极值对应的损害差异变小,说明本次更新后的位置信息优于该粒子此前的个体极值,此时,可以确定更新后的位置信息为粒子的个体极值,从而对个体极值进行更新。

通过上述措施,可以在搜索最优解的过程中,更新各个粒子对应的个体极值。

在一实施例中,电子设备在更新任一粒子的位置信息之后,可以判断损失函数评估度的所有粒子的最小损失差异是否变小。这里,由于位置信息包括多个维度,在所有维度均更新后,可以通过损失函数评估本次更新后的损失差异。所有粒子的最小损失差异为群体极值对应的损失差异。

一方面,损失差异相比群体极值对应的损失差异并未变小,说明本次更新后的位置信息并不优于群体极值。此时,可以保持群体极值不变。另一方面,损失差异相比群体极值对应的损失差异变小,说明本次更新后的位置信息优于群体极值,此时,可以确定该粒子更新后的位置信息为所有粒子的群体极值,从而对群体极值进行更新。

通过上述措施,可以在搜索最优解的过程中,更新所有粒子对应的群体极值。

参见图3,为本申请一实施例提供的均衡器的滤波器参数确定方法的整体示意图,如图3所示,基于PSO求解滤波器参数最优解的过程中,首先可以初始化粒子总量(设置粒子大小),并初始化各个粒子的位置信息和速度信息。针对每一粒子的位置信息对应的设备频响和目标频响,通过损失函数评估损失差异(损失值),这一过程可以更新各个粒子的个体极值(当前个体历史最优)和所有粒子的群体极值(当前全局最优解)。此外,可以更新各个粒子的速度信息和位置信息。在获得各个粒子的位置信息对应的损失差异后,可以判断全局最优解对应的损失差异是否满足要求(小于损失阈值)。一种情况下,如果满足要求,可以将全局最优解作为滤波器参数的最优解。另一种情况下,如果不满足要求,可以重新通过损失函数评估各个粒子的位置信息对应的损失差异。这一过程可重复多次,直至最终获得滤波器参数的最优解。

本申请通过PSO算法求解滤波器参数的最优解,可以快速收敛,参见图4,为本申请一实施例提供的损失差异的变化示意图,如图4所示,在前10次更新后,群体极值对应的损失差异可以急剧下降到很低的水平。

图5为本申请一实施例提供的校准后设备频响与目标频响的对比示意图,如图5所示,由于PSO算法最优求得的滤波器参数的最优解是所有粒子的个体极值中最优的那个解,而粒子个体随机分别在整个搜索空间,因此,该最优解就是全局最优解。此时,滤波器参数的最优解对应的设备频响曲线(灰线)与目标频响曲线(黑线)的差异小于1db,符合要求。

图6是本发明一实施例的一种均衡器的滤波器参数确定装置的框图,如图6所示,该装置可以包括:

评估模块610,用于通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异;其中,每一粒子的位置信息对应一组滤波器参数,所述设备频响和所述目标频响均包含多个频点处的频率响应,所述损失函数定义任一频点处所述设备频响与所述目标频响的差异小于预设差异阈值时,所述频点处的子损失差异为零;

判断模块620,用于判断所述损失差异是否小于预设损失阈值;

更新模块630,用于如果所有粒子对应的损失差异均不小于所述损失阈值,对所有粒子的位置信息进行更新,并返回所述通过预设损失函数,评估每一粒子的位置信息对应的设备频响与目标频响之间的损失差异的步骤;

确定模块640,用于重复上述过程,直至存在一个目标粒子对应的损失差异小于所述损失阈值,确定所述目标粒子对应的位置信息为滤波器参数的最优解。

上述装置中各个模块的功能和作用的实现过程具体详见上述均衡器的滤波器参数确定方法中对应步骤的实现过程,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 配送参数的确定方法、确定装置、存储介质和电子设备
  • 对象特征参数确定方法、装置、电子设备及可读存储介质
  • 一种问卷调查对象确定方法、装置、电子设备和存储介质
  • 一种车位确定方法、装置、电子设备、车辆及存储介质
  • 行业关联度、风险确定方法及装置、存储介质和电子设备
  • 滤波器的仿真参数确定方法、装置、电子设备及存储介质
  • 滤波器的仿真参数确定方法、装置、电子设备及存储介质
技术分类

06120115934185