Python DSP,自动增益控制(AGC)

3

我将尽力提出具体问题:

我正在使用Python来查看一些相对基本的DSP,并且我想要实现自动增益控制。除非我弄错了,这个过程简化为:

enter image description here

我不太关心输入/输出信号之间的相位差异,而输入信号是由缓慢变化的波形调制的1MHz正弦波(如上所示),我以40MHz的采样率进行采样。我的问题如下:

(i) 我找不到有关AGC的任何良好描述,欢迎提供建议。

[我有一本关于通用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()

enter image description here

1个回答

0
这些东西通常在Matlab中建模,它的语言与Python非常相似。在Google上查看。你可以从这里开始。 这是来自书籍Perez, Automatic Gain Control的免费章节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接