我想我不太了解卷积的概念。
假设我们在 S 域中获得了一个系统脉冲响应,并且我们已经实现了一个控制器,它将调整系统对某种输入的响应。现在,当我们实现这个控制器时,比如说使用运算放大器。我们需要做的就是得到的微分方程,并开始使用正确的元件值来实现它。它是否正确?
如果是这样,假设我们正在尝试在计算机上实现这个控制器,我们的输入、输出不再是连续信号。我们在 Z 域中的控制器由表示。现在在计算机中实现该控制器的下一步是获取差分方程并在软件中实现它。它是否正确?
如果是这样,在软件上实现控制器差分方程和在软件上实现卷积算法有什么区别?
例如,如果我们以g[n]
代表控制器单元脉冲响应的样本数组的形式给出,并且我们的输入存储在x[n]
一个简单的 for 循环中,则可能会为我们执行此算法。据我所知
for i in len(x): #loop through the input elements
for j in len(g): #loop through the controller unit impulse response elements
y[i+j] += x[i]*g[j] #Store the conv. result in the output array y
这只是告诉软件将脉冲响应中的每个点缩放 x[n],然后将响应移动 n,然后将它们全部加起来。
我可能在这里遗漏了一些东西!