Introduction to Signal Processing 5 表形式。如y(⑤)为 5=∑hx,=hx4+hx3+h5 i,j 1j=5 卷积运算可以重新排列成下图所示:(冲击响应系数垂直向下,而输入信号水平排列) Xo X1 X2 X3 X4 ho hoxo hox hoxz hox3 hox h hix2 hixs hix h2 h2Xo h2Xp h2X2 h2X3 hx h3 h:Xo h;x2 h;X4 图4.2卷积表 例4.1.1计算下列滤波器与输入信号的卷积: h=[1,2,-1,1 x=[1,1,2,1,2,2,1,1] 1 2- 2 2 1 2 :2 2 4 4 - -2 2- y=[1,3,3,5,3,7,4,3,3,0,1] 输出项数为LL+M=8+3=11 §4.1.4 LTI form 更直观理解卷积的LTI form是依据滤波器的线性性质与时不变性质。设冲击相应h和输入抽样x 分别为: h=[ho,hi,h2,h3] X=[X0,X1,X2,X3,X4 x可以表示为: x=xo[1,0,0,0,0] +x0,1,0,0,0] +x2[0,0,1,0,0] +x3[0,0,0,1,0] +x40,0,0,0,1] x(n)也可以表示为delta函数的叠加: x(n)=xo6(m)+xδn-1)+x2δ(n-2)+x3δ(n-3)+x4δ(n-4) 滤波的效果就是用延时冲击响应代替相应的delta函数,既: y(n)=xh(n)+xh(n-1)+xh(n-2)+xh(n-3)+x4h(n-4)
Introduction to Signal Processing 5 表形式。如 y(5)为 ∑ + = = = + + 5 , 5 1 4 2 3 3 2 i j i j i j y h x h x h x h x 卷积运算可以重新排列成下图所示:(冲击响应系数垂直向下,而输入信号水平排列) x0 x1 x2 x3 x4 h0 h0x0 h0x1 h0x2 h0x3 h0x4 h1 h1x0 h1x1 h1x2 h1x3 h1x4 h2 h2x0 h2x1 h2x2 h2x3 h2x4 h3 h3x0 h3x1 h3x2 h3x3 h3x4 图 4.2 卷积表 例 4.1.1 计算下列滤波器与输入信号的卷积: h=[1,2,-1,1], x=[1,1,2,1,2,2,1,1] 1 1 2 1 2 2 1 1 1 1 1 2 1 2 2 1 1 2 2 2 4 2 4 4 2 2 -1 -1 -1 -2 -1 -2 -2 -1 -1 1 1 1 2 1 2 2 1 1 y=[1,3,3,5,3,7,4,3,3,0,1] 输出项数为 Ly=L+M=8+3=11 §4.1.4 LTI form 更直观理解卷积的 LTI form 是依据滤波器的线性性质与时不变性质。设冲击相应 h 和输入抽样 x 分别为: h=[h0,h1,h2,h3] x=[x0,x1,x2,x3,x4] x 可以表示为: x=x0[1,0,0,0,0] +x1[0,1,0,0,0] +x2[0,0,1,0,0] +x3[0,0,0,1,0] +x4[0,0,0,0,1] x(n)也可以表示为 delta 函数的叠加: ( ) ( ) ( 1) ( 2) ( 3) ( 4) x n = x0δ n + x1δ n − + x2δ n − + x3δ n − + x4δ n − 滤波的效果就是用延时冲击响应代替相应的 delta 函数,既: ( ) ( ) ( 1) ( 2) ( 3) ( 4) y n = x0h n + x1h n − + x2h n − + x3h n − + x4h n −
第四章FR滤波与卷积 6 我们可以把输入、输出信号写成分批形式: x=x[1,0,0,0,0] y=xoho,h1,h2,h3,0,0,0,0] +x1[0,1,0,0,0] +x1[0,ho,h1,h2,h3,0,0,0] +x20,0,1,0,0] → +x2[0,0,ho,h1,h2,h3,0,0] +x3[0,0,0,1,0] +x[0,0,0,ho,h1,h2,h3,0] +x4[0,0,0,0,1 +x4[0,0,0,0,ho,h,h2,h3] y的线性组合就是(4.1.18)式: y=[xoho,Xoh+x ho,xoh2+xih+x2ho,..xh3] =yo,y1,y2,,y7] 也可以将LTI form表示成下图所示: ho h h2 h3 0 0 0 0 Xo xoho xohi Xoh2 xoh3 0 0 0 0 七 0 Xi ho xIhi xIh2 xI h3 0 0 0 X2 0 0 x2 ho x2 hi x2 h2 x2 h3 0 0 X3 0 0 0 x3 ho x3 h X3 h2 x3h3 0 X4 0 0 0 0 X4 ho x4hi X4h2 X4h3 0 y y2 y3 y4 ys y6 y7 LTI form of convolution 表中的行对应h的连续延时(右移),第m行右移m个时间单位,于对应该行的输入相乘表示 Xmhn-m。完成表的填写后,每一列的内容相加得到相应的输出。 y(n)= ∑x(m)h(n-m) 以例4.1.1举例来说, 12 -11 112-11 1 12-11 2 24-22 1 12-11 2 24 -22 2 2 4 -22 1 2-1 1 1 12-11 133537 43301 确定了求和项的极限之后,LTI form也可以写成类似于(4.1.16)式所示的形式。实际上就是将 direct form中的h和x位置互换(行和列位置互换),将冲击响应的阶数M和输入抽样的长度L-l互换, 我们得到: min(n,L-1) y(n)= ∑x(m)hn-m) LTI form (4.1.19) m=max(0,n-M)
第四章 FIR 滤波与卷积 6 我们可以把输入、输出信号写成分批形式: x [0,0,0,0,1] x [0, 0, 0, 0, h ,h ,h ,h ] x [0,0,0,1,0] x [0, 0, 0, h ,h ,h ,h ,0] x [0,0,1,0,0] x [0, 0, h ,h ,h ,h ,0,0] x [0,1,0,0,0] x [0, h ,h ,h ,h ,0,0,0] x [1,0,0,0,0] y x [h ,h ,h ,h ,0,0,0,0] 4 4 0 1 2 3 3 3 0 1 2 3 2 2 0 1 2 3 1 1 0 1 2 3 0 0 0 1 2 3 + + + + + ⇒ + + + x = = y 的线性组合就是(4.1.18)式: y=[x0h0,x0h1+x1h0,x0h2+x1h1+x2h0,…,x4h3] =[y0, y1,y2,…,y7] 也可以将 LTI form 表示成下图所示: h0 h1 h2 h3 0 0 0 0 x0 x0h0 x0h1 x0h2 x0h3 0 0 0 0 x1 0 x1 h0 x1 h1 x1 h2 x1 h3 0 0 0 x2 0 0 x2 h0 x2 h1 x2 h2 x2 h3 0 0 x3 0 0 0 x3 h0 x3 h1 x3 h2 x3 h3 0 x4 0 0 0 0 x4 h0 x4 h1 x4 h2 x4 h3 y0 y1 y2 y3 y4 y5 y6 y7 LTI form of convolution 表中的行对应 h 的连续延时(右移),第 m 行右移 m 个时间单位,于对应该行的输入相乘表示 xmhn-m。完成表的填写后,每一列的内容相加得到相应的输出。 = ∑ − m y(n) x(m)h(n m) 以例 4.1.1 举例来说, 1 2 -1 1 1 1 2 -1 1 1 1 2 -1 1 2 2 4 -2 2 1 1 2 -1 1 2 2 4 -2 2 2 2 4 -2 2 1 1 2 -1 1 1 1 2 -1 1 1 3 3 5 3 7 4 3 3 0 1 确定了求和项的极限之后,LTI form 也可以写成类似于(4.1.16)式所示的形式。实际上就是将 direct form 中的 h 和 x 位置互换(行和列位置互换),将冲击响应的阶数 M 和输入抽样的长度 L-1 互换, 我们得到: ∑ − = − = − min( , 1) max(0, ) ( ) ( ) ( ) n L m n M y n x m h n m LTI form (4.1.19)
Introduction to Signal Processing 7 §4.1.5 Matrix Form 卷积方程可以写成矩阵形式: y=Hx (4.1.20) 其中,H矩阵由滤波器的冲击响应构造。由于输出矢量的长度为L+M,输入矢量的长度为L,所 以H矩阵的维数必定为: LyXLx=(L+M)XL 以前面的例子来说,输出信号可以写成矩阵形式: % h 0 00 0 出 h h 0 0 0 7 2 h h h 0 0 y 么 么 h ho 0 考 y= =Hx y 0 h 分 h 0 0 h h Xs 0 0 0 h h y 0 0 0 0 h 每一列都是冲击响应h的连续重复延时。列数等于输入抽样数。H又称为Toeplitz矩阵,因为 沿对角线元素重复出现。这种特性正是由于滤波器的时不变特性的结果。(4.1.20)等效于LTI table,无 非就是按列转置。 例:还是以前面的例子: 1 1 2 1 2 17 3 -1 1 1 -1 2 1 2 1-1 353 2 1 1 = 1 -1 2 1 7 1 -1 2 2 4 2 1 -1 2 1 1 3 -1 2 1 3 1 0 1 当然,矩阵形式也可以表达成另一种等效形式:
Introduction to Signal Processing 7 §4.1.5 Matrix Form 卷积方程可以写成矩阵形式: y = Hx (4.1.20) 其中,H 矩阵由滤波器的冲击响应 h 构造。由于输出矢量的长度为 L+M,输入矢量的长度为 L,所 以 H 矩阵的维数必定为: Ly×Lx=(L+M)×L 以前面的例子来说,输出信号可以写成矩阵形式: = Hx = = 4 3 2 1 0 3 3 2 3 2 1 3 2 1 0 3 2 1 0 2 1 0 1 0 0 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x x x h h h h h h h h h h h h h h h h h h h h y y y y y y y y y 每一列都是冲击响应 h 的连续重复延时。列数等于输入抽样数。H 又称为 Toeplitz 矩阵,因为 沿对角线元素重复出现。这种特性正是由于滤波器的时不变特性的结果。(4.1.20)等效于 LTI table,无 非就是按列转置。 例:还是以前面的例子: = − − − − − − − − = 1 0 3 3 4 7 3 5 3 3 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 Hx 当然,矩阵形式也可以表达成另一种等效形式:
第四章FIR滤波与卷积 8 % Xo 0 0 0 % 0 0 2 2 方 0 ho 3 X X2 少 Xo h y= =Xh y t X2 x 长 0 X4 X3 X2 h % 0 0 XA X3 y 0 0 0 X4 矩阵X的维数为:LyXL(L+MX(M+1) X的第一列为给定的输入,并补充M个0(相当于iput-of状态)。后续各列就是第一列连续延 时(下移)。后面我们会看到,这种卷积形式等同于滤波器直接实现时的样值处理算法,X的第行 代表了n时刻滤波器的内部状态。 例: 100 0 17 1 0 0 2 1 1 0 33 1 1 1 21 2 17 5 1 Xh= 2 1 2 2- 37 1 2 2 4 1 1 1 2 3 0 11 3 0 0 1 0 000 1 1 §4.1.6FIip-and-Slide Form(翻转-滑动) 俗称为Flip-and-Slide Form(翻转-滑动)的卷积方法就是将滤波器翻转(或反向)然后在输入的抽 样序列上滑行。输出为翻转的滤波器系数h与排列在其下方的M+1个输入抽样的点乘得到。 输入序列的左边和右边都填充了M个0。=0时刻,只有h余xo的点乘不为零。开始需要M个时间 单位h掠过输入序列中不为零的部分。这M个时间单位相当与滤波器的nput-on暂态。 然后,当M≤n≤L-1时,滤波器h完全处在非零项的上方,输出由下式给出: yn=hox+hh++hyxM 这一阶段相当与滤波器的稳态
第四章 FIR 滤波与卷积 8 y = Xh = = 3 2 1 0 4 4 3 4 3 2 4 3 2 1 3 2 1 0 2 1 0 1 0 0 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 h h h h x x x x x x x x x x x x x x x x x x x x y y y y y y y y 矩阵 X 的维数为:Ly×Lh=(L+M)×(M+1) X 的第一列为给定的输入,并补充 M 个 0(相当于 input-off 状态)。后续各列就是第一列连续延 时(下移)。后面我们会看到,这种卷积形式等同于滤波器直接实现时的样值处理算法,X 的第 n 行 代表了 n 时刻滤波器的内部状态。 例: = − = 1 0 3 3 4 7 3 5 3 3 1 1 1 2 1 0 0 0 1 0 0 1 1 0 1 1 2 1 1 2 2 1 2 2 1 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 0 1 1 0 0 1 0 0 0 Xh §4.1.6 Flip-and-Slide Form(翻转-滑动) 俗称为 Flip-and-Slide Form(翻转-滑动)的卷积方法就是将滤波器翻转(或反向)然后在输入的抽 样序列上滑行。输出为翻转的滤波器系数 h 与排列在其下方的 M+1 个输入抽样的点乘得到。 输入序列的左边和右边都填充了 M 个 0。n=0 时刻,只有 h0余 x0 的点乘不为零。开始需要 M 个时间 单位 h 掠过输入序列中不为零的部分。这 M 个时间单位相当与滤波器的 input-on 暂态。 然后,当 M≤n≤L-1 时,滤波器 h 完全处在非零项的上方,输出由下式给出: n n n n M n M y h x h x h x h x = 0 + 1 −1 + 2 −2 +L+ − 这一阶段相当与滤波器的稳态
Introduction to Signal Processing 9 最后,是滤波器的input-.of暂态,也就是输入消失后的过渡状态。对应于L≤n≤L-l+M。这一 阶段,滤波器滑过最后的M个零,最后一项输出为yL-+M=hwx一 也可以认为滤波器系数固定不动,而输入序列在朝相反方向滑行。这种观点就是FR滤波器的 样值处理算法。 h3,h2, h3,h2,h, ho h3,h2,h1, ho :0,0M个) X0,X1,X2,X3,“,Xn-3,Xn-2,Xm-1,Xn, X-1 0,0M个) yo yn yL-I+M Flip-and-Slide卷积 §4.1.7暂态和稳态 FIR滤波器的暂态和稳态可以根据(4.1.l6)式所时的direct form来理解。对于长度为L的输入 抽样、阶数为M的滤波器,输出的总长度为: 0≤n≤L-1+M 它可以分为三段:分别对应于input-.on暂态、steady state(稳态)、input-of暂态。 0≤n≤M input-on M≤n≤L-1 steady state L-1≤n≤L-1+M input-off 各种不同的稳态和暂态对卷积求和产生不同的影响。如图4.1.5所示,我们假设滤波器的阶数 小于输入抽样的长度,既M+1<L或M<L-1。否则,不会体现出稳态。 y(n) M L-1 L-1+M 在input-.on暂态阶段,0≤n<M<L-l,也就是说求和项的上下限: max(0,n-L+1)=0 min(n,M)=n steady state阶段,M≤n≤L-l,我们有: max(0,n-L+1=0 min(n,M)=M 对input-off阶段,M<L-l<n≤L-l+M,则有: max(0,n-L+1)=n-L+l min(n,M)=M
Introduction to Signal Processing 9 最后,是滤波器的 input-off 暂态,也就是输入消失后的过渡状态。对应于 L≤n≤L-1+M。这一 阶段,滤波器滑过最后的 M 个零,最后一项输出为 L−1+M = M L−1 y h x 也可以认为滤波器系数固定不动,而输入序列在朝相反方向滑行。这种观点就是 FIR 滤波器的 样值处理算法。 Flip-and-Slide 卷积 y0 y n yL-1+M 0,0(M 个) x0, x1, x2, x3, ……, xn-3, xn-2, xn-1, x n, …… xL-1 h3, h2, h1, h0 h3, h2, h1, h0 h3, h2, h1, h0 0,0(M 个) §4.1.7 暂态和稳态 FIR 滤波器的暂态和稳态可以根据(4.1.16)式所时的 direct form 来理解。对于长度为 L 的输入 抽样、阶数为 M 的滤波器,输出的总长度为: 0≤n≤L-1+M 它可以分为三段:分别对应于 input-on 暂态、steady state(稳态)、input-off 暂态。 0≤n≤M input-on M≤n≤L-1 steady state L-1≤n≤L-1+M input-off 各种不同的稳态和暂态对卷积求和产生不同的影响。如图 4.1.5 所示,我们假设滤波器的阶数 小于输入抽样的长度,既 M+1<L 或 M<L-1。否则,不会体现出稳态。 y(n) n M L-1 L-1+M 在 input-on 暂态阶段,0≤n<M<L-1,也就是说求和项的上下限: max(0, n-L+1)=0 min(n, M)=n steady state 阶段,M≤n≤L-1,我们有: max(0, n-L+1)=0 min(n, M)=M 对 input-off 阶段,M<L-1<n≤L-1+M,则有: max(0, n-L+1)=n-L+1 min(n, M)=M