2.4卷积3
文章学习自https://zhuanlan.zhihu.com/p/41609577,详细细节请读原文。
狄拉克 δ \delta δ 函数:
δ ( x ) = { + ∞ , x = 0 0 , x ≠ 0 \delta (x)={\begin{cases} +\infty ,& x=0\\ 0,& x\neq 0\end{cases}} δ(x)={+∞,0,x=0x=0
并且满足 ∫ − ∞ + ∞ δ ( x ) d x = 1 \int_{-\infty}^{+\infty}\delta(x)dx=1 ∫−∞+∞δ(x)dx=1
狄拉克δ函数在概念上,它是这么一个“函数”:在除了零以外的点函数值都等于零,而其在整个定义域上的积分等于1。严格来说δ函数不能算是一个函数,因为满足以上条件的函数是不存在的。
狄拉克函数有如下描述:
物理学中常常要研究一个物理量在空间或时间中分布的密度,例如质量密度、电荷密度、每单位时间传递的动量(力)等等,但是物理学中又常用到质点、点电荷、瞬时力等抽象模型,他们不是连续分布于空间或时间中,而是集中在空间中的某一点或者时间中的某一瞬时,那么它们的密度应该如何表示呢?——δ函数!
我们先研究一个简单的函数:一个矩形信号宽度是 τ \tau τ ,高度是 1 / τ 1/\tau 1/τ ,总的面积是1。这个矩形信号可以变形——可胖可瘦,但是要保证面积不变。
f ( t ) = { 1 / τ − τ / 2 ≤ t ≤ τ / 2 0 o t h e r s f(t)=\left\{ \begin{array}{rcl} 1/\tau & & {-\tau/2 \leq t \leq \tau/2}\\ 0 & & others\\ \end{array} \right. f(t)={1/τ0−τ/2≤t≤τ/2others
这个函数的傅里叶变换长什么样呢?也很简单:
F ( ω ) = ∫ − ∞ + ∞ f ( t ) e − i ω t d t = s i n ( ω τ / 2 ) ω τ / 2 = s i n ( x ) x ( x = ω τ / 2 ) F(\omega)=\int_{-\infty}^{+\infty}f(t)e^{-i\omega t}dt=\frac{sin({\omega \tau/2})}{{\omega \tau/2}}=\frac{sin(x)}{x} \quad (x=\omega \tau/2) F(ω)=∫−∞+∞f(t)e−iωtdt=ωτ/2sin(ωτ/2)=xsin(x)(x=ωτ/2)
前面说了,这个信号可胖可瘦,那胖瘦的时候有什么规律呢?
动图更形象的展示冲激函数。
clc; clear all; close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=10000; % sampling numbers
Tau0=1; % define initial Tau
for i=1:100
Tau=Tau0/i;
TimeRange=linspace(-10*Tau,10*Tau,N); % display time range
FreqRange=linspace(-200*pi/i,200*pi/i,N); % display frequency range
Half_Tau=Tau/2; % -0.5 Tao ==> 0.5 Tao
RECT=1/Tau*double(abs(TimeRange)<Half_Tau); % one rectangular pulse
SINC=sinc(FreqRange*Tau*pi); % sinc pulse, Xtra
subplot(2,1,1);
plot(TimeRange,RECT,'LineWidth',1.5); grid on;
xlim([-1 1]); ylim([-0.5 120]);
xlabel('Time'); ylabel('Amplitude');
title('Made by J Pan')
subplot(2,1,2);
plot(FreqRange,SINC,'LineWidth',1.5); grid on;
xlim([-200*pi/i 200*pi/i]); ylim([-0.5 1.5]);
xlabel('Frequency'); ylabel('Amplitude');
title('Made by J Pan')
drawnow;
end
假设这个信号也有爱美之心,以瘦为荣,天天不吃饭,以至于最后瘦成了一道闪电,比如 τ → 0 \tau\rightarrow0 τ→0,会出现什么结果呢?——我们发现,当这个信号到一定程度的时候,就变成了狄拉克 δ \delta δ 函数:
δ ( x ) = { + ∞ , x = 0 0 , x ≠ 0 \delta (x)={\begin{cases} +\infty ,& x=0\\ 0,& x\neq 0\end{cases}} δ(x)={+∞,0,x=0x=0
并且满足 ∫ − ∞ + ∞ δ ( x ) d x = 1 \int_{-\infty}^{+\infty}\delta(x)dx=1 ∫−∞+∞δ(x)dx=1
它的频谱也变得很简单了,变成了一条直线。
这个结论有什么意思呢?——δ函数包含了所有频率的分量。这个有啥用呢?用处大了去了,这就是一个天然的最理想的试验函数啊!只用一个函数就可以把系统的所有频率分量的响应激发出来,怎么样,带劲不带劲?换句话说,在输入为狄拉克δ函数时,系统的冲激响应包含了系统的所有信息,也就是说系统的理想**冲击响应就可以代表系统本身** ——我们用小锤敲一下系统,记录下来响应,就能够得到系统的模型了。
想要充分的了解一个函数,需要明白函数本身存在的意义,这里就点出了δ函数存在的意义。加上之前看过的一些内容,有了一些新的理解。
二、卷积是怎么个回事
挨板子的比喻比喻的比较好,也有人用拍耳光作为比喻,就不再引用了。
卷积公式本质上说系统(人)在连续激励下(挨板子)所的得到的结果(疼)。翻译的学术一点:卷积将是过去所有**连续信号经过系统的响应之后得到的在观察那一刻的加权叠加**。而现实生活中,我们就是要解大量的这种问题,这也就是为啥卷积这么常见这么重要的原因。
三、卷积定理又是个什么玩意
信号与系统或自动控制研究的内容是输入、输出及系统三者之间的关系。
在第一部分,我们说狄拉克函数(也就是单位脉冲函数)的傅里叶变换横贯在整个频域上,因此可以作为一个理想的测试信号来确定系统的在各个频率上的响应情况,也就是说可以用单位脉冲响应可以完整的表征系统的响应特性。
在第二部分的例子中,打板子可以看成是一种冲击或脉冲信号,系统的响应可以用卷积来计算。
h ( t ) = f ( t ) ∗ g ( t ) h(t)=f(t)\ast g(t) h(t)=f(t)∗g(t)
其中, f ( t ) f(t) f(t) 为激励信号, g ( t ) g(t) g(t) 为脉冲响应。这些都是在时域观察的,如果我们切换到频域,会是什么样?假设激励信号 f ( t ) f(t) f(t)的傅里叶变换为 F ( ω ) F(\omega) F(ω) ,脉冲响应 g ( t ) g(t) g(t) 的傅里叶变换为 G ( ω ) G(\omega) G(ω) ,输入 F ( ω ) F(\omega) F(ω)表示输入有哪些分量,系统单位脉冲响应 G ( ω ) G(\omega) G(ω) 表示每个分量会有怎样的响应,那两者相乘不就把输入的那些分量筛选出来了?——乘积是不是就代表系统的不同频率下响应?
卷积定理:函数卷积的傅立叶变换是函数傅立叶变换的乘积。具体分为时域卷积定理和频域卷积定理,时域卷积定理即时域内的卷积对应频域内的乘积;频域卷积定理即频域内的卷积对应时域内的乘积,两者具有对偶关系。
F [ f ( t ) ∗ g ( t ) ] = F ( ω ) ∙ G ( ω ) F[f(t)\ast g(t)]=F(\omega)\bullet G(\omega) F[f(t)∗g(t)]=F(ω)∙G(ω)
F [ f ( t ) ∙ g ( t ) ] = 1 2 π F ( ω ) ∗ G ( ω ) F[f(t)\bullet g(t)]=\frac{1}{2\pi}F(\omega)\ast G(\omega) F[f(t)∙g(t)]=2π1F(ω)∗G(ω)
这里又体现出来了傅里叶变换的对称美学。