我会尝试在这里提出具体问题: -
我正在使用python来查看一些相对基本的DSP,我想实现自动增益控制。除非我弄错了,否则采用(简化)形式:
我不太关心i / o信号之间的相移,输入信号是由缓慢变化的波调制的1MHz正弦波(如上所示),我在40MHz采样。我的问题是:
(i)我无法在AGC上找到任何体面的描述,欢迎提出这方面的建议。
[我在general DSP上有一本非常好的书,但AGC只是顺便提到了]
我知道低信号然后高增益的基本思路,反之亦然;我也很欣赏产生“快速攻击”/“缓慢衰减”响应的滤波器,但我不确定DSP中AGC算法的细节。
其次:
(ii)我如何在python中实现这一目标?我的起始代码是这样的:
import numpy as np
import pylab as plt
# 1000 samples of a 1MHz signal, sampled at 40MHz
sample_rate = 40e6
fc = 1e6
fm = 1e5
nsamples = 1000
# for now assume an AM type signal
t = np.arange(nsamples) / sample_rate
signal = np.sin(2*np.pi*fc*t) * ( (1 + np.sin(2*np.pi*fm*t))/2 )
plt.plot(t, signal)
plt.grid()
plt.xlabel('time (0 to 25us)')
plt.ylabel('ip signal amplitude')
plt.show()