谐波发生器及用于生成谐波的方法与流程

文档序号:24345004发布日期:2021-03-19 12:28阅读:430来源:国知局
谐波发生器及用于生成谐波的方法与流程

本申请涉及一种谐波发生器和用于生成谐波的方法。



背景技术:

现有技术中,存在基于输入信号的基频生成谐波分量的方法,但是这些方法不是在各个方面都令人满意。因此,需要对生成谐波的方法做出改进。



技术实现要素:

针对相关技术中的问题,本申请提出一种谐波发生器和用于生成谐波的方法,不会引入额外的thd和额外的泛音。

本申请的技术方案是这样实现的:

根据本申请的一个方面,提供了一种谐波发生器,包括:

能量检测单元,用于接收输入信号并检测输入信号在多个不同频带中的多个能量值;

最大值检测器,连接至能量检测单元,用于检测多个能量值中的最大能量值;

谐波生成单元,连接至最大值检测器,用于根据最大能量值确定输入信号的基频并且根据基频的频率与音符之间的对应关系生成谐波,其中不同频率对应于不同音符。

根据本申请的实施例,能量检测单元包括:多个带通滤波器,输入信号输入至每一个带通滤波器以形成输入信号在多个频带中的多个能量值;多个检测器,分别连接至对应的多个带通滤波器,用于检测多个能量值。

根据本申请的实施例,谐波发生器还包括:可编程增益单元,连接至谐波生成单元和能量检测单元,用于根据多个频带中的输入信号控制对于谐波的增益量。

根据本申请的实施例,谐波生成单元包括:查表模块,连接至最大值检测器,查表模块包括不同频率与不同音符之间的对应关系;谐波生成模块,连接至查表模块;其中,查表模块用于根据基频的频率生成对应于相应音符的控制码,并将控制码发送至谐波生成模块,以使谐波生成模块根据控制码生成谐波。

根据本申请的实施例,谐波发生器还包括:多路复用器,连接在能量检测单元和可编程增益单元之间并且还连接至查表模块,多路复用器根据控制码选择多个频带中的输入信号中的一个发送至可编程增益单元以控制增益量。

根据本申请的实施例,谐波生成单元包括可编程正弦谐波发生器。

根据本申请的实施例,谐波发生器还包括:低通滤波器,连接至能量检测单元的输入端,用于将低通滤波处理之后的输入信号发送至能量检测单元。

根据本申请的另一方面,提供了一种用于生成谐波的方法,包括:

检测输入信号在多个不同频带中的多个能量值;

检测多个能量值中的最大能量值;

根据最大能量值确定输入信号的基频,并且根据基频的频率与音符之间的对应关系生成谐波,其中不同频率对应于不同音符。

根据本申请的实施例,检测输入信号在多个不同频带中的多个能量值包括:将输入信号分别输入至多个带通滤波器以形成输入信号在多个频带中的多个能量值;通过分别连接至多个带通滤波器的多个检测器来检测多个能量值。

根据本申请的实施例,生成谐波包括:根据基频的频率和查找表生成对应于相应音符的控制码并根据控制码生成谐波,其中,查找表包括不同频率与不同音符之间的对应关系;根据控制码选择多个频带中的输入信号中的一个来控制对于谐波的增益量。

通过本申请的上述技术方案,本申请的谐波发生器能够基于输入音频信号的基频生成任何次数的谐波分量,除了希望产生的实际谐波之外,通过系统中的处理不会引入额外的thd;另外,不会引入额外的、不必要的泛音。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例的谐波发生器的示意图;

图2是根据本申请实施例的用于生成谐波的方法的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。

图1示出了根据本申请实施例的谐波发生器的示意图。如图1所示,本申请的谐波发生器可以包括能量检测单元120、最大值检测器130和谐波生成单元140。最大值检测器130连接至能量检测单元120,谐波生成单元140连接至最大值检测器130。能量检测单元120可以接收输入信号,在一个实施例中,输入信号是音频信号x。能量检测单元120还可以检测输入信号在多个不同频带中的多个能量值。最大值检测器130可以检测多个能量值中的最大能量值。谐波生成单元140将最大值检测器130检测的最大能量值确定为输入信号的基频。由于基频的不同频率对应于不同音符,从而谐波生成单元140可以根据基频的频率与音符之间的对应关系来生成谐波。

在一些实施例中,本申请的谐波发生器还可以包括低通滤波器110,低通滤波器110连接至能量检测单元120的输入端。低通滤波器110可以对输入信号进行低通滤波处理,并将低通滤波处理之后的输入信号发送至能量检测单元120。在一个实施例中,能量检测单元120可以包括多个带通滤波器f1、f2、……、fm,输入信号输入至每一个带通滤波器f1、f2、……、fm以形成输入信号在多个频带中的多个能量值。能量检测单元120还可以包括多个检测器d1、d2、……、dm,多个检测器d1、d2、……、dm分别连接至对应的多个带通滤波器f1、f2、……、fm并用于检测多个能量值。其中,m为正整数。在一个实施例中,检测器d1、d2、……、dm可以是电平检测器,从而可以通过检测多个带通滤波器f1、f2、……、fm输出的电平幅值来检测能量值。

具体来说,参见图1所示,首先输入音频信号x,利用低通滤波器110可以限制音频信号x的频率含量以暴露其更多的基频含量。然后将低通滤波器110的输出信号发送到多个带通滤波器f1、f2、……、fm形成的滤波器组中,滤波器组的多个带通滤波器f1、f2、……、fm与多个检测器d1、d2、……、dm一一对应连接,从而通过多个带通滤波器f1、f2、……、fm和多个检测器d1、d2、……、dm可以得到每个频带中音频信号x的能量值的测量值。然后,最大值检测器130在检测器d1、d2、……、dm输出的多个能量值中检测出最大能量值。

随后,通过谐波生成单元140来生成谐波。在一个实施例中,谐波生成单元140可以包括查表模块142,查表模块142连接至最大值检测器130,查表模块142包括不同频率与不同音符之间的对应关系。在一个是实施例中,查表模块142包括查找表,查找表可以将先前的最大值检测器130输出的最大能量值映射为一个控制码,例如一个数字,该数字可以表示所选择的频率和对应的音符。谐波生成单元140还可以包括连接至查表模块142的谐波生成模块144。其中,查表模块142将生成的控制码发送至谐波生成模块144,谐波生成模块144可以根据该控制码来生成谐波。在一个实施例中,谐波生成模块144是例如可编程正弦谐波发生器的可编程谐波生成模块。可编程谐波生成模块可以在收到控制码后被编程以产生音频信号x的基频的任何谐波。可以理解,最终生成的谐波可以完全取决于查找表中的映射。

此外,为了跟随音频信号x的音符电平,可以在谐波生成单元140之后设置可编程增益单元150,可编程增益单元150分别连接至谐波生成单元140和能量检测单元120,并用于根据多个频带中的输入信号控制对于谐波的增益量。此外,本申请的谐波发生器还可以包括多路复用器160,多路复用器160连接在能量检测单元120和可编程增益单元150之间并且还连接至查表模块142。多路复用器160可以根据查表模块142发送的控制码选择多个频带中的输入信号中的一个发送至可编程增益单元150以控制对于谐波的增益量。具体来说,多路复用器160在接收到多个检测器d1、d2、……、dm输出的所有能量值和查表模块142生成的控制码之后,多路复用器160根据控制码可以确定查表模块142为谐波生成模块144所分配的音符,进而可以允许对应于该音符的信号通过,以此来控制可编程增益单元150的增益量。也就是说,可编程增益单元150的增益量可以由检测器d1、d2、……、dm输出的能量值来控制,从而改变对每个不同音符需要引入的增益量。

综上所述,通过本申请的上述技术方案,本申请的谐波发生器能够基于输入音频信号的基频生成任何次数的谐波分量,除了希望产生的实际谐波之外,通过系统中的处理不会引入额外的thd(总谐波失真,totalharmonicdistortion);另外,不会引入额外的、不必要的泛音(overtone)。

如图2所示,根据本申请的实施例,还提供了一种用于生成谐波的方法,包括以下步骤:

s202,检测输入信号在多个不同频带中的多个能量值;

s204,根据多个能量值中的最大能量值确定输入信号的基频;

s206,根据基频的频率与音符之间的对应关系生成谐波,其中不同频率对应于不同音符。

在一个实施例中,在步骤s202处,检测输入信号在多个不同频带中的多个能量值可以包括:将输入信号分别输入至多个带通滤波器以形成输入信号在多个频带中的多个能量值;通过分别连接至多个带通滤波器的多个检测器来检测多个能量值。

在一个实施例中,在步骤s206处,生成谐波可以包括:根据基频的频率和查找表生成对应于相应音符的控制码并根据控制码生成谐波,其中,查找表包括不同频率与不同音符之间的对应关系;并且,根据控制码选择多个频带中的输入信号中的一个来控制对于谐波的增益量。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1