【信号处理】卷积
var code = “41db2b15-0356-4730-ad9b-6b135372232f”
卷积和
首先从离散角度入手,对于一个离散时间信号x[n](n=1,2,3,… )x[n] (n=1,2,3, \dots)x[n](n=1,2,3,…),假设其信号在坐标轴中的图形表示如下:

我们可以简单地用表达式表示为:
x[n]={3,n=−32,n=−23,n=−11,n=00,n=14,n=20,其他
x[n] =
\begin{cases}
3, & n = -3 \\
2, & n = -2 \\
3, & n = -1 \\
1, & n = 0 \\
0, & n = 1 \\
4, & n = 2 \\
0, & \text{其他}
\end{cases}
x[n]=⎩⎨⎧3,2,3,1,0,4,0,n=−3n=−2n=−1n=0n=1n=2其他
通过观察可以很自然地想到通过单位冲激信号δ[n]\delta [n]δ[n]及其脉冲平移来更简洁地表示这个信号,即有:
x[n]=3δ[n+3]+2δ[n+2]+3δ[n+1]+δ[n]+2δ[n−2]
x[n] = 3\delta[n+3]+2\delta[n+2]+3\delta[n+1]+\delta[n]+2\delta[n-2]
x[n]=3δ[n+3]+2δ[n+2]+3δ[n+1]+δ[n]+2δ[n−2]
统一用x[n]x[n]x[n]在对应nnn上的值替代权值,即有:
x[n]=∑k=−32x[k]δ[n−k]
x[n] = \sum_{k = -3}^{2} x[k] \delta[n - k]
x[n]=k=−3∑2x[k]δ[n−k]
即离散信号x[n]x[n]x[n]可以看作若一串单位冲激序列的加权表示,推广到所有离散信号有:任意离散时间序列x[n]x[n]x[n],均可以表示为单位冲激信号及其时移序列的加权和(又称移位加权和),即
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]
通过这样的简单转化,我们可以发现离散信号x[n]x[n]x[n]被分成两部分,一部分是x[k]x[k]x[k],表示x[n]x[n]x[n]在nnn取不同值时的大小,另一部分是δ[n−k]\delta[n - k]δ[n−k],是所有离散信号共有且完全相同的部分。也就是说,前者是由信号本身决定的,包含信号自身信息的权值部分;而后者是一个纯粹的单位冲激序列,是不包含任何原信号特有信息的、所有离散信号所共有的基本构成。这里同时需要注意的是,前者x[k]x[k]x[k]是一个常数,后者δ[n−k]\delta[n - k]δ[n−k]是一个关于变量nnn的函数,只不过该函数只在n=kn=kn=k时有值。
现在对信号x[n]x[n]x[n]引入一个线性变换:
y[n]=2x[n]
y[n] = 2x[n]
y[n]=2x[n]
即有:
y[n]=2∑k=−32x[k]δ[n−k]
y[n] = 2\sum_{k = -3}^{2} x[k] \delta[n - k]
y[n]=2k=−3∑2x[k]δ[n−k]
把权值2放入求和符号内,有:
y[n]=∑k=−32x[k](2δ[n−k])
y[n] = \sum_{k = -3}^{2} x[k] (2\delta[n - k])
y[n]=k=−3∑2x[k](2δ[n−k])
我们发现,对于变换后的函数,我们仍能把它表示为权值x[k]x[k]x[k]与一个式子乘积的和的形式,令h[n]=2δ[n−k]h[n]=2\delta[n - k]h[n]=2δ[n−k],即有:
y[n]=∑k=−32x[k]h[n−k]
y[n] = \sum_{k = -3}^{2} x[k] h[n-k]
y[n]=k=−3∑2x[k]h[n−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]y[n]y[n]:
y[n]=∑m=−∞+∞(αm∑k=−∞+∞x[k]δ[n−k]),其中αm∈R
y[n] = \sum_{m = -\infty}^{+\infty}(\alpha _m\sum_{k = -\infty}^{+\infty}x[k] \delta[n - k])
,其中\alpha _m\in \mathbb{R}
y[n]=m=−∞∑+∞(αmk=−∞∑+∞x[k]δ[n−k]),其中αm∈R
通过换序得到:
y[n]=∑k=−∞+∞x[k]∑m=−∞+∞(αmδ[n−k])
y[n] = \sum_{k = -\infty}^{+\infty}x[k] \sum_{m = -\infty}^{+\infty}(\alpha _m \delta[n - k])
y[n]=k=−∞∑+∞x[k]m=−∞∑+∞(αmδ[n−k])
令h[n]=∑m=−∞+∞αmδ[n−k]h[n] = \sum_{m = -\infty}^{+\infty}\alpha _m \delta[n - k]h[n]=∑m=−∞+∞αmδ[n−k],这里的前提是变换要是线性时不变变换,得:
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]
即变换后的结果均能表示为原函数在对应位置的值和一个函数的乘积的和的形式。更通俗地讲,就是线性变换被加在了原函数的通性部分也就是δ[n]\delta [n]δ[n]上,而保持了特有部分x[k]x[k]x[k]。类比讲,可以把δ[n]\delta [n]δ[n]看作空间中的一个标准基,而引入的线性变换为对坐标系的一个空间变换,得到的新的基h[n]h[n]h[n],使得变换前后函数的坐标值x[k]x[k]x[k]保持不变。这里值得注意的是,原函数中δ[n−k]\delta [n-k]δ[n−k]只在n=kn = kn=k时有非零值,其他时候均为000,但是变换后的h[n]h[n]h[n]可能且在大多数情况下在不止一个位置有非零值。
那么,这么做的意义是什么呢?我们发现,通过上述步骤,我们把原本对整个原函数x[n]x[n]x[n]做线性变换转化成对其单位冲激序列部分(或者说离散时间信号的共有部分)做线性变换,而分离出其特有性质,那么有:
- 变换后得到的结果中h[n]h[n]h[n]部分是由原本δ[n]\delta [n]δ[n]变换而来,表示的是这个变换过程的性质,也即系统的性质
- 原有的特性部分没有变化,意味着这个变换对于任何离散时间函数输入都是成立的,即输入函数x[n]x[n]x[n]可以任意改变而系统本身性质不会变化
这样就实现了把输入信号与变换过程(也即系统)分离的过程,便于对系统的性质进行抽象分离和分析。上述这个计算的过程也就是卷积和:
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]
式中h[n]h[n]h[n]便是系统的单位冲激响应,或者用一个更能激起我们思路的名字——卷积核。也就是说,我们对输入信号x[n]x[n]x[n]做线性时不变变换,可以理解为使用卷积核h[n]h[n]h[n]对信号x[n]x[n]x[n]做卷积。反过来理解,我们常常所说的对某个信号做卷积,实际上是对该信号做基于h[n]h[n]h[n]的线性时不变变换。
tips:最初看见卷积公式时,往往最不能理解的是公式中的虚设变量kkk,其实这个虚设变量在卷积之前就有而并非卷积操作引入,kkk是在提取冲激序列时为实现遍历原函数时所引入的,其实现的功能(通常被总结为换元-反褶-平移-乘积和)为分离原函数为权重-冲激序列的乘积和形式,卷积只是对冲激序列进行变换操作。但是也正是变换操作后,原本冲激函数及其时移变换只在一个值下可以取到非零值的特性被改变,这便导致了变换后的反褶这一重要操作。
卷积积分
上面描述的卷积过程都是基于离散时间系统,对于连续时间系统,显然可以通过极限的思维予以证明,也即上述性质在连续时间系统中同样适用,下面予以简单说明。
基本思想是通过一个阶梯信号x^(t)\hat{x}(t)x^(t)近似原信号x(t)x(t)x(t)。

其中,x^(t)\hat{x}(t)x^(t)通过函数δΔ(t)\delta_{\Delta}(t)δΔ(t)表示,
δΔ(t)={1Δ,0⩽t<Δ0,其他
\delta_{\Delta}(t) =
\begin{cases}
\displaystyle \frac{1}{\Delta}, & 0 \leqslant t < \Delta \\
0, & \text{其他}
\end{cases}
δΔ(t)=⎩⎨⎧Δ1,0,0⩽t<Δ其他
有:
x^(t)=∑k=−∞∞x(kΔ)δΔ(t−kΔ)Δ
\hat{x}(t) = \sum_{k = -\infty}^{\infty} x(k\Delta) \delta_{\Delta}(t - k\Delta) \Delta
x^(t)=k=−∞∑∞x(kΔ)δΔ(t−kΔ)Δ
其中,当且仅当kΔ<t<(k+1)Δk\Delta < t < (k+1) \DeltakΔ<t<(k+1)Δ时,δΔ(t)\delta_{\Delta}(t)δΔ(t)取到非零值。对Δ\DeltaΔ取极限,有:
limΔ→0x^(t)=limΔ→0∑k=−∞+∞x(kΔ)δΔ(t−kΔ)Δ=x(t)
\lim_{\Delta \to 0} \hat{x}(t) = \lim_{\Delta \to 0} \sum_{k = -\infty}^{+\infty} x(k\Delta) \delta_{\Delta}(t - k\Delta) \Delta = x(t)
Δ→0limx^(t)=Δ→0limk=−∞∑+∞x(kΔ)δΔ(t−kΔ)Δ=x(t)
用τ\tauτ代换kΔk\DeltakΔ,用积分形式表达,即:
x(t)=∫−∞+∞x(τ)δ(t−τ)dτ
x(t) = \int_{-\infty}^{+\infty} x(\tau) \delta(t - \tau) \mathrm{d}\tau
x(t)=∫−∞+∞x(τ)δ(t−τ)dτ
这样,我们就把信号表示成了权值和单位冲激信号的乘积和形式。
引入线性时不变变换后,输出信号的离散近似也应当可以表示为如下形式:
y^(t)=∑k=−∞+∞x(kΔ)h^kΔ(t)Δ
\hat{y}(t) = \sum_{k = -\infty}^{+\infty} x(k\Delta) \hat{h}_{k\Delta}(t) \Delta
y^(t)=k=−∞∑+∞x(kΔ)h^kΔ(t)Δ
取极限应有实际输出信号:
y(t)=∫−∞+∞x(τ)h(t−τ)dτ
y(t) = \int_{-\infty}^{+\infty} x(\tau) h(t - \tau) \mathrm{d}\tau
y(t)=∫−∞+∞x(τ)h(t−τ)dτ
即为连续时间系统下的卷积积分,符号表示为:
y(t)=x(t)∗h(t)
y(t) = x(t) * h(t)
y(t)=x(t)∗h(t)
卷积性质
卷积性质大多可以较为简单地由定义式推算出来,下面仅予以列举:
交换律:
x[n]∗h[n]=h[n]∗x[n]x[n] * h[n] = h[n] * x[n]x[n]∗h[n]=h[n]∗x[n]
x(t)∗h(t)=h(t)∗x(t)x(t) * h(t) = h(t) * x(t)x(t)∗h(t)=h(t)∗x(t)
结合律:
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]) * h_2[n]x[n]∗(h1[n]∗h2[n])=(x[n]∗h1[n])∗h2[n]
x(t)∗[h1(t)∗h2(t)]=[x(t)∗h1(t)]∗h2(t)x(t) * [h_1(t) * h_2(t)] = [x(t) * h_1(t)] * h_2(t)x(t)∗[h1(t)∗h2(t)]=[x(t)∗h1(t)]∗h2(t)
分配律:
x[n]∗(h1[n]+h2[n])=x[n]∗h1[n]+x[n]∗h2[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]
x(t)∗[h1(t)+h2(t)]=x(t)∗h1(t)+x(t)∗h2(t)x(t) * [h_1(t) + h_2(t)] = x(t) * h_1(t) + x(t) * h_2(t)x(t)∗[h1(t)+h2(t)]=x(t)∗h1(t)+x(t)∗h2(t)
微分/差分性质:
x′(t)∗h(t)=x(t)∗h′(t)x'(t) * h(t) = x(t) * h'(t)x′(t)∗h(t)=x(t)∗h′(t)
Δy[n]=Δx[n]∗h[n]=x[n]∗Δh[n]\Delta y[n] = \Delta x[n] * h[n] = x[n] * \Delta h[n]Δy[n]=Δx[n]∗h[n]=x[n]∗Δh[n]
积分/求和性质:
(∫−∞tx(τ)dτ)∗h(t)=x(t)∗(∫−∞th(τ)dτ)\left( \int_{-\infty}^{t} x(\tau) d\tau \right) * h(t) = x(t) * \left( \int_{-\infty}^{t} h(\tau) d\tau \right)(∫−∞tx(τ)dτ)∗h(t)=x(t)∗(∫−∞th(τ)dτ)
∑m=−∞ny[m]=(∑m=−∞nx[m])∗h[n]=x[n]∗(∑m=−∞nh[m])\sum_{m = -\infty}^{n} y[m] = \left( \sum_{m = -\infty}^{n} x[m] \right) * h[n] = x[n] * \left( \sum_{m = -\infty}^{n} h[m] \right)m=−∞∑ny[m]=(m=−∞∑nx[m])∗h[n]=x[n]∗(m=−∞∑nh[m])
冲激函数性质:
x(t)=x(t)∗δ(t)x(t) = x(t) * \delta(t)x(t)=x(t)∗δ(t)
x(t−t0)=x(t)∗δ(t−t0)x(t - t_0) = x(t) * \delta(t - t_0)x(t−t0)=x(t)∗δ(t−t0)
x[n]=x[n]∗δ[n]x[n] = x[n] * \delta[n]x[n]=x[n]∗δ[n]
x[n−n0]=x[n]∗δ[n−n0]x[n-n_0] = x[n] * \delta[n-n_0]x[n−n0]=x[n]∗δ[n−n0]
时移特性:
x(t−t0)∗h(t)=x(t)∗h(t−t0)x(t - t_0) * h(t) = x(t) * h(t - t_0)x(t−t0)∗h(t)=x(t)∗h(t−t0)
x[n−n0]∗h[n]=x[n]∗h[n−n0]x[n - n_0] * h[n] = x[n] * h[n - n_0]x[n−n0]∗h[n]=x[n]∗h[n−n0]

浙公网安备 33010602011771号