双AGC系统的制作方法

文档序号:15843909发布日期:2018-11-07 08:46阅读:249来源:国知局
本发明涉及自动增益控制领域,特别涉及一种双agc系统。
背景技术
:在音频信号处理的领域,对于数字音频信号的自动增益控制,一直以来都有相当多的研究,为了使音频信号经过放大后,不损坏喇叭,并且没有声音的破音现象,在数字音频处理上,自动增益控制(automaticgaincontrol,agc)技术一直广泛被应用。譬如现有技术中的图1中:直接使用了输出信号来检查增益是否过大,并且来调整输入信号的增益。在现有技术中的图2中:在检查增益是否调整的时候,采取了在信号过零时候来对信号增益调整,可以有效防止图1中的声音过早变声的缺点。然而,虽然图2通过信号过零时候来对信号增益调整,可以有效防止图1中的声音过早变声的缺点,但是它的agc的策略过于简单,容易出现数字输入信号截顶和信号过压缩的风险。技术实现要素:有鉴于此,本发明旨在提供一种双agc系统,以避免数字输入信号截顶和信号过压缩的风险。具体而言,本发明提供一种双agc系统,包括:过零检测单元,用于检测数字输入信号是否过零;增益线性化单元,用于在所述数字输入信号过零时,根据自动增益步进信号在线性查找表中找到线性化的第一增益调节值及第二增益调节值;输出增益调整单元,用于根据所述数字输入信号及第一增益调节值,经过乘法运算和饱和运算处理之后,得到数字输出信号;输入增益调整单元,用于根据所述数字输入信号及第二增益调节值,经过乘法运算和饱和运算处理之后,得到输入增益调整信号;选择单元,包括:模式信号输入端、用于接收所述数字输出信号的第一选择信号输入端、用于接收所述输入增益调整信号的第二选择信号输入端、以及选择信号输出端;所述选择信号输出端用于根据所述模式信号输入端接收的模式信号,选择性输出所述数字输出信号或所述输入增益调整信号;自动增益控制单元,用于根据所述选择信号输出端的输出信号,生成所述自动增益步进信号。进一步地,所述的双agc系统还包括:预防大单元,用于根据预设的放大参数,对所述数字输入信号进行放大处理,得到放大的数字输入信号;所述输出增益调整单元包括第一乘法器和第一饱和运算处理器,所述第一乘法器计算所述放大的数字输入信号与第一增益调节值的第一乘积,所述第一饱和运算处理器用于对所述第一乘积进行饱和运算处理,得到所述数字输出信号;所述输入增益调整单元包括第二乘法器和第二饱和运算处理器,所述第二乘法器计算所述放大的数字输入信号与第二增益调节值的第二乘积,所述第二饱和运算处理器用于对所述第二乘积进行饱和运算处理,得到所述输入增益调整信号。进一步地,所述的双agc系统还包括绝对值计算单元,所述绝对值计算单元的输入端连接所述选择单元的选择信号输出端;所述绝对值计算单元的输出端连接所述自动增益控制单元的输入端;所述自动增益控制单元,用于根据所述绝对值计算单元的输出端的输出信号,生成所述自动增益步进信号。进一步地,所述自动增益控制单元包括:复位信号端、快速增益使能端以及慢速增益使能端;信号峰值监测模块,用于判断所述自动增益控制单元的输入信号是否超过预设的快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,根据判断结果生成对应的监测值,所述监测值包括快速agc幅度监测值、慢速agc幅度监测值以及agc释放幅度监测值;主控状态机,用于根据预设的快速增益计数值、慢速增益计数器、保持增益计数值以及各种监测值与各自动增益控制单元的工作状态的对应关系,确定在所述对应的监测值时的工作状态,并输出当前的工作状态信息和下一工作状态信息;所述工作状态包括:对所述数字输入信号不进行增益调整的释放(release)状态、对数字输入信号进行快/慢速增益调整的跟踪(attack)状态、维持数字输入信号在固定增益幅度下的输出的保持(hold)状态;快速增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的快速agc调节一步增益需要的持续时间,进行计数,得到所述快速增益计数值;慢速增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的慢速agc调节一步增益需要的持续时间,进行计数,得到所述慢速增益计数值;保持增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的保持agc幅值时调节一步增益需要的持续时间,进行计数,得到所述保持增益计数值;增益步进调整模块,用于根据所述当前的工作状态信息、下一工作状态信息、快速增益计数值、慢速增益计数器、快速agc幅度监测值、慢速agc幅度监测值以及agc释放幅度监测值,生成所述自动增益步进信号,所述自动增益步进信号限幅于预设的增益步进调整的最大值。进一步地,所述过零检测单元,包括:第一延迟寄存器,第一端用于接收所述数字输入信号、第二端用于接收时钟信号以及第一输出端;逻辑或非运算模块,第一端用于接收所述数字输入信号、第二端用于接收所述第一延迟寄存器的输出端的信号,以及第二输出端;逻辑或运算模块,第一端用于接收所述数字输入信号在正值附近最小的检测结果、第二端用于接收所述数字输入信号在负值附近最小的检测结果、以及第三端用于接收所述第二输出端的输出信号,以及用于输出过零检测信号的第三输出端。进一步地,所述增益线性化单元包括:加法器,用于计算得到预先设置的增益值与自动增益步进信号相加得到的增益和值;第二延迟寄存器,包括:数据输入端用于接收所述增益和值,时钟信号输入端端、用于接收所述过零检测信号的使能端以及延迟数据输出端;选择器,包括:用于接收所述过零检测信号的使能端,用于接收所述增益和值的第一选择输入端,用于连接所述延迟数据输出端的第二选择输入端,以及选择输出端,所述选择输出端用于根据所述过零检测信号,选择性输出收所述增益和值或者所述延迟数据输出端的输出信号;第一查表模块,用于根据所述选择输出端的输出信号在线性查找表中找到线性化的第一增益调节值;第二查表模块,用于根据所述增益和值在线性查找表中找到线性化的第二增益调节值。进一步地,所述增益线性化单元还包括:限幅模块,所述限幅模块的输入端连接所述加法器的输出端,所述限幅模块的输出端连接所述第二延迟寄存器的数据输入端。进一步地,所述释放状态的进入条件包括:所述复位信号端收到复位信号,所述快速增益使能端以及慢速增益使能端均未收到使能信号;或者,在保持状态时,所述信号峰值监测模块检测不到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,在保持增益计数器计满后进入所述释放状态;所述释放状态进入跟踪状态的条件包括:所述信号峰值监测模块检测到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值或者慢速agc幅度阈值。进一步地,所述跟踪状态的进入条件包括:所述信号峰值监测模块检测到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值或者慢速agc幅度阈值;所述跟踪状态进入保持状态的条件包括:所述信号峰值监测模块检测所述自动增益控制单元的输入信号未超出所述快速agc幅度阈值以及慢速agc幅度阈值。进一步地,保持状态的进入条件包括:在所述跟踪状态时,所述信号峰值监测模块检测所述自动增益控制单元的输入信号未超出所述快速agc幅度阈值以及慢速agc幅度阈值;在所述保持状态时,所述信号峰值监测模块检测所述自动增益控制单元的输入信号超出agc释放幅度监测值;所述保持状态进入所述跟踪状态的条件包括:所述信号峰值监测模块检测不到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,且所述保持增益计数器计满。本发明的双agc系统,通过设置输出增益调整单元、输入增益调整单元以及选择单元,选择信号输出端用于根据所述模式信号输入端接收的模式信号,选择性输出所述数字输出信号或所述输入增益调整信号,由此在对自动增益控制单元的判断源上,通过配置选择经过agc以后的所述数字输出信号或者是预放大后的所述输入增益调整信号,不仅对于agc的应用场景上,有更灵活的选择,还能对音频信号的幅度进行动态实时调整,最大限度保留原声并且减少信号截顶和信号过压缩的风险。附图说明并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。图1为现有的第一种agc系统的拓扑示意图;图2为现有的第二种agc系统的拓扑示意图;图3为本发明实施例提供的一种双agc系统的拓扑示意图;图4为本发明实施例提供的一种双agc系统的结构示意图;图5为本发明实施例提供的一种双agc系统中的快速agc幅度阈值及慢速agc幅度阈值的波形示意图;图6为明实施例提供的一种双agc系统中的自动增益控制单元的结构图。图7为图6的自动增益控制单元中主控状态机的状态转换示意图;图8为本发明实施例提供的一种双agc系统中的过零检测单元和增益线性化单元的结构示意图。图9为本发明实施例提供的一种双agc系统中的饱和运算的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。下面结合附图详细说明本发明实施涉及的双agc系统。参见图3-图4所示,本发明实施例提供的一种双agc系统包括:过零检测单元,用于检测数字输入信号是否过零;增益线性化单元,用于在所述数字输入信号过零时,根据自动增益步进信号在线性查找表中找到线性化的第一增益调节值及第二增益调节值;输出增益调整单元,用于根据所述数字输入信号及第一增益调节值,经过乘法运算和饱和运算处理之后,得到数字输出信号;输入增益调整单元,用于根据所述数字输入信号及第二增益调节值,经过乘法运算和饱和运算处理之后,得到输入增益调整信号;选择单元,包括:模式信号输入端、用于接收所述数字输出信号的第一选择信号输入端、用于接收所述输入增益调整信号的第二选择信号输入端、以及选择信号输出端;所述选择信号输出端用于根据所述模式信号输入端接收的模式信号,选择性输出所述数字输出信号或所述输入增益调整信号;自动增益控制单元,用于根据所述选择信号输出端的输出信号,生成所述自动增益步进信号。优选地,所述的双agc系统还包括:预防大单元,用于根据预设的放大参数,对所述数字输入信号进行放大处理,得到放大的数字输入信号;所述输出增益调整单元包括第一乘法器和第一饱和运算处理器,所述第一乘法器计算所述放大的数字输入信号与第一增益调节值的第一乘积,所述第一饱和运算处理器用于对所述第一乘积进行饱和运算处理,得到所述数字输出信号;所述输入增益调整单元包括第二乘法器和第二饱和运算处理器,所述第二乘法器计算所述放大的数字输入信号与第二增益调节值的第二乘积,所述第二饱和运算处理器用于对所述第二乘积进行饱和运算处理,得到所述输入增益调整信号。优选地,所述的双agc系统还包括绝对值计算单元,所述绝对值计算单元的输入端连接所述选择单元的选择信号输出端;所述绝对值计算单元的输出端连接所述自动增益控制单元的输入端;所述自动增益控制单元,用于根据所述绝对值计算单元的输出端的输出信号,生成所述自动增益步进信号。表1列出了对图3中各符号代表的含义,表2列出了对图4中各符号代表的含义。图4括号内的控制信号都是可配置的参数,给本发明非常大的灵活性来适用于各种场合。自动增益控制单元主要就是对输入信号abs_agc进行幅度判断,得到需要调整的增益步进acc_cnt[5:0]。表1表2本实施例通过对数字输入信号的预判,在信号过零检测后再将输入信号的增益来调整,可以有效防止信号过压缩并导致音频信号过早变声。同时,本发明对于信号的预处理也有改进,在16bits的数字量化信号din[15:0]后,本发明对此信号进行预放大,可以有效提升了数字信号的动态范围。本发明在对自动增益的判断源上,也有可以通过配置选择经过agc以后的输出量化信号或者是预放大后的输入量化信号。这样对于agc的应用场景上,有更灵活的选择。本实施例对音频信号的幅度进行动态实时调整,最大限度保留原声并且减少信号截顶和信号过压缩的风险。如图6所示,具体地,所述自动增益控制单元包括:复位信号端、快速增益使能端以及慢速增益使能端;信号峰值监测模块,用于判断所述自动增益控制单元的输入信号是否超过预设的如图5所示的快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,根据判断结果生成对应的监测值,所述监测值包括快速agc幅度监测值、慢速agc幅度监测值以及agc释放幅度监测值;主控状态机(fsm_controller),用于根据预设的快速增益计数值、慢速增益计数器、保持增益计数值以及各种监测值与各自动增益控制单元的工作状态的对应关系,确定在所述对应的监测值时的工作状态,并输出当前的工作状态信息和下一工作状态信息;所述工作状态包括如图7所示的以下各种状态:对所述数字输入信号不进行增益调整的释放状态、对数字输入信号进行快/慢速增益调整的跟踪状态、维持数字输入信号在固定增益幅度下的输出的保持状态;快速增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的快速agc调节一步增益需要的持续时间,进行计数,得到所述快速增益计数值;慢速增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的慢速agc调节一步增益需要的持续时间,进行计数,得到所述慢速增益计数值;保持增益计数器,用于根据所述当前的工作状态信息和下一工作状态信息以及预设的保持agc幅值时调节一步增益需要的持续时间,进行计数,得到所述保持增益计数值;增益步进调整模块,用于根据所述当前的工作状态信息、下一工作状态信息、快速增益计数值、慢速增益计数器、快速agc幅度监测值、慢速agc幅度监测值以及agc释放幅度监测值,生成所述自动增益步进信号,所述自动增益步进信号限幅于预设的增益步进调整的最大值。如图8所示,所述过零检测单元,包括:第一延迟寄存器,第一端用于接收所述数字输入信号、第二端用于接收时钟信号以及第一输出端;逻辑或非运算模块,第一端用于接收所述数字输入信号、第二端用于接收所述第一延迟寄存器的输出端的信号,以及第二输出端;逻辑或运算模块,第一端用于接收所述数字输入信号在正值附近最小的检测结果、第二端用于接收所述数字输入信号在负值附近最小的检测结果、以及第三端用于接收所述第二输出端的输出信号,以及用于输出过零检测信号的第三输出端。过零调整保证了信号只在过零点的时候对信号幅度进行增益调整,避免了过早调整信号增益导致声音变声或有pop音的出现,让声音的调整更加顺滑柔和。注意:过零调整的检测都只针对于输入的din[15:0]信号。因为只有对输入信号的过零时候调整增益,才是agc的目标。进一步地,所述增益线性化单元包括:加法器,用于计算得到预先设置的增益值与自动增益步进信号相加得到的增益和值;第二延迟寄存器,包括:数据输入端用于接收所述增益和值,时钟信号输入端端、用于接收所述过零检测信号的使能端以及延迟数据输出端;选择器,包括:用于接收所述过零检测信号的使能端,用于接收所述增益和值的第一选择输入端,用于连接所述延迟数据输出端的第二选择输入端,以及选择输出端,所述选择输出端用于根据所述过零检测信号,选择性输出收所述增益和值或者所述延迟数据输出端的输出信号;第一查表模块,用于根据所述选择输出端的输出信号在线性查找表中找到线性化的第一增益调节值;第二查表模块,用于根据所述增益和值在线性查找表中找到线性化的第二增益调节值。图8其中的gainlineartable就是线性化的查找表:通过步进增益查找到线性化的增益,回馈给输入、输出增益调整模块。而增益的调整就是输入信号、输出反馈信号直接和线性增益相乘(乘法器)并经过饱和运算(saturation)而完成的。继续参照图8,所述增益线性化单元还包括:限幅模块,所述限幅模块的输入端连接所述加法器的输出端,所述限幅模块的输出端连接所述第二延迟寄存器的数据输入端。表3是图8中各符号的含义。表3继续如图7所示,所述释放状态的进入条件包括:所述复位信号端收到复位信号,所述快速增益使能端以及慢速增益使能端均未收到使能信号;或者,在保持状态时,所述信号峰值监测模块检测不到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,在保持增益计数器计满后进入所述释放状态;所述释放状态进入跟踪状态的条件包括:所述信号峰值监测模块检测到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值或者慢速agc幅度阈值。以上对于释放状态的也可以采用以下直观的方式描述:①释放状态【释放】处理内容此时对信号不进行增益调整,信号动态范围内可以来自于前状态复位信号rst_n有效。(rst_n=0)本发明的模块不被使能。(enable=0)【保持】1)在保持状态时候,检测不到超出fast/slow的阈值,并且也没有超过释放阈值,在保持_cnt计数器记满后进入释放状态。转移到下一个状态【跟踪】1)检测到超过快速agc的幅度阈值(above_avth1=1)2)检测到超过慢速agc的幅度阈值(above_avth0=1)保持在本状态其他条件进一步地,所述跟踪状态的进入条件包括:所述信号峰值监测模块检测到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值或者慢速agc幅度阈值;所述跟踪状态进入保持状态的条件包括:所述信号峰值监测模块检测所述自动增益控制单元的输入信号未超出所述快速agc幅度阈值以及慢速agc幅度阈值。以上对于跟踪状态的也可以采用以下直观的方式描述:②agc跟踪状态【跟踪】处理内容对信号进行快速、慢速增益调整,保证信号不截顶,并保持大功率输出来自于前状态【idle】1)检测到超过快速agc的幅度阈值(above_avth1=1)2)检测到超过慢速agc的幅度阈值(above_avth0=1)【保持】1)检测到超过快速agc的幅度阈值(above_avth1=1)2)检测到超过慢速agc的幅度阈值(above_avth0=1)转移到下一个状态【保持】1)检测信号阈值,快速agc和慢速agc的阈值都不超过(above_avth1=0并且above_avth0=0)保持在本状态其他条件进一步地,保持状态的进入条件包括:在所述跟踪状态时,所述信号峰值监测模块检测所述自动增益控制单元的输入信号未超出所述快速agc幅度阈值以及慢速agc幅度阈值;在所述保持状态时,所述信号峰值监测模块检测所述自动增益控制单元的输入信号超出agc释放幅度监测值;所述保持状态进入所述跟踪状态的条件包括:所述信号峰值监测模块检测不到所述自动增益控制单元的输入信号超出所述快速agc幅度阈值、慢速agc幅度阈值以及agc释放幅度阈值,且所述保持增益计数器计满。以上对于保持状态的也可以采用以下直观的方式描述:③保持状态【保持】处理内容信号此时不需要调整增益,维持信号在固定增益幅度下的输出。来自于前状态【跟踪】1)检测不到到超过快速agc的幅度阈值(above_avth1=0)并且检测不到到超过慢速agc的幅度阈值(above_avth0=0)【保持】1)检测到超过agc的释放幅度阈值(above_rvth=1)转移到下一个状态【释放】1)释放计数器计满(保持_cnt>=保持_time_th),并且没有检测到超过agc的快速、慢速、释放幅度阈值。(above_avth1=0并且above_avth0=0并且above_rvth=0)保持在本状态其他图9是本发明的带符号信号的饱和运算的一个简单说明,经过ssat(signedsaturation)的信号,输出为正常的经过增益调整后的数字音频信号。图中可以看出:如果不经过饱和运算,信号会有畸变。而饱和运算是能够保证信号没有畸变。结合以上各图,该双agc系统的工作原理简述如下:音频量化信号din[15:0]在经过预放大后,经过输出信号增益调整,并经过饱和运算处理后输出。输入信号经过过零检测后,对自动增益控制单元产生的调整增益线性化处理,然后分别对输入、输出的信号调整增益,调整后的信号通过可选择源的配置再次回送到自动增益控制单元,进一步调整信号的增益步进。本发明的详细设计框图本发明中,量化的数字信号经过预放大,在自动增益控制模块算出的agc增益步进,在信号过零的时候,通过查找增益步进对应的线性增益,将之与预放大后的信号做乘法和饱和运算,得到最终的输出增益。本发明使用了输出和输入两种反馈来检测增益,并且通过内置的快速、慢速增益调整功能,对信号进行增益调节。保证了信号能快速调整增益不截顶,并且能在慢速增益调解下,保证大功率稳定输出信号。由于现在对于音质、音乐听感的追求,本发明的双agc架构电路具有很好的多场景适用性。这种架构的电路能够:1,对信号提升一定的动态范围,实现方式非常简单,可以很容易实现,亦可以零活通过可配置保留原信号。2,由于具有双信号源可选择、高低增益压缩阈值可选、可配置,信号压缩比和压缩率动态可配和很好的通用型特性,本发明的双agc架构可广泛应用于数字音频功放芯片以及需要类似相关的数字信号处理的芯片中。本领域普通技术人员可以理解,实现上述实施例的全部或者部分步骤/单元/模块可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述实施例各单元中对应的步骤;而前述的存储介质包括:rom、ram、磁碟或者光碟等各种可以存储程序代码的介质。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1