一种信号处理方法及装置的制作方法

文档序号:7967127阅读:101来源:国知局
专利名称:一种信号处理方法及装置的制作方法
技术领域
本发明涉及信号处理技术,特别是指一种提高模数转换(A/D)信噪比的信号处理方法及装置。
背景技术
随着信号数字化的发展,由于数字信号如数字音频信号在传输时更方便、抗干扰性更强、更可靠,在处理时处理速度更快、精度更高,因此,经常需要将模拟信号转化为数字信号进行传输和处理。现有技术中,将模拟信号转化为数字信号的处理过程很简单,一般就是直接采用模数转换器(ADC),将输入的模拟信号进行模数转换,输出数字信号继续进行处理。但是,在将模拟信号通过ADC变成数字信号的过程中,通常会引入量化噪声,输入信号与量化噪声的信噪比(SNR,Signal Noise Ratio)可根据公式(1)得到SNR=6.02B+1.76+10*log10(fm/2*fmax)(1)公式(1)中,B为量化位数,fm为采样频率,fmax为输入模拟信号的最高带宽。
从公式(1)可以看出,信号量化后的位数每增加1位,SNR就会提高约6dB。这样,对于幅值较大的输入信号,由于有效的量化位数较多,能获得较高的SNR;而对于幅值较小的输入信号,有效量化位数相对较少,所以信号量化后只能获得较低的SNR,甚至可能出现小信号在量化后完全被噪声污染的情况。

发明内容
本发明的提供一种信号处理方法与装置,能根据输入信号幅值的大小进行自动增益控制,动态调整对输入信号的放大比率,有效提高模数转换中的量化信噪比。
本发明方法包括A、将模拟信号根据当前给定增益值进行放大,再将放大后的模拟信号转换为数字信号;B、将所述数字信号按照所述当前给定增益值进行缩小后输出,并根据所述数字信号确定出新增益值,在模拟信号幅值为零时刻用所述新增益值更新所述当前给定增益值,返回步骤A。
根据本发明的上述方法,步骤B中所述根据数字信号确定出新增益值,具体包括B1、以样本块为单位对所述数字信号样本进行低通滤波,并计算各样本的包络信号,统计出各包络信号的最大值;B2、将所述包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出所述新增益值。
步骤B1中所述计算各样本的包络信号,具体包括当前样本的包络信号等于当前样本的绝对值与权重因子之积加上前一样本的包络信号与1减权重因子之积,其中,权重因子的值为0.2或为0.01。
步骤B2中所述当前给定噪声阈值随所述当前给定增益值动态改变。
所述当前给定噪声阈值随所述当前给定增益值动态改变,具体包括当所述当前给定增益值增加一个固定值时,将所述当前给定噪声阈值乘以一个大于1的第一因子,作为改变后的当前给定噪声阈值;当所述当前给定增益值减小一个固定值时,将所述当前给定噪声阈值乘以一个小于1的第二因子,作为改变后的当前给定噪声阈值;当所述当前给定增益值不变时,保持所述当前给定噪声阈值不变。
所述当前给定噪声阈值随所述当前给定增益值动态改变,具体包括预先存储增益索引值与放大因子的对应关系;根据所述包络信号的最大值确定出所述增益索引值,查找所述对应关系,得到所述放大因子;
用当前给定噪声阈值的初始值乘以所述放大因子,作为改变后的当前给定噪声阈值。
所述步骤B2包括当所述包络信号的最大值小于所述当前给定噪声阈值、或者所述包络信号的最大值大于等于所述增益下限值小于所述增益上限值时,确定出所述新增益值等于所述当前给定增益值;当所述包络信号的最大值大于等于所述当前给定噪声阈值且小于所述增益下限值时,确定出所述新增益值等于所述当前给定增益值增加一个固定值;当所述包络信号的最大值大于等于所述增益上限值时,确定出所述新增益值等于所述当前给定增益值减小一个固定值。
根据本发明的上述方法,在所述步骤A之前还包括设置所述当前给定增益值的初始值为0dB。
本发明另提供一种信号处理装置,包括信号放大单元,用于对所接收的模拟信号根据当前给定增益值进行放大,并将放大后的模拟信号发送到模数转换单元;模数转换单元,用于将输入的模拟信号转化为数字信号,并将数字信号输出至数字信号控制单元和自动增益控制单元;数字信号控制单元,用于将输入的数字信号根据所述当前给定增益值缩小后输出;过零点检测单元,检测所述模拟信号的幅值,在模拟信号幅值为零时刻发送通知消息给所述自动增益控制单元;自动增益控制单元,用于根据输入的数字信号确定出新增益值,并在接收到所述过零点检测单元发送的通知消息后,用所述新增益值更新所述当前给定增益值输出给所述信号放大单元和数字信号控制单元。
所述信号放大单元为可编程增益放大器。
所述自动增益控制单元包括
第一功能模块,以样本块为单位对所述数字信号样本进行低通滤波,并计算各样本的包络信号,统计出各包络信号的最大值;第二功能模块,将所述包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出所述新增益值;第三功能模块,接收所述过零点检测单元发送的通知消息,用确定出的新增益值更新所述当前给定增益值输出给所述信号放大单元和数字信号控制单元。
所述自动增益控制单元还包括噪声阈值改变模块,当所述当前给定增益值改变时,动态改变当前给定噪声阈值。
本发明有益效果如下(1)在本发明中,先将模拟信号根据当前给定增益值进行放大(初始值可设为0dB),再将放大后的模拟信号转换为数字信号;将转换后的数字信号按照当前给定增益值进行等比缩小后输出,同时根据转换后的数字信号确定出新增益值,在确定新增益值时,通过计算转换后的数字信号样本的包络信号,采取对小信号多放大、大信号少放大或缩小的处理方式来确定新的增益值,从而整体上提高量化信噪比。另外,本发明采用在模拟信号幅值为零时刻用所述新增益值更新当前给定增益值,对后续输入的模拟信号进行放大控制,可以有效减小转换后信号的频率失真。
(2)本发明在根据转换后的数字信号确定出新增益值时,用转换后的数字信号样本的包络信号与当前给定噪声阈值、增益上限值和增益下限值进行比较来确定出新增益值,其中,还使当前给定噪声阈值随当前给定增益值进行动态改变,这样,可有效地区分出噪声信号和有用信号(当包络信号的最大值小于当前给定的噪声阈值时,认为是噪声信号),从而避免对噪声信号的放大,进一步提高信噪比。
(3)在本发明提供的当前给定噪声阈值随当前给定增益值进行动态改变的具体方法中,提供了一种根据固定增益值来改变当前给定噪声阈值的方式,即当前给定增益值增加一个固定值时,将当前给定噪声阈值乘以一个大于1的第一因子,作为改变后的当前给定噪声阈值;当前给定增益值减小一个固定值时,将当前给定噪声阈值乘以一个小于1的第二因子,作为改变后的当前给定噪声阈值;当前给定增益值不变时,保持当前给定噪声阈值不变。这种实现方式简单有效,但由于后一个噪声阈值与前一个噪声阈值相关联,会存在累计误差的问题。为此,本发明还提供了另一种改变当前给定噪声阈值的方式,即预先存储增益索引值与放大因子的对应关系;根据包络信号的最大值确定出增益索引值,查找所述对应关系,得到放大因子;用当前给定噪声阈值的初始值乘以获得的放大因子,作为改变后的当前给定噪声阈值。这种实现方式只需存储一个对应关系表,通过增益索引值查表得到放大因子,用当前给定噪声阈值的初始值(该初始值预先设定)和获得的放大因子的乘积来更新当前给定噪声阈值,从而避免了模拟信号转换为数字信号过程中因量化造成的累计误差问题。


图1为本发明提供的信号处理装置的组成结构示意图;图2为本发明信号处理方法的实现流程图;图3为本发明提供的信号处理装置中自动增益控制单元模块结构示意图;图4为本发明方法中自动增益控制单元动态调整增益值的处理流程图。
具体实施例方式
自动增益控制(AGC,Automatic Gain Control)是一种通过改变输入信号的增益(Gain)值来调整信号幅值,使信号幅值限制在一个固定范围内的算法。目前,AGC算法在音频领域的应用,大多是用于调整音频信号的响度,使信号的音量保持在一个稳定响度,而不是忽大忽小。本发明利用AGC能够动态调整、保持信号状态稳定的特点,对模拟音频信号的幅值进行动态调整。
本发明的核心思想是对模拟音频信号在进行转换前先放大,再将放大的模拟音频信号转化为数字音频信号,将转换后的数字音频信号按照之前放大的比例进行缩小。这里,对模拟音频信号进行放大的比例和对数字音频信号进行缩小的比例,是根据所输入的模拟音频信号的大小通过AGC动态调整的。其中,所述放大是指增大或减小音频信号的幅值。
如图1所示,本发明所提供的信号处理装置包括信号放大单元11、模数转换单元12、数字信号控制单元13、自动增益控制单元14以及过零点检测单元15。其中,信号放大单元11用于将输入的模拟音频信号x(t)根据当前给定的增益值进行放大,并将放大后的模拟音频信号送至模数转换单元12;模数转换单元12用于将模拟信号转化为数字信号,并将转化后的数字信号x(n)同时送入数字信号控制单元13和自动增益控制单元14中;数字信号控制单元13用于根据给定的增益值对所收到的数字音频信号进行缩小,并输出缩小后的数字音频信号y(n);自动增益控制单元14用于对模数转换单元12输出的信号样本x(n)进行低通滤波,计算出各样本的包络信号,并统计出各包络信号的最大值,将统计出的输出信号样本的包络信号的最大值与当前给定的噪声阈值、增益调整上限值和增益调整下限值进行比较,确定出新的增益值,并用确定出的新增益值更新当前给定增益值;当过零点检测单元15检测到模拟输入信号的幅值为零时,通知给自动增益控制单元14;自动增益控制单元14接收到通知消息后,将更新后的当前给定增益值同时送至信号放大单元11和数字信号控制单元13,使信号放大单元11和数字信号控制单元13能根据更新后的当前给定增益值调整音频信号的大小。
本发明提供的上述装置中,信号放大单元11可采用可编程增益放大器(PGA);模数转换单元12一般采用模数转换器;数字信号控制单元13可采用数字信号处理(DSP)芯片或专用芯片实现;自动增益控制单元14可采用专用芯片或DSP芯片实现;数字信号控制单元13和自动增益控制单元14可使用同一个DSP芯片或同一个专用芯片。信号放大单元11所采用的当前给定增益值与数字信号控制单元13所采用的当前给定增益值相等。
基于图1所示的装置,本发明的信号处理方法步骤流程如图2所示,包括步骤S21将当前要进行模数转换的模拟音频信号x(t)按照当前给定增益值进行放大。对模拟音频信号的放大由图1中的信号放大单元11完成;其中,当前给定增益值由自动增益控制单元14给出,以dB为单位,当前给定增益值的初始值为0dB。
步骤S22将放大后的模拟音频信号转换为数字音频信号x(n)并输出。图1中,信号放大单元11将放大后的模拟信号输出至模数转换单元12,由模数转换单元12将模拟音频信号转换为数据音频信号,并输出给数字信号控制单元13和自动增益控制单元14。
步骤S23对x(n)信号的幅值按照当前给定增益值进行缩小后输出,以补偿信号放大单元11对输入信号的放大;自动增益控制单元14根据输入的数字音频信号x(n)动态调整给定增益值,即根据输出的数字音频信号确定出新增益值,并用确定出的新增益值更新当前给定增益值;在模拟音频信号过零点时刻将更新后的当前给定增益值同时送至信号放大单元11和数字信号控制单元13;然后返回步骤S21,用更新后的当前给定增益值对后续接收的模拟音频信号进行放大控制。
过零点检测指的是当输入的模拟信号幅值为0时,过零点检测器通知自动增益控制单元14,自动增益控制单元14接收到通知消息后再指示信号放大单元11和数字信号控制单元13改变当前给定增益值。
采用过零点处更新当前给定增益值能减小频率失真,原理如下假设第i-1个样本块的最后一个样本Xi-1(N-1)和第i个样本块的第一个样本Xi(0)应用的增益值分别为G(i-1)和G(i),如果G(i-1)不等于G(i),则由于增益的改变引起这两个相邻样本值不连续,引起信号的失真。如果失真发生在能量大的样本值处(对应信号幅值较大),该失真有可能被人耳能感知到,通常称为zipper(拉练)噪声。为了减少zipper噪声,可以让增益改变发生在能量小的样本处,例如,过零点处。因此,本发明采取在过零点处改变当前给定增益值,以减小频率失真和噪声。
下面对自动增益控制单元14如何根据输入的数字音频信号x(n)确定出新增益值进行详细说明。
参见图3,自动增益控制单元14包括第一功能模块141,以样本块为单位对数字信号样本进行低通滤波,并计算各样本的包络信号,统计出各包络信号的最大值;第二功能模块142,将包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出所述新增益值;第三功能模块143,接收过零点检测单元15发送的通知消息,用确定出的新增益值更新当前给定增益值输出给信号放大单元11和数字信号控制单元13;噪声阈值改变模块144,用于当前给定增益值改变时,动态改变当前给定噪声阈值。
根据输入的数字音频信号x(n)确定出新增益值的具体步骤如图4所示,包括步骤S41第一功能模块141以样本块(sample block)为单位,对数字音频信号样本x(n)进行低通滤波,并根据下列公式(2)得到包络信号e(n)e(n)=α|x(n)|+(1-α)e(n-1)(2)其中,α为权重因子,在attack阶段|x(n)|>e(n-1),此时α=0.2;其他阶段α=0.01。通常,音频信号的变化可分为上升、保持和降低几个阶段,这里所述的attack阶段就是指上升阶段,保持和降低属于其他阶段。
步骤S42第一功能模块141统计所有包络信号的最大值Emax,并将统计结果输出给第二功能模块142。
Emax=Max(e(n))(3)也就是说,第一功能模块141获取L个样本的包络信号的最大值。
式(3)中,n为0,...,L-1,L表示sample block的长度,通常sample block的长度可设置在64至256之间。
步骤S43第二功能模块142将包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出新增益值,并根据新增益值的变化动态改变当前给定噪声阈值。具体方法包括设置三个阈值,分别为当前给定噪声(noise)阈值NL(假设NL初值为noise_th,NL随当前给定增益值动态改变),增益上限值UL和增益下限值LL,LL和UL用于定义一个控制的目标范围。
如果包络信号的最大值Emax小于NL值,可以认为是noise信号,则保持当前给定增益值不变;如果包络信号的最大值Emax大于等于LL值并且小于UL值,则认为达到了控制目标,可以保持当前给定增益值不变;如果包络信号的最大值Emax大于等于NL值并且小于LL值,则认为当前输入的信号幅度不够大,让增益值增加一个固定值(例如增加1.5dB);即新增益值为原来的当前给定增益值加上1.5dB,并用新增益值更新当前给定增益值;如果包络信号的最大值Emax大于等于UL值,则认为当前输入信号的幅值较大,让增益值减小一个固定值(例如减小1.5dB);即新增益值为原来的当前给定增益值减去1.5dB,并用新增益值更新当前给定增益值。
当前给定增益值更新后,输入信号中的背景噪声部分的幅值也将会发生变化,为了更加准确检测当前输入信号是语音信号还是噪声信号,需要根据更新后的当前给定增益值动态改变NL值。因此,当前给定增益值更新后,由噪声阈值改变模块144动态改变当前给定噪声阈值,具体改变方法例如可采用如下两种方法一设置两个改变因子来实现动态改变当前给定噪声阈值。具体包括当当前给定增益值增加一个固定值时,将当前给定噪声阈值乘以一个大于1的第一因子,作为改变后的当前给定噪声阈值;当当前给定增益值减小一个固定值时,将当前给定噪声阈值乘以一个小于1的第二因子,作为改变后的当前给定噪声阈值;当当前给定增益值不变时,保持当前给定噪声阈值不变。
例如,假设增益值改变步长为1.5dB,当前给定增益值增加1.5dB时,NL采用下式(4)进行动态改变NL=NL*1.19(4)式(4)中,1.19即为大于1的第一因子;当前给定增益值减小1.5dB时,NL采用下式(5)进行动态改变NL=NL*0.84(5)式(5)中,0.84即为小于1的第二因子。
以上第一因子和第二因子的具体数据可以设置,本发明对此不作限定。
方法一简单有效,但根据式(4)、(5)可知,由于后一个噪声阈值与前一个噪声阈值相关联,会存在累计误差的问题。
方法二设置一个增益表,存储增益索引值与放大因子的对应关系来实现动态改变当前给定噪声阈值。具体包括预先存储增益索引值(index)与放大因子的对应关系;根据统计出的包络信号的最大值Emax确定出增益索引值index,根据增益索引值查找增益表,得到对应放大因子;用当前给定噪声阈值的初始值(noise_th)乘以得到的放大因子,作为改变后的当前给定噪声阈值。
其中,根据统计出的包络信号的最大值确定出增益索引值的方法,例如当根据包络信号的最大值Emax确定出需要增加增益值时,使index加“1”;当根据包络信号的最大值Emax确定出需要减小增益值时,使index减“1”当根据包络信号的最大值Emax确定出不需要改变增益值时,使index不变;与各增益索引值对应的放大因子,例如由下式(6)计算获得Gain_Table[index]=10dB[index]/20(6)式(6)中,dB[index]=index*1.5;
Index为根据当前统计出的包络信号最大值确定出的增益索引值。
当NL初值为noise_th,则NL动态改变通过下式(7)实现NL=noise_th*Gain_Table[index](7)方法二采用增益表存储增益索引值和放大因子的对应关系,通过增益索引值查表得到放大因子,用当前给定噪声阈值的初始值(该初始值预先设定)和查表获得的放大因子的乘积来更新当前给定噪声阈值,从而避免了模拟信号转换为数字信号过程中因量化造成的累计误差问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种信号处理方法,其特征在于,该方法包括以下步骤A、将模拟信号根据当前给定增益值进行放大,再将放大后的模拟信号转换为数字信号;B、将所述数字信号按照所述当前给定增益值进行缩小后输出,并根据所述数字信号确定出新增益值,在模拟信号幅值为零时刻用所述新增益值更新所述当前给定增益值,返回步骤A。
2.根据权利要求1所述的方法,其特征在于,步骤B中所述根据数字信号确定出新增益值,具体包括B1、以样本块为单位对所述数字信号样本进行低通滤波,并计算各样本的包络信号,统计出各包络信号的最大值;B2、将所述包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出所述新增益值。
3.根据权利要求2所述的方法,其特征在于,步骤B1中所述计算各样本的包络信号,具体包括当前样本的包络信号等于当前样本的绝对值与权重因子之积加上前一样本的包络信号与1减权重因子之积,其中,权重因子的值为0.2或为0.01。
4.根据权利要求2所述的方法,其特征在于,步骤B2中所述当前给定噪声阈值随所述当前给定增益值动态改变。
5.根据权利要求4所述的方法,其特征在于,所述当前给定噪声阈值随所述当前给定增益值动态改变,具体包括当所述当前给定增益值增加一个固定值时,将所述当前给定噪声阈值乘以一个大于1的第一因子,作为改变后的当前给定噪声阈值;当所述当前给定增益值减小一个固定值时,将所述当前给定噪声阈值乘以一个小于1的第二因子,作为改变后的当前给定噪声阈值;当所述当前给定增益值不变时,保持所述当前给定噪声阈值不变。
6.根据权利要求4所述的方法,其特征在于,所述当前给定噪声阈值随所述当前给定增益值动态改变,具体包括预先存储增益索引值与放大因子的对应关系;根据所述包络信号的最大值确定出所述增益索引值,查找所述对应关系,得到所述放大因子;用当前给定噪声阈值的初始值乘以所述放大因子,作为改变后的当前给定噪声阈值。
7.根据权利要求4所述的方法,其特征在于,所述步骤B2包括当所述包络信号的最大值小于所述当前给定噪声阈值、或者所述包络信号的最大值大于等于所述增益下限值小于所述增益上限值时,确定出所述新增益值等于所述当前给定增益值;当所述包络信号的最大值大于等于所述当前给定噪声阈值且小于所述增益下限值时,确定出所述新增益值等于所述当前给定增益值增加一个固定值;当所述包络信号的最大值大于等于所述增益上限值时,确定出所述新增益值等于所述当前给定增益值减小一个固定值。
8.根据权利要求1至7任意权项所述的方法,其特征在于,在所述步骤A之前还包括设置所述当前给定增益值的初始值为0dB。
9.一种信号处理装置,其特征在于,包括信号放大单元,用于对所接收的模拟信号根据当前给定增益值进行放大,并将放大后的模拟信号发送到模数转换单元;模数转换单元,用于将输入的模拟信号转化为数字信号,并将数字信号输出至数字信号控制单元和自动增益控制单元;数字信号控制单元,用于将输入的数字信号根据所述当前给定增益值缩小后输出;过零点检测单元,检测所述模拟信号的幅值,在模拟信号幅值为零时刻发送通知消息给所述自动增益控制单元;自动增益控制单元,用于根据输入的数字信号确定出新增益值,并在接收到所述过零点检测单元发送的通知消息后,用所述新增益值更新所述当前给定增益值输出给所述信号放大单元和数字信号控制单元。
10.根据权利要求9所述的装置,其特征在于,所述信号放大单元为可编程增益放大器。
11.根据权利要求9所述的装置,其特征在于,所述自动增益控制单元包括第一功能模块,以样本块为单位对所述数字信号样本进行低通滤波,并计算各样本的包络信号,统计出各包络信号的最大值;第二功能模块,将所述包络信号的最大值与当前给定噪声阈值、增益上限值和增益下限值进行比较,确定出所述新增益值;第三功能模块,接收所述过零点检测单元发送的通知消息,用确定出的新增益值更新所述当前给定增益值输出给所述信号放大单元和数字信号控制单元。
12.根据权利要求11所述的装置,其特征在于,所述自动增益控制单元还包括噪声阈值改变模块,当所述当前给定增益值改变时,动态改变当前给定噪声阈值。
全文摘要
本发明公开了一种信号处理方法,包括A.将模拟信号根据当前给定增益值进行放大,再将放大后的模拟信号转换为数字信号;B.将所述数字信号按照所述当前给定增益值进行缩小后输出,并根据所述数字信号确定出新增益值,在模拟信号幅值为零时刻用所述新增益值更新所述当前给定增益值,返回步骤A。本发明还同时公开了一种信号处理装置,采用该方法和装置能根据输入信号幅值的大小动态调整对输入信号的缩放比率,进而从整体上提高量化信噪比。
文档编号H04L25/08GK1953333SQ20061011453
公开日2007年4月25日 申请日期2006年11月14日 优先权日2006年11月14日
发明者郦文其, 冯宇红 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1