2.2 卷积
2.2.1 一维离散卷积
设一线性时不变系统的脉冲响应为h(t),则其输出信号y(t)可表示为输入信号x(t)和h(t)的卷积:
(2-1)
系统可以是因果系统,也可以是非因果系统。若系统是有界输入有界输出(BIBO)的时,则称系统是稳定的,此时有:
(2-2)
容易证明,式(2-1)中的h(t)和x(t)可以互易,即有:
(2-3)
简单起见,式(2-1)和式(2-3)通常记为:
(2-4)
其中,*为卷积运算符。关于卷积的一些运算性质,可在信号与系统相关的教材中找到,此处从略。
为在计算机上进行信号处理,必须将连续信号和系统响应数字化。数字化包括两件事:采样和量化。为分析方便,通常讨论模拟采样序列。将x(t)、h(t)和y(t)的模拟采样序列分别记为x(n)、h(n)和y(n),则式(2-1)所对应的离散形式为:
(2-5)
若系统为因果的,则式(2-5)的第二项求和的上限只能到k=n,而第三项求和只能从k=0开始。计算机仅能处理有限离散卷积,给定序列x(n),n=0,1,2,…,N-1和h(n),n=0,1,2,…,M-1,其中M和N是正整数。则式(2-5)变为:
(2-6)
其中,L=M+N-1为序列y(n)的长度。
为便于分析计算,可将离散卷积公式写作向量形式,记:
(2-7)
(2-8)
(2-9)
容易验证,卷积公式(2-6)可写作:
y=F(h,N)x=F(x,M)h(2-10)
其中,F(h,N)为h的元素构成的矩阵,有N列,形式如下:
(2-11)
F(x,M)与F(h,N)类似,为x的元素构成的矩阵,有M列。公式(2-10)说明两个卷积因子可以互易,它们均称为卷积核矩阵。
考虑一种常见的情况。假设离散系统的脉冲响应序列h(n)有限,而输入序列x(n)可视为从过去到将来的无限长序列,但仅能观测到输出序列y(n)的一部分样本。由卷积运算可知,为得到y(n)的L个样本,要用到h(n)的全部M个样本以及x(n)的M+L-1个样本。而实际上,长度为M的h(n)和长度为M+L-1的x(n)的卷积长度为一个长度为2M+L-2的序列。显然,y(n)的L个样本只是其中的一部分,故称之为部分卷积(partial convolution),而前面的完全卷积又称为常规卷积。采用向量-矩阵形式可将部分卷积写为:
(2-12)
部分卷积可写作:
(2-13)
其中,是由h(n)的反排序列构成的卷积核矩阵,其尺寸为N×(N-M+1)。
容易发现,一维部分卷积和完全卷积之间具有如下关系:
yp(n)=h(n)☆x(n)=D(M∶N)[h(n)*x(n)](2-14)
其中,☆为部分卷积运算符;D(M∶N)[·]为范围限定算子,部分卷积的结果可以看作是仅取完全卷积的n=M到n=N的一段。
需要指出的是部分卷积并不符合交换律,其x和h长度决定了它们在卷积中的作用,通常将短的序列作为卷积核使用。很多实际情况是以部分卷积的情况出现的。
2.2.2 二维离散卷积
假定二维有限序列x(m,n)和h(m,n)分别定义在有限栅点集Zx={(m,n)∈z2|0≤m≤N1-1,0≤n≤N2-1}和Zh={(m,n)∈z2|0≤m≤M1-1,0≤n≤M2-1}上,其中,z2为二维平面上的整数栅点构成的集合。它们的二维卷积可写成:
m=0,1,…,M1+N1-2;n=0,1,…,M2+N2-2(2-15)
显然,y(m,n)仅在(M1+N1-1)×(M2+N2-1)的栅点集上有意义,即其支撑域也是有限的。
类似于一维有限离散卷积,二维有限离散卷积同样可用向量-矩阵表达形式。从第一行起把二维序列的每个行转置向量一个接一个地排成一个单列向量,即辞书式排列法(也可以将每一列进行叠加)。因此,公式(2-15)可以写成:
y=Fhx=Fxh(2-16)
y=Fhx展开即:
(2-17)
(2-18)
其中yi和xi分别表示y和x的第i+1行的转置,表示由h的第i+1行元素所构成的卷积核矩阵,它的大小为(M2+N2-1)×N2,大的分块矩阵的大小为(M1+N1-1)×N1,故整个矩阵的大小为(M1+N1-1)(M2+N2-1)×N1N2。
二维部分卷积与一维部分卷积的含义类似。在很多情况下,我们仅能观测和处理一个面积延深很广的图像中的一小块。若被观测图像是由某种卷积因素造成的模糊图像,所观测到的图像就是原始图像和卷积因素的一个部分卷积。假定点扩散函数的尺寸为M1×M2,表达一个L1×L2的部分卷积要涉及(L1+M1-1)×(L2+M2-1)的一部分原始图像。
设有限序列x(m,n)和h(m,n)的尺寸分别是N1×N2和M1×M2,且有N1≥M1,N2≥M2,其部分卷积表达式为:
(2-19)
式中,是由h(m,n)的反排序列构成的卷积核矩阵,其尺寸为N1N2×(N1-M1+1)(N2-M2+1)。二维部分卷积和全卷积之间的关系是:
(2-20)
即在大的分块基础上保留第M1到N1行,而在小的矩阵里保留第M2到N2行。