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

时间:2014-02-28 11:03:26

标签: python filter signal-processing

我会尝试在这里提出具体问题: -

我正在使用python来查看一些相对基本的DSP,我想实现自动增益控制。除非我弄错了,否则采用(简化)形式:

enter image description here

我不太关心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()

enter image description here

1 个答案:

答案 0 :(得分:0)

这些事情通常在Matlab中建模,其语言与Python非常相似。在Google中查看。你可以开始here。 这是 Perez,自动增益控制

一书中的免费章节