【摘 要】AGC 系统是一种压缩动态范围的控制系统,根据接收机接收到的信号电平强弱,自适应调整射频或中频通道增益,使信道最终输出信号强度保持不变或只有很小的变化。本文提出一种数字AGC的实现方法,并通过仿真与实验验证其可行性。
【关键词】自动增益控制;稳定时间;功率检测;噪声系数
0.引言
AGC是典型的自适应控制系统,以输出信号与给定参考信号的误差调节信道增益,当输入信号电平发生变化时,理想的AGC系统输出恒定的电平信号。在不同的应用中AGC有不同的结构形式,但其基本组成相同,都包含输出信号检测、参考信号比较和可控增益放大三部分。若各部分均工作在模拟域,则为模拟AGC;若全部或部分工作在数字域,则称为数字式AGC。
1.AGC环路设计
AGC 系统设计主要要求控制范围要宽,信号失真要小,要有适当的响应时间,对瞬变的输入信号能尽快地发生正常的增益调节作用同时,不影响接收机的噪声性能。
常用的负反馈AGC环路一般包括可控增益,AD采样,数字检波,门限比较,环路滤波,数字信号处理这几部分。如图1所示。
可控增益用于控制信号的放大或缩小。AD采样将模拟信号数字化处理。数字检波主要用于提取输入信号的低频包络分量。门限比较主要将检波得到的信号与AGC参考门限值作比较。数字信号处理主要进行误差信号的累计处理以生成数控运放的控制量。
常用数字检波是采用平方律结合数字低通滤波的形式。 这种方法需要使用乘法器,所以在实现时为了保证速度会消耗掉大量的FPGA资源。但如果减少了消耗资源又会降低速度,增加整个AGC环路的响应时间。我们可以采用绝对值检波结合低通滤波模型。理论上分析信号取绝对值后,包含了除所需的基频分量外,还包含了不需要的高频镜像和谐波分量,采用低通滤波后同样可以提取出包络。
对于环路滤波器,可看作为一个误差量的平滑过程,即等价为简单的低阶,系数全为1的FIR滤波器。同时在FPGA实现时对低位进行截断,可以进一步实现对低频分量的滤波。
数字信号处理部分主要作误差信号的累计,类似于模拟AGC中的积分过程。
2.环路设计中的几点考虑
2.1 负反馈环路阶数考虑
对于锁相环,就同一种环路来讲,输入信号变化越快,跟踪性能就越差。一阶环可以无误差的跟踪相位阶跃信号,跟踪频率阶跃(也就是相位斜升)时就出现了固定的相差,而跟踪频率斜升信号(相位加速度信号)就出现了无限大的稳态相差,说明一阶环是不能跟踪这种信号的。而对于理想二阶环,它能无误差的跟踪相位阶跃和相位斜升信号,但跟踪相位加速度时就出现了稳态相位误差。其次同一信号加入不同的锁相环路,其稳态相差是不同的。对于相位阶跃信号,各种环路都能无误差的跟踪。对于频率阶跃信号,一阶环或非理想二阶环,将有固定的稳定相差,理想的二阶环和三阶环则能无误差地跟踪。对于频率斜升信号,一阶环和非理想二阶环无法跟踪,理想二阶环跟踪时有固定的稳态相差,理想三阶环则可无误差地跟踪。
类比AGC负反馈环路,信号幅度大小即对应相位,相位阶跃则对应信号幅度大小阶跃,频率阶跃则对应信号幅度变化率固定但变化率突然变化,频率斜升对应信号幅度变化率连续变化的情况。根据信号的实际情况,若信号幅度不会出现快速大的连续变化,即信号幅度具有变化率的情况。可考虑使用一阶环对信号幅度进行跟踪,即使有比较小的幅度变化率,一阶环也可以实现良好的跟踪。
2.2 环路的抖动
若可控增益为步进特性时,如以1dB步进进行增益调整,则在环路锁定时会出现增益抖动的情况。这是因为数字自动增益控制中可控增益量是离散的,因此输出功率不能锁定到一点上。这会极大影响幅度调制信号的保真度。
为解决环路抖动问题,可以让环路不是锁定到一个固定值而是锁定到一段功率范围内,也就是一个锁定区间。锁定区间可用于衡量锁定后输出功率的误差,同时为了防止锁定后增益抖动,算法可以将输出功率到达锁定区间之内作为调整结束的判断标准。
假设环路当前已锁定,此时误差累计的计算不以一个固定值为参考,而是以锁定区间为参考。因为若以固定值为参考,由于环路不能锁定在该点上,而是偏离该点值一定范围,这时环路的累积误差是一个逐步增大的趋势,则环路势必会做出增益调整,而若以区间为误差计算的标准,则我们可以认为只要锁定后的A点值落在区间内,则误差为0,不做累积,这时环路保持原状态,不做增益调整,而只有A点值落在区间外,误差不为0,此时再进行误差累积,环路做出相应调整。具体误差计算方法如下,假设锁定区间的上限为M,下限为N,当前采样值为A,则误差量=,若采样值落在锁定区间内,即,则误差量必等于0,若或,则误差量必大于0。
另外还需考虑负反馈环路是否应该工作的问题。当时,可能信道处于小信号状态,这时检查增益是否处于完全放开的状态,若其处于完全放开的情况,则环路不工作;时,检查程增益是否处于完全衰减的状态,若其处于全衰减状态,则环路同样不工作。同时还要避免进入死循环,这种情况发生在锁定区间的上限和下限很接近情况。例如输出功率刚好略小于锁定区间下限,增益步长加一后,输出功率大于锁定区间上限,这样增益会反复的调整,进入死循环。通过记忆上次调整的时候增益加还是减,可以避免死循环。如果上次增益加1,这次需要减1,意味着输出功率不能锁定到锁定区间之内,增益调整可以结束。同时我们也可以把锁定区间设的较大一些(锁定区间大于最小步进即可),这样就肯定不会进入死循环。
若要彻底避免抖动,可以在可控增益部分采用PIN管之类连续增益可变器件完成增益控制过程。
3.环路仿真
根据图1,利用MATLAB进行对一个包络调制信号进行仿真,结果如图3所示。其中窗口一为通过AGC控制后的波形,窗口二为进入AGC环路的波形,窗口三为误差累计曲线。可以看出信号经AGC控制后,信号幅度首先是增长,其后再下降,最后趋于稳定,与误差累计曲线的趋势是吻合的,也符合负反馈环路的特性,且可以通过调节数字AGC内部的误差累计长度使该负反馈环路适应不同速率的调制信号。
4.结束语
AGC环路作为接收机设计中的一个关键,其设计的好坏直接影响到接收机的性能。本文提出的AGC环路模型已在工程中获得验证,具有响应速度可调、信号失真小、控制精度高的特点,可以为其他接收机实现数字AGC作为参考。
参考文献:
[1]曹鹏,费元春.大动态宽带数字中频AGC系统的设计[J].北京理工大学学报,2003,23(5):613-616
[2]杨小牛,楼才义,徐建良·软件无线电原理与应用[M]·成都:电子工业出版社,2001·43-48
[3]王彦,曹鹏,费元春.数字中频接收机的设计与实现 [J].电讯技术, 2004, 44-48
作者简介:
胡来平,男,江西九江人,工程师,主要从事射频通信电路设计。