本发明一般说来是关于自动增益控制,更具体地讲是关于数学信号处理器中的自动增益控制。 对于输入的电或声信号在进一步进行信号处理之前进行增益的自动调节,这在现有技术中是公知的。自动增益控制(AGC)的机构一般是用硬件实现的,利用诸如二极管之类的非线性器件去压扩输入信号。在数字信号处理中,这类非线性器件是不适用的。一般情况下,数字信号处理器通过执行算术法实现自动增益控制(AGC)。但是,利用算术法运算的缺点是要求数字信号处理器具有很强的处理能力。
AGC机构一般在接收幅度变化信号的装置中。下面列举几个这种幅度变化信号的例子:从话筒输出的话音信号,这里话筒与讲话人之间的距离在变化,或者各个讲话人以变化的声音幅度讲话;从电话线路输出的调制解调信号,由于任何一条电话线路的幅度衰减可能与其他各电话线路不同;以及从电话线路来的话音信号,其中信源就是变化的,在这种情况下,信源的变化既可能由于讲话人的话音变化,又可能是由于变化着的电话线路引起的。自动增益控制机构对于限制动态范围是有益的。在该动态范围内信号处理的大多数最复杂的部分必须工作,以防止放大器由于高电平信号而引起饱和,而同时使电路引起的热噪声的影响减至最小。
如以上所述,一般在硬件装置中所用的非线性效应,在数字信号处理器中是不适用的。在这种数字信号处理器中的AGC处理使用除法运算。典型的方法是,首先确定通常为一个时间周期中的最大样值的输入信号电平,而后执行算术倒数运算。然后将在这一个时间周期中的所有后来输入的各样值乘以这个倒数值。因此,大的输入信号乘以小的AGC值,而小的输入信号乘以大的AGC值。现有的各种电流信号处理器的一个问题是,执行除法运算的效率相当低。结果,数字信号处理器的大部分处理能力仅仅用作了自动增益控制。在电话系统中,这相当于把减小了的处理能力留给了诸如双音多频检测解调、呼叫接续进程和电话线路监视一类的重要功能。
美国专利4191995公开了一种典型的用硬件实现的数字AGC电路。该电路既包含一个模拟衰减器又包含一个数字衰减器,用来分别对输入模拟信号和所说的输入信号的数字表示值施加受控制的衰减。该模拟衰减器和数字衰减器在一个数字控制电路的控制下工作。美国专利3996519也公开了一种具有用硬件实现的自动增益控制的数字信号处理器。其中所公开的处理器使用了两个奇偶发生器、一个置位-复位触发移位寄存器和用以控制串接移位寄存器的输出的逻辑电路。
美国专利4499586介绍了一种受自动增益控制所控制的微处理器,该自动增益控制用在接收重复出现的第一和第二扫描信号的接收机中。该装置包括一个线性放大器和一个对数放大器。所提供的装置根据一个峰值信号产生一个数字增益控制信号,一个D/A变换器用于将数字增益信号变换为模拟增益控制信号,然后将该模拟增益控制信号加到线性放大器的增益控制输入端。
美国专利4477698公开了一种用以在远程电话机检测信号(PICKUP)的装置,该装置使用了一种高增益带通滤波器,而没使用自动增益控制。虽然该装置能够检测电话呼叫信号,但它不能补偿往往需要进行自动增益控制的不同的话音电平和/或调制解调信号电平。
所以,本发明的一个目的是,提供数字信号处理中的改进的自动增益控制。
本发明的另一个目的是,提供数字信号处理器中的自动增益控制,而不使用非线性硬件设备。
根据本发明的这些及其他目的,在数字信号处理系统中使用自动增益控制,以在话音、电话以及调制解调器应用方面提供自动增益控制(AGC)。根据本发明,建立一个预定的门槛值,并存贮在与信号处理器相联的数据存贮器中的一个存贮单元里。还建立一个预定的自动增益控制值和一个预定的计数门槛值,并且也存入该数据存贮器。所收到的每个输入信号样值均乘以AGC值,同时将该乘积暂存在信号处理器的数据存贮器的另一个存贮单元。取该乘积的绝对值,并加到预定的门槛值上。如果这一运算的结果导致信号处理器的溢出,则减小AGC值(乘以一个小于1的正小数),并存回到曾存贮过预定AGC值的那个存贮单元。如果一连串的样值引起溢出,则在一个设定的时间周期内减小AGC值,最好在话音信号、双音多频(DTMF)信号的接收以及调制解调工作所允许的失真时间范围内选择这一时间周期。
图1是根据本发明的系统的原理方框图。
图2是说明本发明最佳实施方案操作过程的流程图。
图3是说明根据本发明的另一个实施方案的流程图。
图1表示一个简化的原理方框图,信号处理器11可以是任何可买到的信号处理器,如Texas仪器公司的TMS32010。信号处理器11完全由主处理器19来控制,并且在运行以前,必须使它的中央处理单元(CPU)装入各种指令。信号处理器11使用指令存贮器12和数据存贮器13。这两个存贮器,即指令存贮器12和数据存贮器13都可以由主处理器19进行存取访问,不过与信号处理器11不在同一时间。只有当信号处理器11断开,即复位时,主处理器19才可以存取访问指令存贮器12。同时,主处理器19可以从指令存贮器12装入。然后转接到在整个时间上与信号处理器11动态共享的数据存贮器13。利用在主处理器19控制下的中断屏蔽,信号处理器11和主处理器19都具有相互中断的能力。
话音和/或音频信号经过线路21、22和23输入到接收机17。这些有幅度变化的信号,可以是来自话筒或来自电话的话音信号,和来自电话线路的话音信号,或者是来自电话线的调制解调信号。通过A/D变换器(16)将这些模拟形式的输入信号变换为数字信号,并暂存在数据寄存器15中。然后将这些数字化的信号输入到数据存贮器13。A/D变换器16提供经线21、22和23输入的模拟信号的数字化样值。正是将这些数字化的样值存入数据存贮器13、并对它们进行幅度调整,从而利用信号处理器11提供了自动增益控制。
通过用总线14与数据存贮器13相联的信号处理器11,完成数据存贮器13中所存贮信号的自动增益控制(AGC)。除了在数据存贮器13中贮存数字输入样值外;还要在数据存贮器13中贮存用于实现这种数字化输入信号的自动增益控制的其他预定值。这些预定值包括一个门槛值(THVAL),一个预定的AGC值(AGCVAL),和一个预定的计数门槛值(UPCNT)。此外,在通过信号处理器11对数据存贮器13中的数字化样值进行AGC处理过程中,还要产生更多的数值,这些数值也存入数据存贮器13。下面将进行更详细的解释。
现在将参照图2对于存入数据存贮器13的数字化样值的自动增益控制做更详细的解释。把预定的门槛值和计数门槛值、AGCVAL和UPCNT分别从数据存贮器13经总线14输入到信号处理器11。把数字化样值也经总线14从数据存贮器13输入到信号处理器11。通过总线14输入的每一数字化样值,在信号处理器11中乘以预先已存入数据存贮器13中的AGC值,而后将乘积值作为PRODVAL暂存入数据存贮器13。接着取刚才形成的乘积的绝对值,并将它与已存入数据存贮器13中的预定的门槛值THVAL相加。如果这一求和的结果为一个溢出值,则将原来的AGC值乘以0.75,并存回数据存贮器13。此外,当AGC溢出发生时,将称为AGC计数的计数值复位为0。
当不发生溢出时,即PRODVAL和THVAL之和不造成溢出时,则将AGC计数值加1。当大量的数字化样值输入信号处理器11而不造成门槛溢出时,则每次加1的AGC计数值可能变得很大。所以,对于每一个不导致溢出状态的数字化样值,都将AGC计数值与已预先存入数据存贮器13的预定的计数门槛值UPCNT进行比较。当AGC计数值超过原有的计数门槛值时,则把AGC值乘以1.01。对于每个接着输入的样值当输出门槛不溢出时,AGC值再一次乘以1.01。
根据AGC计数值以一种合适的速率对AGC值进行调整,这一速率须保证实现自动增益控制的输入信号的失真量在允许范围之内。对于话音信号,允许的失真时间在15毫秒数量级,而对双音多频音调信号来说,允许的失真时间约为5毫秒。调制解调信号允许的失真时间要比话音信号允许的失真时间长得多。因为已经保证使AGC值变化快到足以防止失真的程度,因此,可以将增益受控制的输出值取为AGC值与经总线14从数据存贮器13输入到信号处理器11的数字化样值的乘积。
现在参照图3更详细地描述对存入数据存贮器13的数字化样值实现自动增益控制的另一种方法。这种AGC方法不同于前面所述的方法,它具有两个存贮在数据存贮器13中的预定的门槛值,门槛值1和门槛值2。门槛值1大于门槛值2,因此将提供一个较值2更低的门槛。采用这种方法,在AGC值已降低到某一值之后,在此值下门槛值2不再导致溢出,但门槛值1仍然造成溢出,此时溢出点上的AGC值的缩减量降低。与图2所描述的最佳实施方案不同的,在描述这一实施方案的流程图中有一个附加的分支,借助于这一分支可以理解上述论点。可以看出,在第一次溢出判断之后的“no”分支,将乘积值的绝对值与AGC的第二值相加。这时,又增加了一次是否有溢出发生的判断。如果再一次发生溢出,则将AGC计数复位,并把AGC值乘以0.97,而不是以前使用的0.75。在这个第二次溢出判断路径后面的“no”分支与最佳实施方案的“no”路径是相同的,即将AGC计数加1,而后做出关于AGC计数是否大于计数门槛的判断,该计数门槛原先已经存入数据存贮器13。在这一点上,如果AGC计数值的确超过了计数门槛,则把AGC值乘以1.01。在对数字化输入样值实现AGC之后,再一次取乘积值作为系统的增益受控制的输出。
作为这另一方案工作过程的一个例子,假定初始的AGC值为1.000,同时假定前23个数字化样值中的4个样值导致第二门槛值被超过,那么,在第23个数字化样值到达时,AGC值将被四次乘以0.75。在这时,AGC值近似为316。进而假定紧接着的15个样值中的7个样值导致第一门槛值被超过,但不超过第二门槛值。如图3所示,如果与第一门槛值相关的乘数为0.97,则在这15个样值之后,AGC值将是255。这一重复过程使AGC值能很快的调整,达到正确的范围。
在以最佳实施方案为基础的另一实施方案中,采用了多个门槛值和多个计数门槛值。在这一实施方案中,是将多个预定门槛值中的最高的门槛值。同乘积项与预定的自动增益控制值之和进行比较。如果多个预定门槛值中的最高门槛值被乘积项与预定自动增益控制值的和所超过,则自动增益控制值减小。同样,要建立多个计数门槛值,并将多个计数门槛值中的最低的门槛值同自动增益控制计数值进行比较。如果该自动增益控制计数值超过了该多个计数门槛值中最低值,则自动增益控制值乘以一个大于1的数。
当参照其最佳实施方案和另一个实施方案对本发明做了具体说明和详细描述后,本技术领域中的技术人员将会理解,在不背离本发明的精神实质和技术范围的前提下,可以在形式及细节方向做出其他的更改。具体说来,有可能将多门槛值用在另外的实施方案中,使得能够提高自动增益控制的调整精度。进而还可能用AGC值在其间工作的门槛范围的函数来形成该乘数。