语音信号处理五——求线性时不变系统卷积和的解


前言

上一篇文章中介绍了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(nk)
也写作
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)δ[nk]
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(nk)
单位冲激分解中的 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(nk)=τ[δ(nk)],对于单位冲激响应的偏移。
为了便于区分,现在使用 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(nm),即当 n > 0 n>0 n>0,序列右移,反之,序列左移
  • 即卷积公式可以看作是 x ( m ) x(m) x(m) h ( n − m ) h(n-m) h(nm)的相乘相加后得到 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 0n3,同时单位冲激响应范围也是 0 ≤ ( n − m ) ≤ 3 0 \leq (n-m) \leq 3 0(nm)3,即两边加 n n n再翻转就得到了 m m m的取值范围: n − 3 ≤ m ≤ n n-3 \leq m \leq n n3mn

  • 此时将 m m m进行翻转可得, − 3 ≤ − m ≤ 0 -3 \leq- m \leq 0 3m0,我们之前说加上 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+Lh1,也就是说系统的输出在 n = L x + L h − 1 n=L_x+L_h-1 n=Lx+Lh1处有值。下面就是求出长度的推导过程

对于卷积公式 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(nk),我们使用 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,0n<Lx(Lx1)
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,0n<Lh(Lh1)

由卷积公式可知,卷积运算过程中每一项如果有值,那么就要求 x ( m ) x(m) x(m) h ( n − m ) h(n-m) h(nm)都不为0,针对于 x ( m ) , m ∈ [ 0 , L x − 1 ] x(m), m \in [0, L_x -1] x(m),m[0,Lx1],针对于 h ( n − m ) , n ∈ [ m , m + L h − 1 ] h(n-m), n \in [m, m+L_h-1] h(nm),n[m,m+Lh1]

  • 卷积的起点
    针对于 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(nm)=0,而 x ( m ) , m ∈ [ 0 , L x − 1 ] x(m), m \in [0, L_x -1] x(m),m[0,Lx1] n n n的最大值(当 m = m m a x = L x − 1 m=m_{max} = L_x-1 m=mmax=Lx1 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 Lx1+Lh1=Lx+Lh2,因为是从0开始,所以卷积的长度为 L x + L h − 1 L_x+L_h-1 Lx+Lh1

由此,在上文中提到的例子又可以拆分为
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 0n3,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 4n6,y(n)=n331=7n
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,0n37n,4n60,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(nk)=k=x(nk)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)δ(n4),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)δ(nm),只有当 n = m , x ( m ) ∗ δ ( n − m ) ≠ 0 n=m, \quad x(m) * \delta(n-m) \neq 0 n=m,x(m)δ(nm)=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)δ(n4)]分配律=u(n)δ(n)u(n)δ(n4)交换律=u(n)u(n4)
  • 接着分析 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,n00,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)+δ(n1)+δ(n2)+δ(n3)
  • 分析 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)anku(nk)=m(n)anu(n)=anu(n)[δ(n)+δ(n1)+δ(n2)+δ(n3)]分配律=anu(n)δ(n)+anu(n)δ(n1)+anu(n)δ(n2)+anu(n)δ(n3)交换律=anu(n)+an1u(n1)+an2u(n2)+an3u(n3)

总结

本章内容中先对于卷积公式结合一个简单的例子,通过给定的输入和单位冲激响应求出系统的输出,并得到其中一个结论为:卷积结果的长度为 L x + L h − 1 L_x+L_h -1 Lx+Lh1

接着结合实际的图像介绍了卷积的三大性质,通过三大性质结合实例求出卷积的解,下一章节中,会对于差分方程进行介绍,这是在时域中分析语音信号的另一个重要工具。

如果对您有所帮助,请帮忙点个赞吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值