有没有办法通过知道它对离散单位阶跃函数的响应来获得离散系统的脉冲响应?

信息处理 离散信号 线性系统
2021-12-24 11:53:33

在连续时间内是可能的;

u(t)systemy(t)δ(t)=du(t)dtsystemdy(t)dt=h(t)

是否同样适用于离散时间系统,即

δ[t]=du[t]dtwhere:{δ[t]is the discrete time deltau[t]is the discrete time unit step function

有没有办法通过只知道离散单位步长的响应来获得离散系统的脉冲响应?

3个回答

Phonon 的答案的一个更简单的版本如下。

假设y表示系统对单位阶跃函数的响应。然后,正如在这个答案中所讨论的, 一般来说, y是脉冲响应的缩放y副本和时间延迟副本的总和,在这种特殊情况下,不需要缩放;只有时间延迟。因此, \begin{align} y[0] &= h[0]\\ y[1] &= h[1] + h[0]\\ y[2] &= h[2] + h[1 ] + h[0]\\ y[3] &= h[3] + h[2] + h[1] + h[0]\\ \vdots~ &= ~\vdots \end{align} 其中每个右侧的列是(未缩放和)时间延迟的脉冲响应。因此,我们很容易得到 \begin{align} h[0] &= y[0]\\ h[1] &= y[1]-y[0]\\ h[2] &= y[2] -y[1]\\ \vdots~ &= ~\vdots\\ h[n] &~= y[n] - y[n-1]\\ \vdots~ &

y[0]=h[0]y[1]=h[1]+h[0]y[2]=h[2]+h[1]+h[0]y[3]=h[3]+h[2]+h[1]+h[0] = 
h[0]=y[0]h[1]=y[1]y[0]h[2]=y[2]y[1] = h[n] =y[n]y[n1] = 
没有提到滤波器、逆、卷积、积分、算子等,只是线性时不变系统定义的简单结果。

是的,在离散系统情况下也是如此。这种情况下的微分运算被一阶差分代替。它认为它没有通用符号,但我们称它为此操作等效于使用过滤您的信号。我们称这个过滤器我将用符号表示卷积。D()y[n]=x[n]x[n1]d[n]

现在让我们将我们所知道的关于卷积的知识应用到这个算子上。我们知道我们上获得 了带有运行总和(离散积分器)的 n] 。事实上,由表示的系统本身就是这个离散积分器。另请注意,这两个运算符彼此相反,特别是u[n]δ[n]u[n]u[n]d[n]=δ[n]

现在,我们知道卷积是可交换的,即

a[n]b[n]=b[n]a[n]

和关联,即

(a[n]b[n])c[n]=a[n](b[n]c[n])

所以,

x[n]=δ[n]x[n]=u[n]d[n]x[n]=d[n]u[n]x[n]=d[n](u[n]x[n])

因此,您可以看到您可以通过应用一阶差分,就像在连续情况下一样。x[n](u[n]x[n])

假设:

  • 连续时域:设 - 脉冲响应, - 阶跃响应h(t)s(t)
  • 离散时域:设 - 单位脉冲响应和 - 单位阶跃响应h[n]s[n]

直观地说,连续时域的积分相当于离散时域的求和。类似地,连续时域的导数等价于离散域的有限差分。

之间的关系(您帖子中第二个等式的左侧):uδ

  • 连续时域: u(t)=δ(t)
  • 离散时域: u[n]=k=0δ[nk]

之间的关系(您帖子中第二个等式的右侧):sh

  • 连续时域: s(t)=h(t)
  • 离散时域: s[n]=k=0h[nk]

现在,如果您仔细查看最后一个等式:

s[n]=k=0h[nk]

现在可以从这个方程中找到,使用有限差分和它自身的延迟版本,即使用h[n]s[n]s[n1]

h[n]=s[n]s[n1]