前言
上一篇文章中介绍了LTI系统的含义,以及它的特征,同时对于LTI系统,使用单位冲激分解和单位冲激响应推导出了在时域上,分析LTI系统的重要工具——卷积和
y
(
n
)
=
∑
k
=
−
∞
∞
x
(
k
)
h
(
n
−
k
)
y(n) = \sum_{k=-\infty}^{\infty}x(k)h(n-k)
y(n)=k=−∞∑∞x(k)h(n−k)
也写作
y
(
n
)
=
x
(
n
)
∗
h
(
n
)
y(n) = x(n)*h(n)
y(n)=x(n)∗h(n)
那么这一篇中,将会有很多实例来利用卷积公式,进行实际的计算卷积公式的解。
|版本声明:山河君,未经博主允许,禁止转载
一、卷积和的解
1.含义
卷积公式的解是指:在给定一定的信号和系统的冲激响应,通过卷积公式获取最终的输出。
2.卷积公式的分析
1)使用m代替k
对于单位冲激分解和卷积公式来说
x
(
n
)
=
∑
k
=
−
∞
∞
x
(
k
)
δ
[
n
−
k
]
x(n) = \sum_{k=-\infty}^{\infty}x(k)\delta [n-k]
x(n)=k=−∞∑∞x(k)δ[n−k]
y
(
n
)
=
x
(
n
)
∗
h
(
n
)
=
∑
k
=
−
∞
∞
x
(
k
)
h
(
n
−
k
)
y(n) = x(n) * h(n) = \sum_{k=-\infty}^{\infty}x(k)h(n-k)
y(n)=x(n)∗h(n)=k=−∞∑∞x(k)h(n−k)
单位冲激分解中的
k
k
k,可以看作
n
=
k
n=k
n=k时,
x
(
k
)
x(k)
x(k)作为权系数才对系统的输入有贡献。
而在卷积公式中的
k
k
k,可以看作
h
(
n
−
k
)
=
τ
[
δ
(
n
−
k
)
]
h(n-k) = \tau[\delta(n-k)]
h(n−k)=τ[δ(n−k)],对于单位冲激响应的偏移。
为了便于区分,现在使用
m
m
m来代表
k
k
k在接下来的运算。
- 对于 m m m时刻的冲激响应,先进行反转得到 h ( − m ) h(-m) h(−m)
- 再将 h ( − m ) h(-m) h(−m)进行移位 n n n,就得到 h ( n − m ) h(n-m) h(n−m),即当 n > 0 n>0 n>0,序列右移,反之,序列左移
- 即卷积公式可以看作是 x ( m ) x(m) x(m)与 h ( n − m ) h(n-m) h(n−m)的相乘相加后得到 y ( n ) y(n) y(n)
2)理解m的作用
从上面使用 m m m代替 k k k看起来好像没有实际的必要,实际上在求LTI的卷积和的解时,我们通常会使用图解法、解析法和一些其他工具例如matlab的工具箱来进行分析,下面以实际图解例子来理解一下为什么要使用 m m m进行翻转。
假设: x ( n ) = R 4 ( n ) , h ( n ) = R 4 ( n ) x(n) = R_4(n),\quad h(n) = R_4(n) x(n)=R4(n),h(n)=R4(n),其中 R 4 R_4 R4代表的是长度为4的单位越阶信号, 那么 y ( n ) = x ( n ) ∗ h ( n ) ? y(n) = x(n) * h(n) ? y(n)=x(n)∗h(n)?
解:
-
根据 x ( n ) = R 4 ( n ) , h ( n ) = R 4 ( n ) x(n) = R_4(n),\quad h(n) = R_4(n) x(n)=R4(n),h(n)=R4(n),可以看到图像
-
根据条件可知, 0 ≤ n ≤ 3 0 \leq n \leq 3 0≤n≤3,同时单位冲激响应范围也是 0 ≤ ( n − m ) ≤ 3 0 \leq (n-m) \leq 3 0≤(n−m)≤3,即两边加 n n n再翻转就得到了 m m m的取值范围: n − 3 ≤ m ≤ n n-3 \leq m \leq n n−3≤m≤n。
-
此时将 m m m进行翻转可得, − 3 ≤ − m ≤ 0 -3 \leq- m \leq 0 −3≤−m≤0,我们之前说加上 n n n,当 n > 0 n>0 n>0,序列右移,反之,序列左移,那么图像看起来如下:
-
由此我们看到,当 n = 0 n=0 n=0时,卷积公式中只有 h ( 0 ) h(0) h(0)处对于系统的输出有贡献,而当 n = 1 n=1 n=1时,则 h ( 0 ) , h ( 1 ) h(0),h(1) h(0),h(1)对于系统的输出都有贡献,而最终的系统输出使用数学描述:
n = 0 , y ( 0 ) = R 4 ( 0 ) ∗ R 4 ( 0 ) = 1 n=0, \quad y(0) = R_4(0)*R_4(0) = 1 n=0,y(0)=R4(0)∗R4(0)=1
n = 1 , y ( 1 ) = R 4 ( 0 ) ∗ R 4 ( 1 ) + R 4 ( 1 ) ∗ R 4 ( 0 ) = 2 n=1, \quad y(1) = R_4(0)*R_4(1) + R_4(1)*R_4(0)=2 n=1,y(1)=R4(0)∗R4(1)+R4(1)∗R4(0)=2
n = 2 , y ( 2 ) = R 4 ( 0 ) ∗ R 4 ( 2 ) + R 4 ( 1 ) ∗ R 4 ( 1 ) + R 4 ( 2 ) ∗ R 4 ( 0 ) = 3 n=2, \quad y(2) = R_4(0)*R_4(2) + R_4(1)*R_4(1) + R_4(2)*R_4(0)=3 n=2,y(2)=R4(0)∗R4(2)+R4(1)∗R4(1)+R4(2)∗R4(0)=3
n = 3 , y ( 3 ) = R 4 ( 0 ) ∗ R 4 ( 3 ) + R 4 ( 1 ) ∗ R 4 ( 2 ) + R 4 ( 2 ) ∗ R 4 ( 1 ) + R 4 ( 3 ) ∗ R 4 ( 0 ) = 4 n=3, \quad y(3) = R_4(0)*R_4(3) + R_4(1)*R_4(2) + R_4(2)*R_4(1) + R_4(3)*R_4(0)=4 n=3,y(3)=R4(0)∗R4(3)+R4(1)∗R4(2)+R4(2)∗R4(1)+R4(3)∗R4(0)=4
n = 4 , y ( 4 ) = R 4 ( 1 ) ∗ R 4 ( 3 ) + R 4 ( 2 ) ∗ R 4 ( 2 ) + R 4 ( 3 ) ∗ R 4 ( 1 ) = 3 n=4, \quad y(4) = R_4(1)*R_4(3) + R_4(2)*R_4(2) + R_4(3)*R_4(1)=3 n=4,y(4)=R4(1)∗R4(3)+R4(2)∗R4(2)+R4(3)∗R4(1)=3
n = 5 , y ( 5 ) = R 4 ( 2 ) ∗ R 4 ( 3 ) + R 4 ( 3 ) ∗ R 4 ( 2 ) = 2 n=5, \quad y(5) = R_4(2)*R_4(3) + R_4(3)*R_4(2)=2 n=5,y(5)=R4(2)∗R4(3)+R4(3)∗R4(2)=2
n = 6 , y ( 6 ) = R 4 ( 3 ) ∗ R 4 ( 3 ) = 1 n=6, \quad y(6) = R_4(3)*R_4(3) = 1 n=6,y(6)=R4(3)∗R4(3)=1
3.卷积结果的长度
卷积结果的长度也就是系统输出 y ( n ) y(n) y(n)的长度,我们使用 L x L_x Lx和 L h L_h Lh表示系统输入的长度和单位冲激响应的长度,那么卷积结果的长度为 L x + L h − 1 L_x+L_h -1 Lx+Lh−1,也就是说系统的输出在 n = L x + L h − 1 n=L_x+L_h-1 n=Lx+Lh−1处有值。下面就是求出长度的推导过程
对于卷积公式
y
(
n
)
=
x
(
n
)
∗
h
(
n
)
=
∑
k
=
−
∞
∞
x
(
k
)
h
(
n
−
k
)
y(n) = x(n) * h(n) = \sum_{k=-\infty}^{\infty}x(k)h(n-k)
y(n)=x(n)∗h(n)=∑k=−∞∞x(k)h(n−k),我们使用
L
x
L_x
Lx和
L
h
L_h
Lh表示系统输入的长度和单位冲激响应的长度,也就是说:
x
(
n
)
x(n)
x(n)长度为
L
x
L_x
Lx,即
x
(
n
)
≠
0
,
0
≤
n
<
L
x
(
≤
L
x
−
1
)
x(n) \neq 0, \quad 0\leq n \lt L_x( \leq L_x-1)
x(n)=0,0≤n<Lx(≤Lx−1)
h
(
n
)
h(n)
h(n)长度为
L
h
L_h
Lh,即
h
(
n
)
≠
0
,
0
≤
n
<
L
h
(
≤
L
h
−
1
)
h(n) \neq 0, \quad 0\leq n \lt L_h( \leq L_h-1)
h(n)=0,0≤n<Lh(≤Lh−1)
由卷积公式可知,卷积运算过程中每一项如果有值,那么就要求 x ( m ) x(m) x(m)和 h ( n − m ) h(n-m) h(n−m)都不为0,针对于 x ( m ) , m ∈ [ 0 , L x − 1 ] x(m), m \in [0, L_x -1] x(m),m∈[0,Lx−1],针对于 h ( n − m ) , n ∈ [ m , m + L h − 1 ] h(n-m), n \in [m, m+L_h-1] h(n−m),n∈[m,m+Lh−1]
- 卷积的起点
针对于 x ( m ) x(m) x(m),要求 x ( m ) ≠ 0 x(m) \neq 0 x(m)=0,因此卷积的起点为0 - 卷积的终点
针对于 h ( n − m ) ≠ 0 h(n-m) \neq 0 h(n−m)=0,而 x ( m ) , m ∈ [ 0 , L x − 1 ] x(m), m \in [0, L_x -1] x(m),m∈[0,Lx−1], n n n的最大值(当 m = m m a x = L x − 1 m=m_{max} = L_x-1 m=mmax=Lx−1时 n n n最大)为 L x − 1 + L h − 1 = L x + L h − 2 L_x -1 + L_h - 1 = L_x+L_h -2 Lx−1+Lh−1=Lx+Lh−2,因为是从0开始,所以卷积的长度为 L x + L h − 1 L_x+L_h-1 Lx+Lh−1
由此,在上文中提到的例子又可以拆分为
0
≤
n
≤
3
,
y
(
n
)
=
∑
m
=
0
n
1
=
n
+
1
0 \leq n \leq 3,\quad y(n) = \sum_{m=0}^n 1=n+1
0≤n≤3,y(n)=∑m=0n1=n+1
4
≤
n
≤
6
,
y
(
n
)
=
∑
n
−
3
3
1
=
7
−
n
4 \leq n \leq 6,\quad y(n) = \sum_{n-3}^3 1= 7-n
4≤n≤6,y(n)=∑n−331=7−n
y
(
n
)
=
{
n
+
1
,
0
≤
n
≤
3
7
−
n
,
4
≤
n
≤
6
0
,
0
y(n) = \begin{cases} n+1, \quad 0 \leq n \leq 3 \\ 7-n, \quad 4 \leq n \leq 6 \\ 0, \quad 0 \\ \end{cases}
y(n)=⎩
⎨
⎧n+1,0≤n≤37−n,4≤n≤60,0
从上文中对于卷积求解的例子中可以看出,对于系统的输入第一个信号
R
4
(
0
)
R_4(0)
R4(0)影响了前L个输出,而系统输入的最后一个信号
R
4
(
3
)
R_4(3)
R4(3)影响到了最后L个输出。对于为什么系统的输出会变长的理解,可以看上一章音频进阶学习四——线性时不变系统之卷积和。
二、卷积和的性质
1.卷积和性质
卷积公式拥有以下性质:
- 交换律: x ( n ) ∗ h ( n ) = h ( n ) ∗ x ( n ) = > ∑ k = − ∞ ∞ x ( k ) h ( n − k ) = ∑ k = − ∞ ∞ x ( n − k ) h ( n ) x(n)*h(n) = h(n) * x(n) =>\sum_{k=-\infty}^{\infty}x(k)h(n-k) = \sum_{k=-\infty}^{\infty}x(n-k)h(n) x(n)∗h(n)=h(n)∗x(n)=>∑k=−∞∞x(k)h(n−k)=∑k=−∞∞x(n−k)h(n)
- 结合律: x ( n ) ∗ [ h 1 ( n ) ∗ h 2 ( n ) ] = [ x ( n ) ∗ h 1 ( n ) ] ∗ h 2 ( n ) x(n)*[h_1(n)*h_2(n)] = [x(n) * h_1(n)] * h_2(n) x(n)∗[h1(n)∗h2(n)]=[x(n)∗h1(n)]∗h2(n)
- 分配律: x ( n ) ∗ [ h 1 ( n ) + h 2 ( n ) ] = x ( n ) ∗ h 1 ( n ) + x ( n ) ∗ h 2 ( n ) x(n) * [h_1(n) + h_2(n)] = x(n) * h_1(n) + x(n)*h_2(n) x(n)∗[h1(n)+h2(n)]=x(n)∗h1(n)+x(n)∗h2(n)
注意:非线性系统或者时变系统,以上性质不成立
2.利用图像理解卷积和的性质
- 交换律:图a等于图b
- 结合律:图c等于图d
- 分配律:图e等于图f
3.卷积性质使用的实际列子
我们在之前的文章中有说过,系统的级联是将第一个系统的输出当作第二个系统的输入,假设两个系统都为LTI系统,如下图单位脉冲响应为
h
1
(
n
)
h_1(n)
h1(n)和单位脉冲响应为
h
2
(
n
)
h_2(n)
h2(n)的系统为级联:
设
x
(
n
)
=
u
(
n
)
,
h
1
(
n
)
=
δ
(
n
)
−
δ
(
n
−
4
)
,
h
2
(
n
)
=
a
n
u
(
n
)
∣
a
∣
<
1
,
y
(
n
)
?
x(n) = u(n), h_1(n) = \delta(n) - \delta(n-4), h_2(n) = a_nu(n) \quad |a| < 1,y(n)?
x(n)=u(n),h1(n)=δ(n)−δ(n−4),h2(n)=anu(n)∣a∣<1,y(n)?
- 让我们分析
h
1
(
n
)
h_1(n)
h1(n),如果对于单位冲激响应为
δ
(
n
)
\delta(n)
δ(n),那么卷积公式有:
y
(
n
)
=
∑
m
=
−
∞
∞
x
(
m
)
δ
(
n
−
m
)
y(n) = \sum_{m=-\infty}^{\infty}x(m)\delta(n-m)
y(n)=∑m=−∞∞x(m)δ(n−m),只有当
n
=
m
,
x
(
m
)
∗
δ
(
n
−
m
)
≠
0
n=m, \quad x(m) * \delta(n-m) \neq 0
n=m,x(m)∗δ(n−m)=0时,输出才有值,且输出为:
y ( n ) = x ( n ) ∗ δ ( n ) = x ( k ) ∣ k = n = x ( n ) y(n) = x(n) * \delta(n) = x(k)|_{k=n} = x(n) y(n)=x(n)∗δ(n)=x(k)∣k=n=x(n)
那么对于 h 1 ( n ) h_1(n) h1(n)则有:
m ( n ) = u ( n ) ∗ [ δ ( n ) − δ ( n − 4 ) ] 分配律 = u ( n ) ∗ δ ( n ) − u ( n ) ∗ δ ( n − 4 ) 交换律 = u ( n ) − u ( n − 4 ) m(n) = u(n) * [ \delta(n) - \delta(n-4)] \quad 分配律 \\ = u(n) * \delta(n) - u(n) * \delta(n-4) \quad 交换律 \\ = u(n) - u(n-4) m(n)=u(n)∗[δ(n)−δ(n−4)]分配律=u(n)∗δ(n)−u(n)∗δ(n−4)交换律=u(n)−u(n−4) - 接着分析
m
(
n
)
m(n)
m(n)的范围,对于
u
(
n
)
u(n)
u(n)是单位越阶信号
u ( n ) = { 1 , n ≥ 0 0 , n < 0 u(n) = \begin{cases} 1, \quad n \geq 0 \\ 0, \quad n \lt 0 \end{cases} u(n)={1,n≥00,n<0
作为 h 2 ( n ) h_2(n) h2(n)的输入,只有在 m ( n ) = 1 , n = 0 , 1 , 2 , 3 m(n) = 1, \quad n=0,1,2,3 m(n)=1,n=0,1,2,3才有输入,所以它是一个宽度为4的矩型信号,所以 m ( n ) = δ ( n ) + δ ( n − 1 ) + δ ( n − 2 ) + δ ( n − 3 ) m(n) = \delta(n) + \delta(n-1) + \delta(n-2) + \delta(n-3) m(n)=δ(n)+δ(n−1)+δ(n−2)+δ(n−3) - 分析
y
(
n
)
y(n)
y(n)的输出,将
m
(
n
)
,
h
2
(
n
)
m(n),h_2(n)
m(n),h2(n)代入卷积公式有:
y ( n ) = ∑ k = − ∞ ∞ m ( k ) a n − k u ( n − k ) = m ( n ) ∗ a n u ( n ) = a n u ( n ) ∗ [ δ ( n ) + δ ( n − 1 ) + δ ( n − 2 ) + δ ( n − 3 ) ] 分配律 = a n u ( n ) ∗ δ ( n ) + a n u ( n ) ∗ δ ( n − 1 ) + a n u ( n ) ∗ δ ( n − 2 ) + a n u ( n ) ∗ δ ( n − 3 ) 交换律 = a n u ( n ) + a n − 1 u ( n − 1 ) + a n − 2 u ( n − 2 ) + a n − 3 u ( n − 3 ) y(n) = \sum_{k=-\infty}^{\infty}m(k)a_{n-k}u(n-k) \\ = m(n) * a_nu(n) = a_nu(n) * [\delta(n) + \delta(n-1) + \delta(n-2) + \delta(n-3)] \quad 分配律 \\ = a_nu(n) * \delta(n) + a_nu(n) * \delta(n-1) + a_nu(n) * \delta(n-2) + a_nu(n) * \delta(n-3) \quad 交换律 \\ = a_nu(n) + a_{n-1}u(n-1) + a_{n-2}u(n-2) + a_{n-3}u(n-3) y(n)=k=−∞∑∞m(k)an−ku(n−k)=m(n)∗anu(n)=anu(n)∗[δ(n)+δ(n−1)+δ(n−2)+δ(n−3)]分配律=anu(n)∗δ(n)+anu(n)∗δ(n−1)+anu(n)∗δ(n−2)+anu(n)∗δ(n−3)交换律=anu(n)+an−1u(n−1)+an−2u(n−2)+an−3u(n−3)
总结
本章内容中先对于卷积公式结合一个简单的例子,通过给定的输入和单位冲激响应求出系统的输出,并得到其中一个结论为:卷积结果的长度为 L x + L h − 1 L_x+L_h -1 Lx+Lh−1。
接着结合实际的图像介绍了卷积的三大性质,通过三大性质结合实例求出卷积的解,下一章节中,会对于差分方程进行介绍,这是在时域中分析语音信号的另一个重要工具。
如果对您有所帮助,请帮忙点个赞吧!