王军艳, 李怀金
(国防大学 信息工程学院,北京 100094)
在无线通信系统中,由于信道的时变特性,接收机输入端的信号强度有很大的变化,接收机普遍采用了自动增益控制(AGC)电路。AGC电路监测接收信号强度,控制接收机的增益使其随接收信号的强弱进行调整,信号强时降低增益,信号弱时提高增益。虽然接收机输出的信号已经进行了自动增益控制,但是在分集合并系统中,经过分集合并后的信号仍有一定的动态范围,为保持输出电平恒定,以满足后续电路的要求,还必须增加DAGC。DAGC电路一般由可变增益放大器(VGA)和反馈回路组成。幅度检测电路从VGA的输出信号中提取幅度信息,并与预设参考电平比较,比较的差值经过低通滤波之后用来调节VGA的增益,当输入VGA的信号幅度变化时,通过反馈回路控制其增益变化以维持输出信号幅度相对不变。
文中所设计的DAGC电路应用在无线突发信号中,因此DAGC电路应当具有快的捕获时间以保证信号能够快速捕获以减少数据冗余,为解决捕获时间与稳态响应之间的矛盾。文中设计的以FPGA实现的DAGC框图如图1所示。
图1中Si(k)为输入信号,So(k)为调整幅度后的输出信号,Amp为调整幅度后信号幅度值,E_AMP为期望信号幅度,Err为当前信号幅度与期望信号幅度差值,Gain为当前环路增益值,Lock为环路锁定指示。文中将详细介绍DAGC各个模块的实现方法,并对各个模块的性能作详细分析。
图1 DAGC框
如图1所示,幅度检测模块负责对输出信号进行幅度检测,本无线接收系统接收的信号为PSK信号,根据PSK信号特点其幅度计算公式为:
式中,A为信号幅度,I为同相支路信号模值,Q为正交支路信号模值。由式(1)可见,要精确计算PSK信号幅度需要用到开平方运算,而在FPGA中不易实现开平方运算,即使实现开平方运算所用的逻辑资源也太多,下面来推导适合FPGA实现的简化算法。
A=(1+x)m的泰勒级数展开式如下[1]:
根据上式可得:
将式(1)化简可得:
进一步化简可得:
在FPGA中对I、Q路信号的求模运算可以通过取反运算来实现,除2的运算可以通过移位来实现。
误差提取模块负责检测当前信号幅度与期望信号幅度之间的差值,因为幅度检测模块采用近似计算的方法,又加上存在噪声干扰,因此为保证环路正常工作的信噪比输入,必须对误差信号进行平滑滤波。文中采用滑动窗口对误差进行滤波,其运算公式为:
滑动平均的计算方框图如图2所示。
图2 FPGA实现的滑动平均计算方法1
为节约FPGA资源N应当选择为2的幂,这样除法操作可以通过移位运算来实现。为进一步节约资源可以将除法运算放到延时存储器之前,如图3所示,但是这样会损失一定的精度。
图3 FPGA实现的滑动平均计算方法2
框图中的延时存储链可以用FPGA中的D触发器来实现,但其占用逻辑资源太多;若采用FPGA内部RAM实现则可以大大节省逻辑资源,因此文中的延时存储链采用片内RAM实现。其产生方法如下:
1) 点击Tools->MegaWizard Plug-In Manager。
2) 在随后出现的对话框内点击Create a new custom megafunction variation,点击Next。
3) 在随后出现的对话框内填写要生成的延时存储链的名字,在左侧栏内选择Memory compiler->Shift register(RAM-based),点击Next。
4) 在随后出现的对话框内进行相应的设置,点击Finishe即可生成延时存储链。
选择延时存储链的长度N即可计算长度为N的误差平均。
为解决捕获时间与环路跟踪性能和抗噪声性能之间的矛盾,可以采用减小起始幅差法,变带宽法,变增益法等。
减小起始幅差法是在捕获阶段估计信号幅度与目标幅度之间的差值,给数字环路滤波器中的积分支路配置初始值,使当前幅差与目标幅度之间的差值减小,通过环路的牵引作用,可以使环路快速锁定。
变带宽和变增益法是使用两种不同的环路带宽或增益[3-4],在捕获时采用较大的环路带宽或增益,扩大捕获带、减小捕获时间;环路锁定后再减小环路带宽或增益,满足环路跟踪性能和抗噪声性能要求。在采用变带宽法时必须保证环路工作在门限值上,否则环路捕获将不可能,因此变带宽法适用于输入信噪比较高的情况。
文中采用一阶IIR数字低通滤波器对变增益和变带宽法作出分析。
文中采用的低通滤波器实现框图如图4所示。
图4 一阶IIR数字低通滤波器框
图4中G1为直通支路增益系数,G2为积分支路增益系数,K为直流放大倍数。
数字环路滤波器与模拟滤波器一样,都是为了抑制高频分量及噪声,滤波器的参数直接影响环路的性能。根据图4可得文中所应用的数字滤波器的z域传递函数为:
另 z = ejω,代入式(9)并化简可得[2]:
文中选用的滤波器参数为:采用变增益法时,在捕获与跟踪阶段的滤波器参数G1和G2不变且G1=1,G2=1/2^5,K在捕获与跟踪阶段分别为:捕获阶段K=1/2^13;跟踪阶段K=1/2^16。采用变带宽法时采用的滤波器参数为G1=1/2^3;G2=1/2^10;K=1/2^13。
应用上述参数,根据式(10)在MATLAB6.5中通过仿真可得出此数字滤波器在捕获阶段和跟踪阶段的幅频响应如图5所示。
图5 环路滤波器的幅频响应
由图5可以看出,改变环路增益K或环路带宽后滤波器对噪声的滤除能力增强,因而跟踪性能变好。
在改变环路增益K或环路带宽时应保证无缝切换,即保证切换后环路放大倍数维持不变,下面以变增益法为例推倒无缝切换时应当采取的操作。
设累加器在k时刻输出为Err_acc(k),则在k时刻的环路放大倍数如下:
设在捕获阶段和跟踪阶段的环路放大倍数分别为Gain1(k)和Gain2(k),直流放大倍数分别为K1和K2,累加器输出分别为Err_acc1(k)和Err_acc2(k)则有:
为保证无缝切换,必须使切换后Gain1(k) =Gain2(k),又切换时环路已经处于锁定状态,有:
根据上式可得:
上式可以扩展到变带宽的情况,设积分支路捕获参数和跟踪参数分别为G21和G22,可得:
由上式可知变增益法只是变带宽法在G21 = G22的一种特殊情况。
在FPGA中可控增益放大器可以通过有符号乘法器来实现。有符号乘法器可以通过Quartus宏来生成,生成方法可以参照延时存储链的生成方法。在DAGC应用中增益值仅需要正值,因此需要对低通滤波模块输出的增益值进行了有符号数到无符号数的转换,文中采用的增益值用16比特表示,将低通滤波模块输出的增益值加上0X“8000”即可完成有符号数到无符号数转换,为标识正数需要在生成的无符号增益值前添加1比特零。
环路工作有两个状态,失锁状态和锁定状态,当环路在失锁状态时环路应采用捕获参数来完成对信号的快速捕获,当环路在锁定状态时环路应采用跟踪参数来完成对信号的稳态跟踪,失锁检测电路检测当前环路状态,给出当前环路状态指示并将该指示发送给数字低通滤波器模块,数字低通滤波器模块根据锁定指示改变环路增益或带宽。其实现框图如图6所示。
图6 失锁判定模块
脉冲产生器每鉴幅1 000次产生一个lock_en信号,该信号分别送往随机徘徊滤波器用来清零随机徘徊滤波器输出和判定逻辑用以激发一次锁定判断。文中采用的鉴幅速率为1/38400 s,因此失锁判定模块灵敏度为1000/38400 s = 26.04 ms。
普通比较器输出用以产生锁定指示,迟滞比较器输出用以产生失锁指示。
环路处于失锁状态时希望环路能够快速将输入信号幅度调整至期望幅度E_AMP,因此设定普通比较器工作方式如下,当信号幅度高于E_AMP时普通比较器输出“01”,当信号幅度低于E_AMP时普通比较器输出“11”,否则输出“00”。
环路处于锁定状态时希望环路输出能够满足后续电路要求,根据后续电路要求,输出信号在期望电平正负3 dB内能够稳定工作,因此设定迟滞比较器高门限和低门限分别为E_AMP/2和E_AMP*2,当信号幅度高于高门限时迟滞比较器输出“01”,当信号幅度低于低门限时迟滞比较器输出“11”,否则输出“00”。
文中的随机徘徊滤波器由锁定判定计数器和失锁判定计数器两个双向计数器组成,当lock_en为高电平时清零两个计数器,否则当普通比较器输出“01”时锁定判定计数器加1,当普通比较器输出“11”时锁定判定计数器减1,当普通比较器输出“00”时锁定判定计数器维持当前值不变,当环路锁定时锁定判定计数器值应在零值附近,锁定判定逻辑可以如此设定,当锁定判定计数器绝对值小于200时认为环路锁定,失锁判定计数器工作方式与锁定判定计数器工作方式相同,失锁判定逻辑可以如此设定,当失锁判定计数器绝对值大于800时认为环路失锁,为便于调试可以设定此值可通过串口配置,以便找出最佳的锁定及失锁判定计数器的值。
为观测DAGC捕获时间,将低通滤波器输出的增益值通过AD1851观察,在示波器上通过观察DA输出波形即可测量DAGC捕获时间。DA输出的波形如图7所示。
图7 DAGC捕获过程
通过示波器观察控制电压可以测量DAGC收敛时间,示波器时间轴每格时间为50 ms,经测试DAGC收敛时间t<100 ms。
DAGC环路在无线通信中有着至关重要的作用,研究实现具有良好的捕获和跟踪性能的DAGC具有重要的意义,通过增加数字自动增益控制环路(DAGC),基本实现了接收机输出的信号经过分集合并后仍保持输出电平恒定,满足了后续电路的要求[5-7]。文中研究了幅度检测模块设计、误差提取模块设计、低通滤波器设计、可控增益放大器的实现以及失锁检测电路,并在FPGA中实现了具有较好捕获和跟踪性能的DAGC, 经测试DAGC收敛时间t<100 ms,通过在实际系统中应用,检验效果良好。
[1] 同济大学教研室.高等数学[M].北京:高等教育出版社,2001:264-273.
[2] 丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2001:175-176.
[3] 张厥盛,郑继禹,万心平.锁相技术[M].西安:西安电子科技大学出版社,1994:85-92.
[4] 季仲梅,杨洪生,王大鸣,等.通信中的同步技术及应用[M].北京:清华大学出版社,2008:90-91.
[5] 周学军,董军堂,雷s文礼,等.微波低通滤波器的分析与设计[J].通信技术,2010,43(03):183-184.
[6] 谌波,周劼,王世练.约束时间常数大动态数字AGC的设计[J].通信技术,2011,44(12):144-146.
[7] 张小莉.基于串口的DSP软件下载设计与实现[J].信息安全与通信保密,2012(01):70-71.