可防止非线性失真的语音数字信号自动增益控制方法技术

技术编号:16876290 阅读:161 留言:0更新日期:2017-12-23 13:36
本发明专利技术公开了一种可以有效防止非线性失真的语音数字信号自动增益控制方法,依据输入语音信号的幅值进行判断,区分为溢出危险信号、低能量无效信号以及线性处理有效信号等种类,同时又在线性处理有效信号内分区,各类各区信号均采用有针对其特性的不同的期望增益来进行处理,既保证了AGC效果的同时又可以有效的防止出现非线性失真。

An automatic gain control method for speech digital signals that can prevent nonlinear distortion

The invention discloses a can effectively prevent the nonlinear distortion of voice digital signal automatic gain control method based on the amplitude of the input speech signal is judged, divided into overflow danger signal, low energy signal and linear effective signal processing is invalid and other types, but also in the linear effective signal within the District, all kinds of signal are used for the district the characteristics of the different expected gain to deal with, not only to ensure that the AGC effect and can effectively avoid nonlinear distortion.

【技术实现步骤摘要】
可防止非线性失真的语音数字信号自动增益控制方法
本专利技术涉及语音信号处理领域,更准确地说涉及自动增益控制处理,提升语音信号质量的解决方案。技术背景语音信号在空气中传播的时候,其声波是球型发散的,而且声波能量随着传播距离的增加而呈指数衰减。当使用麦克风来进行拾音时,声源距离增加时,麦克风所采集到的信号幅度(或能量)会衰减的非常严重。因此通常会在麦克风采集信号之后,使用自动增益控制(AGC,AutomaticGainControl)处理来对弱信号进行增强。自动增益控制处理通常可以使用硬件电路处理的方式或者是软件处理的方式。硬件电路处理针对的是模拟信号,软件处理针对的是数字信号。本专利技术所关注的是针对语音数字信号的AGC处理。传统自动增益控制方法是通过设定期望调整到的功率值和当前接收语音信号的功率值的比较来计算期望调整增益,再把此增益加之在输入原始信号之上。功率值的计算一般是基于周期信号能量均方根(RMS,RootMeanSquare)的统计,一个周期信号通常称之为一帧,一帧的长度可以是数十毫秒。传统做法的好处在于使得语音信号的能量调整变化明显,可以将输入语音信号整体调节到预期的功率水平,感官体验明显。而缺陷在于,当输入信号能量变化动荡较大时,使用如此单一且比较固定的增益方法会造成一定的非线性失真,影响语音信号音质。本专利技术针对上述存在的问题,提供了一种可以有效防止非线性失真的语音数字信号自动增益控制方法,既保证了AGC效果,同时又可以有效的防止出现非线性失真。
技术实现思路
本专利技术的目的在于专利技术一种可以有效防止非线性失真的语音数字信号自动增益控制方法,其中包括:计算当前帧信号的平均功率;基于所述帧信号的平均功率计算功率调节值;基于所述功率调节值计算信号幅值的AGC增益参数;基于所述AGC增益参数计算AGC期望调节的PCM峰值;基于在AGC期望调节的PCM峰值划分线性子区间,并定义各子区间的期望增益系数;遍历当前数据帧中每个采样的PCM值;根据每个采样的PCM值与线性子区间的对应关系,选取对应的期望增益系数;根据选定的期望增益系数和所述AGC增益参数进行AGC计算,并输出处理后的语音信号。具体来说:对于当前帧信号,计算平均功率RMS;以此平均功率功率和预期平均功率的差来计算功率调节值:POWER_SCALING=(POWER_EXPECT-POWER_FRAME)(单位为dB);基于功率调节值计算出幅值的AGC增益参数:基于最大PCM功率和AGC增益参数计算AGC期望调节PCM峰值:PCM_EXPECT=32767*AGC_GAIN;基于AGC期望调节PCM峰值,以PCM信号的幅值来界定线性区间,预设采样值的上下限阈值,设上限阈值和下限阈值。认为绝对值在上限阈值以上的信号,属于溢出危险信号,应尽量把信号控制在上限阈值左右或者以内,当语音数字信号采样值低于下限阈值时,认为信号接近下溢,是无效的语音信号或底噪;划分线性子区间,并定义各子区间的期望增益系数SECTION_FACTOR;遍历当前数据帧中每个采样INPUT_PCM;判断INPUT_PCM位于哪个子区间中,进而选取对应的子区间期望增益系数SECTION_FACTOR;最终计算出AGC处理后输出的语音信号:OUTPUT_PCM=INPUT_PCM*AGC_GAIN*SECTION_FACTOR。通过本专利技术提出的一种可以有效防止非线性失真的语音数字信号自动增益控制方法,可以在保证对信号进行良好的自动增益控制效果的同时又可以有效的防止出现非线性失真。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1是本专利技术一个实施例提供的可防止非线性失真的自动增益控制模块在一个电子设备中的示例位置系统逻辑框图;图2是一个传统的自动增益控制方法对语音信号进行处理的流程图;图3是本专利技术一个实施例提供的可防止非线性失真的自动增益控制方法的处理流程图;图4是使用传统的AGC方法对语音信号进行处理前后的信号频率响应曲线对比图;图5是本专利技术一个实施例提供的使用可防止非线性失真的自动增益控制方法对语音信号进行处理前后的信号频率响应曲线对比图;图6是本专利技术一个实施例提供的对语音信号的时域信号放大进入到某一区间,原始语音信号、经过传统AGC方法处理后的语音信号和使用可防止非线性失真的自动增益控制方法处理后的语音信号的对比图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1显示了本专利技术的可防止非线性失真的自动增益控制模块在一个电子设备中的示例位置系统逻辑框图。来自外部的语音声波101被电子设备的麦克风110所捕获,转换为102的模拟电信号。在经过120模数转换器之后,转换为103数字语音信号。传送给130快速自动增益控制模块处理,处理之后的数字信号104再传送给该电子设备的其它语音处理模块使用。以下具体阐述本专利技术的防止非线性失真的语音数字信号自动增益控制方法。语音数字信号的理论最大能量值为0dBFS(dBFullScale),其含义为满电平幅值数字信号采样所计算出的功率。假如采用16bit采样位宽,那么语音数字信号的幅值绝对值最大为32767。而功率值是统计语音信号的RMS,必须要在一定周期内做平均统计,因此0dBFS不是针对一个最大值为32767的采样的功率计算,而是一组周期信号的平均能量统计。设预置期望AGC调整信号能量到POWER_EXPECT(单位dBFS,此值为负数)。图2显示的是一个传统的自动增益控制方法对语音信号进行处理的流程图。对于一帧信号,其中内含X个INPUTPCM采样,基于公式统计这一帧RMS功率:(单位为dBFS)。以此功率和预期功率的差来计算功率调节值:POWER_SCALING=(POWER_EXPECT-POWER_FRAME)(单位为dB)。再计算出幅值的AGC增益参数:最终计算出AGC处理后输出PCM数据:OUTPUT_PCM=INPUT_PCM*AGC_GAIN。这种传统自动增益调节的问题在于当输入信号能量变化动荡较大时,使用如此单一且比较固定的增益方法会造成一定的非线性失真,影响语音信号音质。本专利技术相对于传统自动增益控制做法的改进在于针对一个数据帧内的语音信号,根据其幅值分成若干类,对不同区间内的信号除了乘以AGC增益参数之外,还附加乘以一个分类系数,使得不同区间内的具有不同特性的PCM信号能够得到最合理的增益控制,且保持线性特征。以PCM信号的幅值来界定,预设采样值的上下限阈值,设上限阈值为Upper_Limit,下限阈值为Lower_Limit。认为绝对值在Upper_Limit以上的信号,属于溢出危险信号,应尽量把信号控制在Upper_Limit左右或者以内。当语音数字信号采样值低于Lower_Limit时,认为信号接近下溢,是无效的语音信号或底噪。例如可以取Upper_Limit的值为30000,取Lower_Limit的值为500。在Lower_Limit和Upper_Limit之间的信号为线性区间有效信号。以0dBFS所对应的理论信号是峰值为32767的正弦波本文档来自技高网...
可防止非线性失真的语音数字信号自动增益控制方法

【技术保护点】
一种自动增益控制方法,包括:计算当前帧信号的平均功率;基于所述帧信号的平均功率计算功率调节值;基于所述功率调节值计算信号幅值的AGC增益参数;基于所述AGC增益参数计算AGC期望调节的PCM峰值;基于AGC期望调节的PCM峰值划分线性子区间,并定义各子区间的期望增益系数;遍历当前数据帧中每个采样的PCM值;根据每个采样的PCM值与线性子区间的对应关系,选取对应的期望增益系数;根据选定的期望增益系数和所述AGC增益参数进行AGC计算,并输出处理后的语音信号。

【技术特征摘要】
1.一种自动增益控制方法,包括:计算当前帧信号的平均功率;基于所述帧信号的平均功率计算功率调节值;基于所述功率调节值计算信号幅值的AGC增益参数;基于所述AGC增益参数计算AGC期望调节的PCM峰值;基于AGC期望调节的PCM峰值划分线性子区间,并定义各子区间的期望增益系数;遍历当前数据帧中每个采样的PCM值;根据每个采样的PCM值与线性子区间的对应关系,选取对应的期望增益系数;根据选定的期望增益系数和所述AGC增益参数进行AGC计算,并输出处理后的语音信号。2.根据权利要求1所述的自动增益控制方法,其特征在于,所述计算当前帧信号的平均功率步骤中帧信号的平均功率计算公式为其中一帧信号中内含X个输入的PCM采样INPUT_PCM。3.根据权利要求1所述的...

【专利技术属性】
技术研发人员:邓滨宋晨枫
申请(专利权)人:北京小鱼在家科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1