微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请教AGC程序算法···

请教AGC程序算法···

时间:10-02 整理:3721RD 点击:

求解答

先提供两种,一是基于平均功率统计,二是基于峰值检测,具体用哪种看你应用了。

1. 平均功率统计:信号链路里有ADC,则AGC的输入直接从ADC拉过来,具体拉几位看你的精度要求。对输入信号在一个比较长的时间里取平均,统计平均功率,并设定一个窗口值,当平均功率低于窗口值下限时,AGC发送指令增加PGA增益;当平均功率高于窗口值上限时,AGC发送指令降低PGA增益;当平均功率在窗口内时,认为环路稳定,不调增益。注意一下如果有多级PGA时,增益从后往前调,免得DCOC被逐级放大。

2. 峰值检测:信号链路里有ADC,则AGC的输入直接从ADC拉过来,具体拉几位看你的精度要求。在一段时间内数信号的峰值,峰值数量多了降增益,少了则升增益。同样是增益从后往前调。

信号链路没有ADC的话,就加个一到两位的比较器,把比较粗略的幅度信息取出来。

我目前用的就是峰值检测,检测出输出峰值了以后,然后再用ADC采样后与自己设定的值比较,如果比它大,单片机就控制DAC输出直流量减小VGA的增益,如果小,就增加其增益,整体思路是这样,但是就是这个比较的程序如何写,我用单片机输出一个固定的直流量,电路工作正常,如果一变话,一比较,就出问题了,感觉程序不是按照我所想的执行,乱变

我目前用的就是峰值检测,检测出输出峰值了以后,然后再用ADC采样后与自己设定的值比较,如果比它大,单片机就控制DAC输出直流量减小VGA的增益,如果小,就增加其增益,整体思路是这样,但是就是这个比较的程序如何写,我用单片机输出一个固定的直流量,电路工作正常,如果一变话,一比较,就出问题了,感觉程序不是按照我所想的执行,乱变

这个正常,你看一下你的系统里除了AGC以外还有没有别的环路。我之前做的那个系统是AGC和DCOC两个环路,工作的时候如果不加控制,两个环路会打架,最后都不能稳定。查一下关键节点的电压和MCU发给PGA的数字量是怎么变化的。

上一篇:INA118
下一篇:OPA657电路分析

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top