反馈式数字AGC的FPGA优化实现
2015-03-11沈同平谷宗运
沈同平 ,谷宗运,方 芳,俞 磊
(安徽中医药大学 医药信息工程学院, 安徽 合肥 230011)
反馈式数字AGC的FPGA优化实现
沈同平 ,谷宗运,方芳,俞磊
(安徽中医药大学 医药信息工程学院, 安徽 合肥 230011)
摘要:新的全数字式反馈自动增益控制( AGC) 算法,采用硬件描述语言VHDL进行FPGA实现, MODELSIM仿真测试实验结果表明, 该新方案实现简单、速度快,具有更小的资源占用、更快的收敛速度,有效地解决了无线通信系统中各种因素(距离、信道衰减、电磁干扰等)所造成的数字信号传输问题,具有良好的工业应用前景。
关键词:全数字式;反馈式自动增益控制;标准硬件描述语言;现场可编程门阵列
近年来,软件无线电发展迅速,全数字接收机是目前器件水平和设计方法下实现无线通信设计的首选方案,而自动增益控制AGC(AutomaticGain Control),是数字化接收机中重要且必不可少的组成部分[1]。AGC电路在发展之初通常采用模拟方法设计,随着数字处理技术和可编程器件的发展,数字AGC得到了更广泛的关注和应用。与模拟AGC一样,数字AGC的基本功能也是随着接收机收到的输入信号的强弱自动调整放大器的增益,使输入信号强弱变化时,输出信号基本不变。无线通信系统中,不同用户通信距离远近不同、信道衰落有差异,使接收信号波动范围很大,弱或强电磁干扰情况下,接收信号功率极低,需要采用AGC技术对接收信号进行归一化处理,以保证后续数字信号处理的精度。因此数字AGC的实现具有重要实际意义。
1反馈式数字AGC算法
AGC电路的实现有前馈、反馈和混合环路等三种,前馈AGC收敛速度比反馈AGC要快,但一般不是很稳定。混合AGC可以克服前馈AGC和反馈AGC两者的缺点,尤其是适合在快速衰落信道中,但由于受到成本、体积、功耗和复杂度等的影响,在实际中应用不是很广[2-3]。故本系统中采用反馈式AGC,如图1所示。
图1 反馈式数字AGC简要框图
为了适应数字接收机ADC 采集电平要求和精度,AGC电路作为主要的辅助电路广泛的应用在接收机中。传统数字AGC电路使用ADC采集信号,对信号进行处理,根据得到的信号幅值信息调整增益,其对ADC采样率要求较高[4]。为从离散的信号中得到准确幅值信息,需要通过一定算法得到AGC 控制值,再将得到的信号功率值和门限值进行比较,从而对ADC采样前的模拟信号功率进行控制。传统的模拟AGC 模块为保证ADC采样不饱和,估算信号功率时估算待采样信号的总功率,即有用信号和噪声的功率和。因此在信噪比很低的情况下,有用信号淹没在噪声中,即便对ADC采样前的信号进行了放大,ADC采样后有用信号的功率仍然不能达到预期要求[5]。因此,本文提出的数字AGC的原理是基于信号去除噪声影响的功率估计,通过与预设功率区间进行比较,得出系统需要的增益控制量,以保证输出信号幅度相对恒定[6]。
模拟信号输出平均功率:
N为样本累加数,为避免后续除法电路,一般选用2k来计算模拟输出信号的平均功率Pout,ui为AD9238输入的样本。由于AD9238采样的是模拟电路输出信号电压,是经过VGA放大的输入信号,设对应输入信号样值为xi,放大器增益为g,则输入信号平均功率可表示为
模拟输入信号样值与模拟输出信号样值的关系为ui=g*xi,可以得出输入信号平均功率与输出信号平均功率之间的关系为
2 反馈式数字AGC的FPGA实现
采用硬件描述语言VHDL对上述AGC算法进行编程实现,并对实现结果进行仿真验证。本方案选用XilinxSpartan6系列XC6SL150T芯片,图2所示为基于FPGA的AGC数字控制部分框图,包括一片FPGA芯片、一片高速AD9238芯片、一片数模转换芯片TLV5617及一片用于存放FPGA配置文件的PROM。全数字AGC的FPGA实现主要分为2个功能模块:输入功率计算模块和AGC控制算法模块,如图3所示。本文中所采用的VGA的有效线性范围中的关系为Gain(dB)=-50VG+41,Gain(dB)为VGA产生的放大(缩小)增益,VG为VGA的输入电压。VGA所能产生的可控增益范围为 -18.5 dB~+25.5 dB,对应的输入电压范围为0.2 V~1.2 V,而该VGA能产生的可控增益有效线性范围为-14 dB~+21 dB,对应的输入电压范围为0.4 V~1.1 V。
图2基于FPGA的AGC数字控制部分框图
图3 数字AGC的FPGA实现结构图
本系统实现中,加入了sel_gain端口(位宽为3 bit)用来支持用户根据需求选择自动增益或其它×1、×2、×4、×8等固定增益模式,用户实际控制中,syn_gain_in端口用来外部输入增益同步脉冲,sel_syn端口用来让用户选择产生增益的同步脉冲信号是来源于系统内部自动产生还是用户自定义输入,为0时,系统以引脚syn_gain_in的输入作为增益同步脉冲信号;为1时系统以内部自动产生的脉冲作为增益同步脉冲。通过这样的设计大大方便了用户使用。
通过ISE13.4对实现的算法进行综合,我们得到本文所用算法实现方法的资源占用仅为276 slice LUTs,最大时钟频率可达到288.763 MHz。利用modelsim对所实现的结果进行仿真验证,如图4所示。本文选取的测试信号输入数据为I路“000100101100”和Q路“000000000000”,其能量属于区间4,增益g为×2。从仿真结果图中可以看出,初始reset信号为‘1’时,得到的fsx值为“1100001000101111”,fsx高四位“1100”为控制位,得到g为“001000101111” 即×1。初始化后,系统开始计算信号能量,并进行自动增益控制,再次得到新的增益值,此时fsx值为“1100000111011101”,得到此时的g为“000111011101”即×2,说明程序计算结果与实际相符。
图4基于FPGA的数字AGC算法modelsim仿真结果
3结论
本系统对一种反馈式数字AGC进行了FPGA实现,并对算法进行了modelsim仿真测试,最后将程序下载到Xilinx公司的Spartan6系列XC6SL150T芯片上,完成了算法的FPGA实现。本方案实现简单,速度快,具有较小的资源占用、更快的收敛速度,非常适合工程应用。
参考文献:
[1] 贺欣.宽带大动态AGC电路设计[J].电子设计工程,2012,20(8):167-170.
[2] 代涛,冯雷.基于FPGA的大动态数控AGC系统设计[J].无线电通信技术,2010,36(4):16-18.
[3] 李志骞,李大鹏,单福悦.基于数字AGC的控制算法[J].无线电工程,2012,42(6):58-61.
[4] 姜坤,王元钦,赵成斌.一种改进的数字AGC系统设计与仿真[J].科技导报,2011,29(33):42-46.
[5] 赵星.基于FPGA实现的中频数字相干AGC的设计方法[J].四川兵工学报,2014,35(2):94-96.
[6] 陈丽,傅兴华.大动态数字AGC电路设计与实现[J].无线电工程,2014,44(6):60-62.
Design and FPGA Implementation of Digital Feed-Back AGC
SHEN Tong-ping, GU Zong-yun, FANG Fang
(School of Medical Information Technology, Anhui University of Chinese Medicine, Hefei 230036, China)
Abstract:A new all-digital feedback AGC (AGC) algorithm is proposed by using hardware description language VHDL for FPGA implementation of the above AGC algorithm, and the algorithm MODELSIM simulation tests. Simulation results show that the scheme is simple, fast, and it has a smaller footprint, faster convergence. The plan can solve the wireless communication system various factors (distance, channel attenuation, electromagnetic interference, etc.), and with good prospects for industrial applications.
Key words:full-digital, feedback AGC, VHDL, FPGA
文章编号:1007-4260(2015)03-0068-03
中图分类号:TN 9111.72
文献标识码:A
DOI:10.13757/j.cnki.cn34-1150/n.2015.03.019
作者简介:沈同平,男,安徽无为县人,硕士,安徽中医药大学医药信息工程学院讲师,主要研究方向为信息管理、无线通信。
基金项目:安徽中医药大学人文社科项目(2013rw002)和安徽中医药大学青年项目(2012qn006)。
收稿日期:2015-01-19
网络出版时间:2015-8-25 15:40网络出版地址:http://www.cnki.net/kcms/detail/34.1150.N.20150825.1540.019.html