跳转到内容

数字信号处理/冲激响应

来自维基教科书,开放的书籍,开放的世界

假设我们有以下框图

h[n]被称为数字系统的'冲激响应。本章将讨论冲激响应。

冲激函数

[编辑 | 编辑源代码]

在数字电路中,我们使用连续时间狄拉克函数的变体。这个狄拉克函数(δ[n])在n = 0处的值为1,在其他地方的值为0。

δ[n] = [... 0 0 0 0 1& 0 0 0 0 ...]

如果我们设置x[n] = δ[n],那么输出y[n]将是系统对冲激的响应,或者简单地说,是“冲激响应”。

我们可以这样对冲激函数进行时间偏移

δ[n-1] = [... 0 0 0 0& 1 0  0 0 0 ...]
δ[n+1] = [... 0 0 0 0  1 0& 0 0 0 ...]

我们可以添加时间偏移的冲激函数值来创建冲激串

y[n] = δ[n] + δ[n-1] + δ[n-2] + [n-4]
y[n] = [1& 1 1 0 1]

冲激串

[编辑 | 编辑源代码]

冲激响应

[编辑 | 编辑源代码]

如果我们有一个将y[n]x[n]关联的差分方程,我们可以通过将每个y替换为h,每个x替换为δ来找到冲激响应差分方程

y[n] = 2x[n] + 3x[n-1] + 4x[n-2]
h[n] = 2δ[n] + 3δ[n-1] + 4δ[n-2]

通过对n代入连续的值,我们可以计算出冲激响应为

h[n] = [2& 3 4]

现在,假设我们有一个给定的冲激响应h[n],并且我们有一个给定的输入x[n]

x[n] = [1& 0 1 2]
h[n] = [2& 2 2 1]

我们可以将输出y[n]计算为这两个量的卷积

x[n]    ->       1& 0 1 2
h[-n]   ->       1  2 2 2&
h[-n-3] -> 1 2 2 2&               -> y[m-3] = 2&
h[-n-2] ->   1 2 2  2&            -> y[m-2] = 2
h[-n-1] ->     1 2  2 2&          -> y[m-1] = 4
h[-n]   ->       1  2 2 2&        -> y[m]   = 7
h[-n+1] ->          1 2 2 2&      -> y[m+1] = 6
h[-n+2] ->            1 2 2 2&    -> y[m+2] = 5
h[-n+3] ->              1 2 2 2&  -> y[m+3] = 2

y[n] = [2& 2 4 7 6 5 2]
华夏公益教科书