冲激函数(Impulse Function)的数学定义
δ ( t ) = { ∞ t = 0 0 t ≠ 0 \delta(t) = \left\{\begin{matrix} \infty & t = 0 \\ 0 & t \neq 0 \end{matrix}\right. δ(t)={∞0t=0t=0
所谓冲激函数,它所表示的是在某一时刻有一个近乎无限大,而在其他时刻时什么也没有的特殊函数。而这样这样的函数它的积分又有如下性质:
∫ δ ( t ) d t = 1 \int \delta (t) dt = 1 ∫δ(t)dt=1
在数学领域,有很多这样被发明出来的工具,尽管证明这样的函数它的积分为什么是1而不是无穷,很困难。但是它在信号采样领域里却十分好用,所以接下来我们来看看它在信号采样里是怎么使用的。
对连续信号的采样
首先怎么理解冲激函数,如果把 t t t 理解为时间,它的概念就是一个幅度无限,然而持续时间近乎于0(不完全是0)的脉冲信号,或者尖峰信号(这当然是理想情况,事实上现实中任何信号都有一定程度的持续时间,或者称为衰减时间,这个持续时间往往 > t 0 > t_0 >t0 的)。
由于冲激函数的这个特点,使得它对于取样有如下的积分特性:
∫ f ( t ) δ ( t ) d t = f ( 0 ) \int f(t) \delta(t) dt = f(0) ∫f(t)δ(t)dt=f(0)
其中, f ( t ) f(t) f(t) 表示的是连续的信号,那么 f ( 0 ) f(0) f(0) 自然就表示对于连续信号 f ( t ) f(t) f(t) 在 t = 0 t = 0 t=0 处的幅值,或者说是函数 f ( t ) f(t) f(t) 在冲激位置的值,或者采样值。
听起来有点拗口?其实很好理解,因为 δ ( t ) \delta(t) δ(t) 只在 t = 0 t=0 t=0 时有值,而在其他位置都为0,所以 f ( t ) δ ( t ) → f ( 0 ) f(t) \delta(t) \rightarrow f(0) f(t)δ(t)→f(0),自然就可以得到:
∫ f ( t ) δ ( t ) d t = ∫ f ( 0 ) δ ( 0 ) d t 0 = f ( 0 ) ∫ δ ( 0 ) d t 0 = f ( 0 ) \int f(t) \delta(t) dt = \int f(0) \delta(0) dt_0 = f(0) \int \delta(0) dt_0 = f(0) ∫f(t)δ(t)dt=∫f(0)δ(0)dt0=f(0)∫δ(0)dt0=f(0)
冲激函数对任意位置的扩展应用
由于冲激函数与任何连续函数的乘积,最终只留下连续函数在冲激位置的值 这种特性,所以研究信号学领域的研究员们自然就产生了把这种只在 t = 0 t=0 t=0 时才有意义扩展应用到任意时刻的 t 0 t_0 t0。所以有了如下的公式推导:
∫ f ( t ) δ ( t − t 0 ) d t = f ( t 0 ) \int f(t) \delta(t - t_0) dt = f(t_0) ∫f(t)δ(t−t0)dt=f(t0)
这相当于给冲激函数装了一对轮子,让它可以从 t = 0 t = 0 t=0 滑动到任意的 t = t 0 t = t_0 t=t0 时刻。所以,如果 f ( t ) = c o s ( t ) f(t) = cos(t) f(t)=cos(t),那么根据上式试图需要得到 t = t − π t = t - \pi t=t−π 处的值,就可以带入公式
∫ f ( t ) δ ( t − ( t − π ) ) d t = ∫ f ( t ) δ ( π ) d t = f ( π ) = c o s π = − 1 \int f(t) \delta(t -(t-\pi)) dt = \int f(t) \delta(\pi) dt = f(\pi) = cos \pi = -1 ∫f(t)δ(t−(t−π))dt=∫f(t)δ(π)dt=f(π)=cosπ=−1
有点画蛇添足是不是?但是如果有一个非常复杂的函数,这个适合的取样概念就非常有用了。
对离散情况也适用
离散时,稍微跟连续的表达方式有所不同。首先由于记录离散数据实质是一个一个的点,所以通常没有连续的时间概念,时间 t t t 在离散公式里就改成了表示点的 x x x。
其次,在0点时,它的值是1,而不是无穷。
δ ( x ) = { 1 x = 0 0 x ≠ 0 \delta(x) = \left\{\begin{matrix} 1 & x = 0 \\ 0 & x \neq 0 \end{matrix}\right. δ(x)={10x=0x=0
所以其求和公式就表示为:
∑ δ ( x ) = 1 \sum \delta(x) = 1 ∑δ(x)=1
同样,离散的取样特性也表示为:
∑ f ( x ) δ ( x ) = f ( 0 ) \sum f(x) \delta(x) = f(0) ∑f(x)δ(x)=f(0)
或者表示为更一般的形式
∑ f ( x ) δ ( x − x 0 ) = f ( x 0 ) \sum f(x) \delta(x - x_0) = f(x_0) ∑f(x)δ(x−x0)=f(x0)
对信号的采样
现在我们有了采样的工具,是时候考虑一下对于连续信号的采样了。
现在我们在轴上按一定的间距 T 部署一系列的冲击函数,或者称为冲激串,依据冲激函数的特点于是就可以对上面这个信号进行采样。
S ( t ) = ∑ f ( x ) δ ( t − n T ) S(t) = \sum f(x) \delta (t - nT) S(t)=∑f(x)δ(t−nT)
通常我们在这里 S ( t ) S(t) S(t) 不表示为这组冲击函数的值的和,而是表示为冲激函数采样后数据的集合。
冲激函数的高级扩展
从冲激函数的概念,就可能很容易扩展出高级应用概念,比如说卷积、傅里叶分析等。而关于这些扩展内容,你可以参考我写的相关内容:
傅里叶分析
- 浅谈傅里叶——1. 从无穷级数到欧拉公式
- 浅谈傅里叶——2. 连续傅里叶公式推导与三角函数正交性
- 浅谈傅里叶——3. 傅立叶收敛性证明与非周期信号的推广
- 浅谈傅里叶——4. 傅里叶的特点分析与短时傅里叶
- 浅谈傅里叶——5. 短时傅里叶的缺点与卷积的基本概念
- 浅谈傅里叶——6. 采样、频率与一个简易的DFT函数
- 浅谈傅里叶——7. 带有相位信息的一维DFT实现方法
- 浅谈傅里叶——8. 一维iDFT的实现