- 一、线性卷积计算方法
- 二、线性卷积计算示例一 ( 直接法 )
线性卷积计算方法 :
- 直接法 : 根据 线性卷积 定义 直接计算 ;
- 图解法 :
- 不进位乘法 :
- 编程计算 :
给定如下两个序列 :
x ( n ) = { 1 , − 1 , 2 } [ 0 , 2 ] x(n) = \{ 1 , -1, 2 \}_{[0,2]} x(n)={1,−1,2}[0,2]
h ( n ) = { 3 , 0 , − 1 } [ 0 , 2 ] h(n) = \{ 3, 0, -1\}_{[0,2]} h(n)={3,0,−1}[0,2]
求 y ( n ) = x ( n ) ∗ h ( n ) y(n) = x(n) * h(n) y(n)=x(n)∗h(n) ;
x ( n ) x(n) x(n) 可以表示成如下序列 :
x ( n ) = δ ( n ) − δ ( n − 1 ) + 2 δ ( n − 2 ) x(n) = \delta(n) - \delta(n - 1) + 2\delta(n - 2) x(n)=δ(n)−δ(n−1)+2δ(n−2)
当输入为 δ ( n ) \delta(n) δ(n) 时 , 输出为 h ( n ) = { 3 , 0 , − 1 } h(n) = \{ 3, 0, -1\} h(n)={3,0,−1} ;
δ ( n ) → h ( n ) = { 3 , 0 , − 1 } \delta(n) \rightarrow h(n) = \{ 3, 0, -1\} δ(n)→h(n)={3,0,−1}
当输入为 − δ ( n − 1 ) - \delta(n - 1) −δ(n−1) 时 , 输出为 − h ( n − 1 ) -h(n - 1) −h(n−1) , 先将 h ( n ) h(n) h(n) 右移一位变为 h ( n − 1 ) = { 0 , 3 , 0 , − 1 } h(n - 1) = \{0, 3, 0, -1\} h(n−1)={0,3,0,−1} , 然后再将其取负 − h ( n − 1 ) = { 0 , − 3 , 0 , 1 } -h(n - 1) = \{0, -3, 0, 1\} −h(n−1)={0,−3,0,1} ;
δ ( n ) → − h ( n − 1 ) = { 0 , − 3 , 0 , 1 } \delta(n) \rightarrow -h(n - 1) = \{0, -3, 0, 1\} δ(n)→−h(n−1)={0,−3,0,1}
当输入为 2 δ ( n − 2 ) 2 \delta(n - 2) 2δ(n−2) 时 , 输出为 2 h ( n − 2 ) 2h(n - 2) 2h(n−2) , 先将 h ( n ) h(n) h(n) 右移 2 位变为 h ( n − 2 ) = { 0 , 0 , 3 , 0 , − 1 } h(n - 2) = \{0, 0, 3, 0, -1\} h(n−2)={0,0,3,0,−1} , 然后再将其乘以 2 得到 2 h ( n − 2 ) = { 0 , 0 , 6 , 0 , − 2 } 2 h(n - 2) = \{0, 0 , 6, 0, -2\} 2h(n−2)={0,0,6,0,−2} ;
2 δ ( n − 2 ) → 2 h ( n − 2 ) = { 0 , 0 , 6 , 0 , − 2 } 2 \delta(n - 2) \rightarrow 2 h(n - 2) = \{0, 0 , 6, 0, -2\} 2δ(n−2)→2h(n−2)={0,0,6,0,−2}
x ( n ) = δ ( n ) − δ ( n − 1 ) + 2 δ ( n − 2 ) x(n) = \delta(n) - \delta(n - 1) + 2\delta(n - 2) x(n)=δ(n)−δ(n−1)+2δ(n−2)
对应的输出序列 :
y ( n ) = h ( n ) − h ( n − 1 ) + 2 h ( n − 2 ) y(n) = h(n) - h(n - 1) + 2h(n - 2) y(n)=h(n)−h(n−1)+2h(n−2)
{ 3 , 0 , − 1 } \{ 3, 0, -1\} {3,0,−1} { 0 , − 3 , 0 , 1 } \{0, -3, 0, 1\} {0,−3,0,1} { 0 , 0 , 6 , 0 , − 2 } \{0, 0 , 6, 0, -2\} {0,0,6,0,−2}
三个序列相加的结果是 { 3 , − 3 , 5 , 1 , − 2 } \{3, -3, 5 , 1, -2\} {3,−3,5,1,−2} , n n n 的取值范围是 0 0 0 ~ 4 4 4 ;
线性时不变 系统中 , 先变换后移位 与 先移位后变换 得到的 输出序列 是相同的 ;
最终结果为 :
y ( n ) = h ( n ) − h ( n − 1 ) + 2 h ( n − 2 ) = { 3 , − 3 , 5 , 1 , − 2 } [ 0 , 4 ] y(n) = h(n) - h(n - 1) + 2h(n - 2) = \{3, -3, 5 , 1, -2\}_{[0, 4]} y(n)=h(n)−h(n−1)+2h(n−2)={3,−3,5,1,−2}[0,4]
上述 根据 " 线性卷积 " 定义 , 直接计算 ;
" 输出序列 " 等于 " 输入序列 " 与 " 系统单位脉冲响应 " 的卷积 ;
输入序列为 : x ( n ) = δ ( n ) − δ ( n − 1 ) + 2 δ ( n − 2 ) x(n) = \delta(n) - \delta(n - 1) + 2\delta(n - 2) x(n)=δ(n)−δ(n−1)+2δ(n−2)
系统脉冲响应为 : h ( n ) = { 3 , 0 , − 1 } [ 0 , 2 ] h(n) = \{ 3, 0, -1\}_{[0,2]} h(n)={3,0,−1}[0,2]
输出序列 : 就是 x ( n ) ∗ y ( n ) x(n) * y(n) x(n)∗y(n) 的卷积 ;
这里求出 " 输出序列 " 即可得到 x ( n ) ∗ y ( n ) x(n) * y(n) x(n)∗y(n) 的卷积结果 ;