1. 信号与系统里那个绕不开的“奇异函数家族”
如果你正在学信号与系统,或者考研复习到冲激函数这一章,大概率会在某个深夜对着一堆带箭头的符号发呆——单位冲激、单位阶跃、单位斜坡、单位加速度,还有它们的导数、积分、缩放、卷积,长得像又不一样,性质一大堆,考试还特别爱考。我当年第一次接触“奇异函数”这个概念的时候,心里就一个想法:这玩意儿凭什么叫“奇异”?它到底奇在哪?
后来做项目、带学弟学妹、反复刷题,才慢慢把这一家子理清楚。所谓“奇异函数”,英文叫 singular functions,也叫广义函数,核心特征就是它们在常规函数意义下“不正常”——比如单位冲激函数 δ(t),它在 t=0 处取值无穷大,在其他地方取值为零,而且它的积分等于 1。你没法用普通函数图像把它画出来,只能用带箭头的竖线表示。但就是这么一个“不正经”的函数,撑起了整个线性时不变系统分析的半壁江山。
这篇笔记我打算把奇异函数家族从头到尾捋一遍:它们各自是什么、彼此之间什么关系、有哪些容易记混的性质、考试和实际分析里怎么用。适合正在学信号与系统的本科生、考研党,也适合工作中需要回顾卷积和系统冲激响应推导的工程师。我会尽量用生活化的类比把抽象概念讲清楚,同时把关键公式、推导逻辑、常见坑点都列出来,让你看完能直接上手做题和分析。
2. 奇异函数家族成员逐个拆解
2.1 单位阶跃函数:家族里的“开关”
单位阶跃函数通常记作 u(t),定义很直白:
- 当 t < 0 时,u(t) = 0
- 当 t > 0 时,u(t) = 1
- 在 t = 0 处,有的教材定义为 1,有的定义为 1/2,有的干脆不定义
你可以把它想象成一个理想开关:t=0 之前电路断开,输出为 0;t=0 之后电路接通,输出恒为 1。这个函数最大的作用就是“截断”——乘以 u(t) 就能把某个信号在 t<0 的部分全部砍掉,变成因果信号。
比如一个正弦信号 sin(t) 乘以 u(t),就变成了只在 t≥0 存在的正弦波。这在系统分析里太常见了,因为实际系统大多是因果系统,输入信号往往从某个时刻才开始加进去。
注意:u(t) 在 t=0 处的取值不影响积分和卷积结果,因为单点取值不影响积分值。考试里如果题目没特别说明,按教材定义来就行,不用纠结。
2.2 单位冲激函数:家族里的“原子弹”
单位冲激函数 δ(t) 是整个奇异函数家族的核心,也是最能体现“奇异”二字的成员。它的定义有两种等价方式:
第一种是狄拉克定义:
- δ(t) = 0,当 t ≠ 0
- ∫δ(t)dt = 1,积分区间包含 t=0
第二种是极限定义:δ(t) 可以看作某个窄脉冲函数在宽度趋于零、高度趋于无穷、面积保持为 1 时的极限。比如矩形脉冲、三角脉冲、高斯脉冲,取极限都能得到 δ(t)。
δ(t) 最核心的性质是筛选性质(也叫抽样性质):
∫x(t)δ(t - t₀)dt = x(t₀)
这个式子什么意思?就是说 δ(t - t₀) 像一个“采样器”,把连续信号 x(t) 在 t = t₀ 这一点的值“挑”出来。你可以把 δ(t) 想象成一把无限细、无限锋利的探针,它只在 t₀ 处有响应,其他地方完全没反应。
这个性质是后面卷积、傅里叶变换、拉普拉斯变换推导的基础,必须烂熟于心。
2.3 单位斜坡函数与单位加速度函数:积分链上的兄弟
单位斜坡函数记作 r(t),定义为:
- r(t) = t·u(t)
- 当 t < 0 时,r(t) = 0
- 当 t ≥ 0 时,r(t) = t
它其实就是 u(t) 的积分:r(t) = ∫u(τ)dτ,积分下限取负无穷。
单位加速度函数记作 a(t),定义为:
- a(t) = (t²/2)·u(t)
- 它是 r(t) 的积分,也是 u(t) 的二重积分
这三个函数构成了一条清晰的积分链:
δ(t) → u(t) → r(t) → a(t)
反过来就是微分链:
a(t) → r(t) → u(t) → δ(t)
但要注意,微分关系在 t=0 处有跳变,严格来说要用广义函数意义下的导数来理解。比如 u(t) 的导数就是 δ(t),r(t) 的导数是 u(t),这些在常规函数意义下不成立,但在广义函数框架下完全合法。
2.4 符号函数与单位冲激偶:家族里的“边缘成员”
符号函数 sgn(t) 定义为:
- t > 0 时,sgn(t) = 1
- t < 0 时,sgn(t) = -1
- t = 0 时,sgn(t) = 0
它和 u(t) 的关系是:u(t) = (1/2)[1 + sgn(t)],或者 sgn(t) = 2u(t) - 1。
单位冲激偶 δ'(t) 是 δ(t) 的导数,它的筛选性质是:
∫x(t)δ'(t - t₀)dt = -x'(t₀)
注意这里有个负号,很多人第一次记的时候会漏掉。冲激偶可以理解为“一对正负冲激无限靠近”的极限,在系统分析里用于描述某些高阶微分关系。
3. 奇异函数之间的运算关系与性质全梳理
3.1 积分与微分关系:一条主线串起全家
前面已经提到,奇异函数家族最核心的关系就是积分和微分。我把这条链再明确一下:
| 函数 | 表达式 | 微分关系 | 积分关系 |
|---|---|---|---|
| 冲激 δ(t) | 广义函数 | δ(t) = du(t)/dt | ∫δ(τ)dτ = u(t) |
| 阶跃 u(t) | t>0 为 1,t<0 为 0 | u(t) = dr(t)/dt | ∫u(τ)dτ = r(t) |
| 斜坡 r(t) | t·u(t) | r(t) = da(t)/dt | ∫r(τ)dτ = a(t) |
| 加速度 a(t) | (t²/2)·u(t) | — | — |
这张表建议直接背下来。考试里经常出现“已知某信号是另一个信号的二阶导数,求两者关系”这类题,有了这张表就能快速反应。
实操心得:我当年记这条链的时候,用了一个笨办法——每次做题前先在草稿纸角落写一遍 δ→u→r→a,然后标上箭头方向。写了大概二十遍之后,就再也没记混过。你也可以试试。
3.2 缩放与平移:变量替换的坑最多
奇异函数在变量替换时有一些特殊规则,尤其是 δ(t) 的缩放性质:
δ(at) = (1/|a|)·δ(t)
这个式子非常重要。它告诉我们,冲激函数在时间轴上压缩或展宽时,幅度会反向变化,保持面积不变。比如 δ(2t),时间压缩了 2 倍,幅度就变成原来的 1/2。
更一般地:
δ(at - b) = (1/|a|)·δ(t - b/a)
这个在解卷积和傅里叶变换时经常用到。
对于 u(t) 和 r(t),缩放规则就简单一些:
- u(at) = u(t),当 a > 0
- u(at) = u(-t),当 a < 0
- r(at) = a·r(t),当 a > 0
但要注意,u(t) 和 r(t) 在 t=0 处的跳变会导致某些运算需要分段处理。
3.3 卷积运算:奇异函数的主战场
卷积是信号与系统里最重要的运算之一,而奇异函数在卷积中扮演着“单位元”和“微分器/积分器”的角色。
核心结论:
- x(t) * δ(t) = x(t)
- x(t) * δ(t - t₀) = x(t - t₀)
- x(t) * u(t) = ∫x(τ)dτ,积分下限取负无穷
- x(t) * δ'(t) = x'(t)
这几个式子说明:
- δ(t) 是卷积的单位元,任何信号和它卷积都等于自己
- δ(t - t₀) 是延迟器,卷积后信号平移 t₀
- u(t) 是积分器,卷积后信号被积分
- δ'(t) 是微分器,卷积后信号被微分
这就解释了为什么线性时不变系统的冲激响应 h(t) 那么重要——因为系统输出 y(t) = x(t) * h(t)。如果 h(t) = δ(t),系统就是恒等系统;如果 h(t) = u(t),系统就是积分器;如果 h(t) = δ'(t),系统就是微分器。
注意:卷积运算中,如果两个信号都包含奇异函数,要小心处理。比如 u(t) * u(t) = r(t),δ(t) * δ(t) = δ(t),这些结论要能快速推导。
3.4 傅里叶变换与拉普拉斯变换中的奇异函数
奇异函数在频域和复频域里的表现也很有特点。
傅里叶变换:
- u(t) 的傅里叶变换是 1/(jω) + πδ(ω)
- δ(t) 的傅里叶变换是 1
- δ(t - t₀) 的傅里叶变换是 e^(-jωt₀)
- sgn(t) 的傅里叶变换是 2/(jω)
拉普拉斯变换:
- u(t) 的拉普拉斯变换是 1/s,收敛域 Re(s) > 0
- δ(t) 的拉普拉斯变换是 1,收敛域整个 s 平面
- r(t) 的拉普拉斯变换是 1/s²,收敛域 Re(s) > 0
这些变换对在解微分方程、分析系统频率响应时经常用到。特别是 δ(t) 的拉普拉斯变换等于 1,说明冲激函数包含所有频率成分,这也是为什么用冲激响应可以完整描述系统特性。
4. 实操演练:用奇异函数分析一个具体系统
4.1 问题设定与思路
假设有一个线性时不变系统,它的冲激响应是 h(t) = e^(-2t)·u(t)。现在输入信号是 x(t) = u(t) - u(t - 1),也就是一个宽度为 1 的矩形脉冲。求系统输出 y(t)。
这个题是信号与系统里非常典型的卷积应用题。思路很清晰:
y(t) = x(t) * h(t) = ∫x(τ)h(t - τ)dτ
因为 x(t) 是矩形脉冲,h(t) 是因果指数衰减,所以卷积结果会是一个先上升后衰减的波形。
4.2 分段计算过程
我们把 x(τ) 和 h(t - τ) 写出来:
x(τ) = 1,当 0 ≤ τ ≤ 1;否则为 0
h(t - τ) = e^(-2(t-τ))·u(t - τ)
u(t - τ) 要求 t - τ ≥ 0,即 τ ≤ t。
所以被积函数非零的条件是:0 ≤ τ ≤ 1 且 τ ≤ t。
接下来分情况讨论:
情况一:t < 0
此时 τ ≤ t 和 0 ≤ τ ≤ 1 没有交集,y(t) = 0。
情况二:0 ≤ t < 1
积分区间是 0 ≤ τ ≤ t:
y(t) = ∫₀ᵗ e^(-2(t-τ))dτ = e^(-2t)·∫₀ᵗ e^(2τ)dτ = e^(-2t)·(1/2)(e^(2t) - 1) = (1/2)(1 - e^(-2t))
情况三:t ≥ 1
积分区间是 0 ≤ τ ≤ 1:
y(t) = ∫₀¹ e^(-2(t-τ))dτ = e^(-2t)·∫₀¹ e^(2τ)dτ = e^(-2t)·(1/2)(e² - 1) = (1/2)(e² - 1)·e^(-2t)
整理一下:
- t < 0:y(t) = 0
- 0 ≤ t < 1:y(t) = (1/2)(1 - e^(-2t))
- t ≥ 1:y(t) = (1/2)(e² - 1)·e^(-2t)
这个结果可以用分段函数表示,也可以用 u(t) 和 u(t-1) 组合表示:
y(t) = (1/2)(1 - e^(-2t))·u(t) - (1/2)(1 - e^(-2(t-1)))·u(t - 1)
4.3 结果验证与物理意义
我们可以检查几个关键点:
- t = 0 时,y(0) = 0,符合初始条件
- t = 1 时,两种情况的结果应该连续:
- 从左边:y(1⁻) = (1/2)(1 - e^(-2))
- 从右边:y(1⁺) = (1/2)(e² - 1)·e^(-2) = (1/2)(1 - e^(-2))
- 两者相等,说明结果连续
- t → ∞ 时,y(t) → 0,因为指数衰减
这个结果符合物理直觉:矩形脉冲输入系统后,输出先上升,然后在脉冲结束后按指数规律衰减。
实操心得:做卷积题的时候,画图非常关键。我习惯先把 x(τ) 和 h(t-τ) 画在同一张图上,然后移动 h(t-τ),观察重叠区域的变化。这样分段点一目了然,不容易漏情况。尤其是涉及 u(t) 和 δ(t) 的题目,画图能帮你快速判断积分上下限。
5. 常见问题与避坑指南
5.1 冲激函数的乘积与平方
很多人会问:δ(t)·δ(t) 等于什么?δ²(t) 有意义吗?
严格来说,δ(t) 是广义函数,两个冲激函数相乘在常规意义下没有定义。但在某些工程近似中,如果两个冲激出现在不同位置,乘积为零;如果出现在同一位置,需要根据具体上下文处理。考试里一般不会考 δ(t)·δ(t),如果遇到,通常按广义函数理论处理,或者题目本身有误。
5.2 u(t) 在 t=0 处的取值
前面提到过,u(0) 的定义因教材而异。有的定义为 1,有的定义为 1/2,有的不定义。这个差异会影响某些涉及 u(t) 在原点处取值的计算,比如 u(t)·u(t) 在 t=0 处的值。
但好消息是,在积分、卷积、傅里叶变换等运算中,单点取值不影响结果。所以做题时如果题目没有特别说明,按你所用教材的定义来就行,不用纠结。
5.3 卷积积分上下限的确定
这是初学者最容易出错的地方。卷积积分:
y(t) = ∫x(τ)h(t - τ)dτ
积分上下限由 x(τ) 和 h(t - τ) 的非零区间共同决定。常见错误是直接写 ∫₋∞^∞,然后不知道下一步怎么算。
正确做法是:
- 写出 x(τ) 的非零区间
- 写出 h(t - τ) 的非零区间(通常包含 τ ≤ t 或 τ ≥ t 的条件)
- 求两个区间的交集
- 根据 t 的不同取值范围,分段讨论
这个流程看起来简单,但实际操作时容易漏情况。建议每道题都画图辅助。
5.4 微分性质中的符号问题
δ'(t) 的筛选性质是:
∫x(t)δ'(t - t₀)dt = -x'(t₀)
注意负号。这个负号来自分部积分:
∫x(t)δ'(t - t₀)dt = [x(t)δ(t - t₀)] - ∫x'(t)δ(t - t₀)dt = 0 - x'(t₀) = -x'(t₀)
很多人第一次记的时候会漏掉负号,导致后面推导全错。建议自己动手推一遍分部积分,理解负号的来源,比死记硬背强。
5.5 常见问题速查表
| 问题 | 错误做法 | 正确做法 |
|---|---|---|
| δ(at) 的缩放 | 直接写 δ(at) = δ(t) | δ(at) = (1/|a|)·δ(t) |
| u(t) 的导数 | 认为 u'(t) = 0(除 t=0 外) | u'(t) = δ(t) |
| 卷积上下限 | 直接写 ±∞ | 根据非零区间交集分段确定 |
| δ'(t) 筛选性质 | 漏掉负号 | ∫x(t)δ'(t-t₀)dt = -x'(t₀) |
| u(t)·u(t) | 认为等于 u(t) | 等于 u(t),但 t=0 处需按定义处理 |
6. 奇异函数在系统分析中的实际应用场景
6.1 系统冲激响应与阶跃响应
线性时不变系统有两个基本响应:冲激响应 h(t) 和阶跃响应 g(t)。它们的关系是:
g(t) = h(t) * u(t) = ∫h(τ)dτ
h(t) = g'(t) = dg(t)/dt
也就是说,阶跃响应是冲激响应的积分,冲激响应是阶跃响应的导数。这个关系在实验测量中非常有用:有时候直接测冲激响应很难(理想冲激信号不好产生),但测阶跃响应很容易(开关信号),然后通过微分得到冲激响应。
6.2 微分方程求解
用拉普拉斯变换解微分方程时,奇异函数帮我们统一处理初始条件。比如一个二阶系统:
y''(t) + 3y'(t) + 2y(t) = x(t)
两边取拉普拉斯变换,利用 u(t) 和 δ(t) 的变换对,可以把微分方程变成代数方程,然后求逆变换得到时域解。整个过程系统化、流程化,比直接解微分方程省事得多。
6.3 信号分解与重构
任何信号都可以分解成冲激函数的加权积分:
x(t) = ∫x(τ)δ(t - τ)dτ
这个式子看起来是废话,但它揭示了信号分解的核心思想:把复杂信号拆成无数个冲激的叠加。这正是卷积运算的物理基础,也是线性系统分析的理论基石。
同样,信号也可以分解成阶跃函数的叠加,或者斜坡函数的叠加,具体用哪种分解取决于系统特性。
6.4 采样定理与信号重建
虽然采样定理通常用冲激串来推导,但核心思想还是奇异函数的筛选性质。理想采样可以表示为:
x_s(t) = x(t)·∑δ(t - nT)
利用 δ(t) 的筛选性质,采样信号在 nT 时刻的值就是 x(nT)。然后通过理想低通滤波器重建原信号,整个过程都建立在奇异函数的理论框架上。
7. 我踩过的坑与复习建议
7.1 不要死记硬背,要理解推导
我刚开始学的时候,试图把奇异函数的所有性质都背下来,结果做题时一遇到变形就懵。后来改变策略,每次遇到一个性质,先自己推一遍。比如 δ(at) = (1/|a|)δ(t),我是通过变量替换和积分面积不变推出来的,推过三次之后就再也没忘过。
7.2 画图是王道
卷积、分段、积分上下限,这些容易出错的地方,画图都能帮你理清。我习惯用不同颜色的笔画出 x(τ) 和 h(t-τ),然后移动 h(t-τ),观察重叠区域的变化。这个方法虽然笨,但准确率极高。
7.3 多做综合题,少做单一知识点题
奇异函数的性质单独考并不难,难的是综合应用。比如一道题同时涉及冲激函数的缩放、卷积的平移、拉普拉斯变换的初值定理,这时候就需要对整套知识体系有整体把握。建议复习时多做综合题,把各个知识点串起来。
7.4 整理自己的公式卡片
我当年整理了一套公式卡片,正面写公式,背面写推导过程和适用条件。比如 δ(t) 的筛选性质,背面就写“适用于积分区间包含 t₀ 的情况,x(t) 在 t₀ 处连续”。这样复习时不仅能记住公式,还能记住什么时候能用、什么时候不能用。
7.5 用实际信号验证理论结果
学完卷积之后,我找了一段音频信号和一个简单的低通滤波器冲激响应,用代码做了一遍卷积,然后对比理论计算结果。虽然代码实现和理论推导有差异(离散 vs 连续),但整体趋势一致,这让我对卷积的物理意义有了更直观的理解。
8. 写在最后的一些个人体会
奇异函数这一章,刚学的时候觉得抽象、反直觉,但越往后学越发现它是整个信号与系统课程的骨架。傅里叶变换、拉普拉斯变换、Z变换、采样定理、滤波器设计,几乎每一个重要知识点都离不开 δ(t) 和 u(t)。把这一章吃透,后面的内容会顺很多。
我自己的经验是,学这一章不要急着刷题,先把几个核心函数的定义、图像、关系搞清楚,然后自己动手推导一遍关键性质,最后再通过做题巩固。做题时遇到卡壳的地方,回到定义和推导,往往就能找到突破口。
另外,如果你正在准备考试,建议把 δ(t) 的筛选性质、缩放性质、卷积性质,以及 u(t) 和 r(t) 的积分微分关系,作为最高优先级内容反复练习。这些是高频考点,也是后续章节的基础。把这些练到条件反射的程度,考试时能省下大量时间。
最后分享一个小技巧:每次做题前,先在草稿纸角落写一遍 δ→u→r→a 这条链,标上箭头和积分微分关系。这个动作只需要十秒钟,但能帮你快速进入状态,避免低级错误。我带了这么多届学生,坚持这个习惯的人,这一章的出错率明显更低。