全数字反馈式线性AGC 主要由能量检测模块、信号幅度估计模块和增益系数调整模块组成。
系统结构如下图是所示:
其中A(n)代表数字AGC 中增益系数大小,X(n) 为接收信号经过采样和抽取后的数字信号,R-代
表信号幅度估计值,R 为信号调整参考值。能量检测模块Estimate 也会检测当前是否有信号输
入,防止出现误调。增益系数调整模块是数字AGC 的核心模块。
该算法一大特点是增益系数的调整量与误差信号之间成线性关系,其物理意义明确,而且便于
硬件实现,目前已经将该算法运行在200M 时钟下。但该算法的收敛时间与输入信号幅度有关。
在反馈线性AGC 中
𝐴(𝑛 + 1) = 𝐴(𝑛) + 𝑎(𝑅 − 𝑅−)
其中𝑎为迭代步长,假设在理想情况下,能由当前接收信号立即估计到信号的平均幅值,不妨
设:
𝑅− = |𝑦(𝑛)| = |𝐴(𝑛) ∗ 𝑥(𝑛)|
𝑅−就是当前信号的平均幅度,则有
𝐴(𝑛 + 1) = 𝐴(𝑛) + 𝑎(𝑅 − 𝑅−) = 𝐴(𝑛) + 𝑎[𝑅 − |𝐴(𝑛) ∗ 𝑥(𝑛)|] = 𝐴(n)[1 − 𝑎|𝑥(𝑛)|] + 𝑎𝑅
当就收信号发生突变时,令
𝑥(𝑛) = 𝑐𝑢(𝑛), 其中𝑢(𝑛)为0 − 1 阶跃信号
解差分方程:
𝐴(𝑛) =𝑅/𝑎*[1 − (1 − 𝑎𝑐)^𝑛 ]𝑢(𝑛) (0 < 𝑎𝑐 < 1)
𝐴(𝑛)的稳态响应为𝑅/𝑎,且环路稳定时间接近于1/𝑎𝑐,可以看到环路的收敛时间与迭代步长参数𝑎和
接收信号的阶跃变化量𝑐有关,同时必须满足0 < 𝑎𝑐 < 1,否则会使得环路不稳定
反馈式AGC 的参数做逐一分析:
➢ 动态范围:-20dB~10dB
动态范围与输入信号大小,迭代步长和参考信号有关。本文所设计的参数满足要求。
➢ 响应时间:
响应时间与迭代步长和信号大小有关。
➢ 纹动范围:±0.15dB
在信号经过响应时间,进入稳定之后,该算法的纹动范围在±0.15dB 以内
➢ 信号带宽:≥1kHz
matlab仿真结果如下图所示:
如需MATLAB代码或者FPGA实现代码(https://download.csdn.net/download/qwe1006/82365977),可私信。
全数字反馈式线性自动增益控制AGC
于 2024-04-30 09:27:04 首次发布