4G系统中数字AGC技术研究与FPGA实现*
2016-01-21郭强胜隋天宇
许 飞,郭强胜,张 雷,隋天宇
(中国电子科技集团公司第三十研究所,四川 成都 610041)
4G系统中数字AGC技术研究与FPGA实现*
许飞,郭强胜,张雷,隋天宇
(中国电子科技集团公司第三十研究所,四川 成都 610041)
Foundation Item:National Natural Science Foundation of China(No.61174025)
摘要:在4G无线通信系统中,需要自动增益控制 (Automatic Gain Control,AGC) 模块来扩大接收机的动态范围,同时保证系统响应时间。提出了一种基于4G下行同步码平均功率检测的数字AGC算法,在同步信号的控制下,此算法运用滑动窗方法在一定时间内来提取相关运算平均功率的最大值,然后在查找表内查找出此时的控制字,最后经过运算后送入数控衰减器。此算法运用MATLAB进行仿真验证,然后在FPGA内进行了设计与实现。测试结果表明,该算法功能正确,且系统响应时间快速。
关键词:AGC;同步码;查找表;FPGA
0引言
模数转换器(Analog Digital Converter,ADC)在数字接收机中得到广泛应用,4G通信不断采用的新技术,对接收机的ADC采样速度和动态范围提出了更高的要求。在实际使用中,由于量化噪声、孔径抖动、差分非线性失真、热噪声等误差源的影响,引起ADC输入动态范围及有效输出位数的下降,从而限制了中频信号输入动态范围,无法同时满足4G系统处理速度和动态范围的需求[1-2]。为了提高4G系统动态范围,在接收机中普遍采用自动增益控制电路(Automatic Gain Control,AGC)[3-4]。在大多数情况下,由于路径的衰落,AGC通常用来测量输入解调器的有效信号电平,并且通过反馈控制电路把信号电平控制在要求的范围内[5]。
本文提出一种快速响应反馈式AGC技术,此技术充分利用4G系统中用于帧同步的同步ZC序列,计算出此序列的功率,然后进行查表操作,得出的控制字作用于数调可控的可变增益放大器,实时调整信号的增益,把信号电平控制在要求的动态范围内,满足ADC优化采样的要求,提高4G系统的动态范围,减少量化误差带来的影响。同时快速收敛的此AGC模块保证信号分析具有一定的实时性,非常适合移动速度不大于90 km/h动中通的应用场景。基于查找表的控制方式保证了AGC调整的稳定性和准确性,有效的避免了突发包下AGC的抖动效应,极大的提高了系统性能。
1AGC总体方案设计
在本设计中,射频前端通过模拟下变频后产生模拟中频信号,然后该中频信号经过数控衰减器进行增益的缩放处理,最后数控衰减器输出的中频信号经过ADC转换为数字中频信号,经FPGA内部的数字下变频DDC模块后转换为数字基带信号,送入同步信号处理模块来进行同步峰值的查找。此AGC模块通过计算同步信号的功率来控制数控衰减器的增益,使ADC工作在理想的幅值区间。AGC增益控制算法在数字部分来实现,通过此AGC模块,可以有效的提高4G通信接收机链路的动态范围(+10 dBm~-98 dBm)。
AGC系统组成图如图1所示,基带信号经过同步信号处理模块后送入信号幅值提取模块,在该模块中设置了信号提取窗,窗的大小根据实际系统的应用场景来确定,本文设计1 ms的提取窗,在该窗内完成信号幅值的平均值计算和最大值的提取。然后进入查找表模块查找出当前情况下的衰减器控制字送入控制字生成模块。在该模块中利用当前的控制字和前一个时刻的控制字相加的结果来作为本次调整的最终控制字,然后作用于数控衰减器,完成一次AGC的调整,使ADC始终工作在最佳电平值,减少量化误差带来的不良影响。
图1 AGC系统组成图
上图中ADC的溢出指示信号需要送入查找表模块,当溢出指示信号有效时,查找表控制算法进入特殊处理流程,迅速进行大跨度的向下调节,第一时间迅速摆脱ADC的饱和状态,然后再以正常的查找表流程来调节数控衰减器,达到ADC最佳工作电平。
2AGC系统的MATLAB仿真
下面分析AGC模块闭环环路仿真情况。本设计输入信号为单频信号,频率为fi=3 MHz,采样率fs=60 MHz,即每周期20个样本。数控放大器模拟为乘法器。信号幅值提取电路采用上文介绍的模块设计,也就是说,输出信号的能量不是输入信号在时刻n的绝对值,而在提取窗内的最大值平均值。查找表根据目标参考平均值0.2设计成具有108档的查找表。输入信号幅度设计为[0.3、0.9、0.6、0.3],如下图所示。设定误差门限为Ei=0.005,当误差小于该值时不作调节,设计参考平均值为0.2。
取窗宽N=3,图2为经过此模块后调节后的输入和输出信号。可见,经过AGC环路调节后,输出信号幅值较稳定,波形失真小,收敛速度快。收敛后系数在小范围内波动,误差变化值不大。由于每个周期的样本数为20,而滑动窗宽度仅为3,输出信号的能量以窗内绝对值均值最大值表示,该值随样本点有一定的波动,导致收敛后的误差值周期性变化,并进一步引起增益系数的变化。
图2 窗宽为3的调节前后的信号
滑动窗宽度影响信号能量的检测,当点数N=round(fs/2fi)时,绝对值的均值具有代表性,其中round表示取整数。在本例中,N=10正好是半个周期。输入信号与上面相同,输出信号和增益系数如上图3所示。以半周期点数为窗宽度,逐点滑动时,信号绝对值之和为固定值,当系数调节该值与参考值之差小于门限尽后,增益系数不再变动。图3的信号幅度同上,样本数略有增加。噪声使增益系数在一定范围内波动,但均值仍然符合规律。
对于一般的调制信号,此时的滑窗宽度应该为N=round(fs/2fo),其中fo是调制频率。如果本例中以窗内平均运算的最大值为输出,则相当于求信号包络。在模拟AGC中,信号检测单元也常采用包络检波器。但是,最大值易受噪声和干扰影响,仿真结果不稳定,因此本系统采用滑窗内同步信号绝对值的最大平均值为调节依据。
图3 窗宽为10的调节前后的信号
3AGC系统的FPGA实现
根据AGC所实现的功能,再结合FPGA的特点和FPGA的设计思想,我们在FPGA中将AGC模块分为如下几个部分来实现:
3.1同步码平均功率计算
计算下行同步信号功率是AGC中最为重要的一个算法。4G系统中每个帧结构具有10个子帧,每个子帧有14个OFDM符号。在一帧10 ms的时间内数据是连续的,但数据在帧与帧之间不一定是连续的。当数据不连续时,只能求出下行同步码的功率值,以此为依据控制数控衰减器。
由4G系统的帧结构可知,下行同步码在特殊子帧S进行发送,此同步码PSS序列占用62个子载波,其左右两侧各保留5个空闲子载波作为保护间隔。在FPGA中,通过相干检测法检测出此同步序列的精确位置,并将此同步指示信号送入AGC模块。在AGC模块接收到此指示信号后,提取1ms内最大的同步平均功率值作为此时同步码的功率。具体方法如下图4所示。
图4同步码功率提取过程
上图中的信号幅值提取电路也是决定数字AGC性能的关键电路之一,在信号功率提取电路部分,为了满足AGC系统的快速响应和稳定性的要求,主要采用数字双斜率滤波技术。由于噪声的扰动,反馈环路输人的信号x(n)抖动是比较大的,如果输入不经过处理就会影响AGC的稳定性和响应时间,所以求同步序列功率之后和送入比较器之前首先提取信号的包络,这样进人比较器的值就会变化起比小也更能实际反应信号的功率。
此电路分为两部分,图上半部分是功率网络,按照AGC控制要求对输人同步信号功率进行计算,图下半部分的网络是取大电路,经过功率计算的输出保留M个输出值,然后从中选择最大的作为信号功率提取电路的输出,各部分信号之间的关系为:
(1)
V(n)=max{p(n),p(n-1),…,p(n-M+1)}
(2)
由FPGA根据传过来的数据,通过相干检测法检测出同步信号的精确位置,并记录下位置参数。FPGA收到这一点的位置后,立即停止使用其自身检波法求出的功率值,并产生图中的同步指示信号。根据传过来的同步指示信号的位置, 开关模块的具体过程如下图5所示。每次当同步指示信号有效后,开关打开,1 ms计数器开始工作,将平均值数据流送入求最大值单元。当1 ms计算器计满后,开关关闭,输出在1 ms时间的最大平均值V(n),同时启动另一个0.5 s的计数器。在两个计数器工作的时间内,屏蔽同步指示信号对本模块的作用。需要注意的是,本模块0.5 s的时间除了作为AGC模块的控制字在系统上的响应时间,另一方面也有效的避免了AGC模块的频繁动作带来的不良后果。
图5 开关单元的示意图
3.2查找表控制算法
同步码平均功率计算模块通过平方、缓存、累加、右移锁存、最大值比较等一系列操作,最终得出32位同步码平均功率值,送至AGC查找表控制算法模块。在ADC溢出指示的控制下,此模块通过将32位同步码平均功率值与预设的数据进行比较,得出系统所需要的增益值。
下图a为预设的功率00000000H~FFFFFFFFH的划分,划分区间4(EB9822AH~ 1798A64AH单元)为最佳功率区间,当输入信号平均功率落在区间4时,此时的功率值满足系统的要求,不需要在此时的控制字上进行放大或衰减。当输入信号功率落在其他区间时,需要进行相应的放大或衰减。需要注意的是,本文设置了一个虚拟区间0,当ADC的溢出指示信号有效后,认为输入信号的平均功率落在区间0内,然后按照区间0设计的规则,进行大跨度的向下调节,以达到迅速调整的目的。
图6 查找表算法流程图
上图b为AGC控制算法流程图,图中示出了当输入信号功率落在不同的区间时需要提供的放大或衰减倍数,值得注意的是,为了保证系统的稳定性,区间4应在保证合理的情况下尽量的宽松,为抖动提供一定的缓存空间,可有效的预防由于抖动带来的不良影响。根据不同的ADC设计不同的最佳电平区间,本文设计的区间为-15 dBm~-25 dBm,其他区间以5 dBm作为电压增量值。从图a及图b可以看出,经过相关放大或衰减后,输入信号功率被调整至最佳功率区间。
3.3控制字生成
经过查找表控制算法得出的控制字并不能实际作用于数控衰减,需要送入控制字生成模块来完成实际控制字的计算。本文采用的衰减量的控制位数为6位,对应62 dB的调节量。当控制字为“000000”时,对应为全放大62 dB,当控制字为“111110”时,对应为0 dB放大。当系统初始上电时,初始控制字为“000000”,当一个新的控制字到来时,与前一时刻的控制字进行补码加法运算,作为当前时刻的控制字。如下图7所示,当当前时刻控制字小于0时,则取值为0;当相加后当前时刻控制字大于62时,则取值为62;当相加后当前时刻控制字小于0时,则取值为0;当相加后当前时刻控制字在0与62中间时,按原值输出。
图7 控制字生成流程图
4结语
在4G通信中采用快速响应反馈式AGC技术具有重要意义,它可以最大程度保证信号工作在ADC最佳区间内,大大提高4G系统的动态范围。本文研究了同步码平均功率计算、查找表控制计算、控制字生成等算法,并运用MATLAB进行仿真验证,然后在FPGA内进行了设计与实现。测试结果表明,该AGC模块可以有效提高4G通信接收机链路的动态范围,且系统响应时间快速。通过对滑动窗宽度、查找表功率区间、控制字进行适应性参数调整,可以将该数字AGC算法应用在雷达接收机、电子对抗、电子战等需要提高系统动态范围的通信系统中。
参考文献:
[1]王健,任广辉,杨水旺.基于FPGA的快速自动增益控制系统设计[J].自动化技术与应用, 2006, 25(12):67-69.
WANG Jian,REN Guang-hui,YANG Shui-wang.Design of a Fast Automatic Gain Control system based on FPGA[J]. Techniques of Automation and Applications,2006,25(12):67-69.
[2]王芙蓉, 王雪松,陈印峰.3G系统中AGC的FPGA设计实现[J].现代电子技术, 2007, 33(08):168-172.
WANG Fu-rong,WANG Xue-song,CHEN Yin-feng.FPGA Design Implementation of AGC in 3G[J].Modern Electronics Technique,2007,33(08):168-172.
[3]韩尧, 秦开宇,彭启琮.基于数字补偿的实时自动增益控制技术研究[J].电子科技大学学报, 2007, 36(01):79-81.
HAN Yao,QIN Kai-yu,PENG Qi-zong.Research on Real-Time Automatic Gain Control based on Digital Compensation[J].Journal of University of Electronic Science and Technology of China, 2007,36(01):79-81.
[4]耿云辉, 冯西安, 张路.一种大动态范围AGC电路的设计与实现[J].微处理机, 2012, 33(03):20-24.
GENG Yun-hui,FENG Xi-an,ZHANG Lu.Design and Implementation of a Large Dynamic AGC Circuit[J].Microprocessors, 2012,33(03):20-24.
[5]王军艳, 李怀金.数字AGC技术研究与FPGA实现[J].通信技术, 2012, 45(12):145-148.
WANG Jun-yan,LI Huai-jin.Study on Digital AGC Technology and Its FPGA Implementation[J].Communications Technology,2012,45(12):145-148.
许飞(1979—),男,硕士,工程师,主要研究方向为网络通信和硬件设计;
郭强胜(1984—),男,硕士,工程师,主要研究方向为网络通信和硬件设计;
张雷(1984—),男,硕士,工程师,主要研究方向为宽带无线通信;
隋天宇(1983—),男,博士,工程师,主要研究方向为通信与网络系统设计。
术语百科Technical Terms
网络弹性
网络弹性就是指网络系统所具备的一种即使在系统遭受破坏的情况下也能正常安全运行的能力。提高网络弹性并不是追求建立一种完美无暇的系统来对抗攻击,而是综合运用防御、侦查、自适应、操作响应设计策略和技术来动态响应当前和未来的网络攻击。当前网络威胁愈演愈烈、无处不在,而且具有复杂性、自适应和持续性等特点,期望完全抵御各种威胁已不再可能,网络防御重点从网络保护向遭受攻击后仍能确保任务的有效性方向转变,即开展网络弹性研究。网络弹性不仅解决网络抵御风险的能力,更加侧重事前主动解决网络系统的承受能力、吸收能力和恢复能力。网络弹性是网络空间安全的一道更具宽度和厚度的闸门,包含了原来的防御和应急响应,变事后为事前,化被动为主动。更重要的是,它为战胜高级持续性威胁(APT)攻击提供了有效方法。网络弹性的研究当前面临的主要问题是如何获得弹性,包括如何在弹性特征是有限的、未知的或可能未知的系统组件上构建弹性系统;如何表示弹性特征,然后在系统的研究生命周期内评价和度量这些弹性特征。
Digital AGC Technology and Its FPGA Implementation in 4G System
XU Fei,GUO Qiang-sheng,ZHANG Lei,SUI tian-yu
(No.30 Institute of CETC, Chengdu Sichuan 610041,China)
Abstract:In 4G wireless communication system, AGC (Automatic Gain Control) module is needed to expand dynamic range of the receiver while maintain response time of the system. A digital AGC algorithm based on 4G downlink synchronization codes detected by the average power is proposed. Under the control of synchronization signal, this algorithm extracts the maximum average power of correlation operation within a certain time via a sliding window method, then finds the control word at the very time in the lookup table and finally sends it into the digital-controlled attenuator after calculation. This algorithm is verified with MATLAB simulation, and its design and implementation is successfully done in the FPGA. Test result indicates the correctness of this algorithm and fast response time of the system.
Key words:AGC; synchronization code; lookup table; FPGA
作者简介:
中图分类号:TP393
文献标志码:A
文章编号:1002-0802(2015)07-0865-05
基金项目:国家自然科学基金(No.61174025)
收稿日期:修回日期:2015-05-19Received date:2015-03-11;Revised date:2015-05-19
doi:10.3969/j.issn.1002-0802.2015.07.023